blob: e545343cd3783b688dba7d1ec2fdc9088100ba99 [file] [log] [blame]
Eduardo Sousa4d611d32018-05-09 19:20:37 +01001import http
2import pytest
3
4from osm_common.fsbase import FsBase, FsException
5
tiernob20a9022018-05-22 12:07:05 +02006
Eduardo Sousa4d611d32018-05-09 19:20:37 +01007def exception_message(message):
8 return "storage exception " + message
9
tiernob20a9022018-05-22 12:07:05 +020010
Eduardo Sousa4d611d32018-05-09 19:20:37 +010011@pytest.fixture
12def fs_base():
13 return FsBase()
14
tiernob20a9022018-05-22 12:07:05 +020015
Eduardo Sousa4d611d32018-05-09 19:20:37 +010016def test_constructor():
17 fs_base = FsBase()
tiernob20a9022018-05-22 12:07:05 +020018 assert fs_base is not None
Eduardo Sousa4d611d32018-05-09 19:20:37 +010019 assert isinstance(fs_base, FsBase)
20
tiernob20a9022018-05-22 12:07:05 +020021
Eduardo Sousa4d611d32018-05-09 19:20:37 +010022def test_get_params(fs_base):
23 params = fs_base.get_params()
Eduardo Sousa4d611d32018-05-09 19:20:37 +010024 assert isinstance(params, dict)
25 assert len(params) == 0
26
tiernob20a9022018-05-22 12:07:05 +020027
Eduardo Sousa4d611d32018-05-09 19:20:37 +010028def test_fs_connect(fs_base):
29 fs_base.fs_connect(None)
30
tiernob20a9022018-05-22 12:07:05 +020031
Eduardo Sousa4d611d32018-05-09 19:20:37 +010032def test_fs_disconnect(fs_base):
33 fs_base.fs_disconnect()
34
tiernob20a9022018-05-22 12:07:05 +020035
Eduardo Sousa4d611d32018-05-09 19:20:37 +010036def test_mkdir(fs_base):
37 with pytest.raises(FsException) as excinfo:
38 fs_base.mkdir(None)
39 assert str(excinfo.value).startswith(exception_message("Method 'mkdir' not implemented"))
40 assert excinfo.value.http_code == http.HTTPStatus.INTERNAL_SERVER_ERROR
41
tiernob20a9022018-05-22 12:07:05 +020042
Eduardo Sousa4d611d32018-05-09 19:20:37 +010043def test_file_exists(fs_base):
44 with pytest.raises(FsException) as excinfo:
45 fs_base.file_exists(None)
46 assert str(excinfo.value).startswith(exception_message("Method 'file_exists' not implemented"))
47 assert excinfo.value.http_code == http.HTTPStatus.INTERNAL_SERVER_ERROR
48
tiernob20a9022018-05-22 12:07:05 +020049
Eduardo Sousa4d611d32018-05-09 19:20:37 +010050def test_file_size(fs_base):
51 with pytest.raises(FsException) as excinfo:
52 fs_base.file_size(None)
53 assert str(excinfo.value).startswith(exception_message("Method 'file_size' not implemented"))
54 assert excinfo.value.http_code == http.HTTPStatus.INTERNAL_SERVER_ERROR
55
tiernob20a9022018-05-22 12:07:05 +020056
Eduardo Sousa4d611d32018-05-09 19:20:37 +010057def test_file_extract(fs_base):
58 with pytest.raises(FsException) as excinfo:
59 fs_base.file_extract(None, None)
60 assert str(excinfo.value).startswith(exception_message("Method 'file_extract' not implemented"))
61 assert excinfo.value.http_code == http.HTTPStatus.INTERNAL_SERVER_ERROR
62
tiernob20a9022018-05-22 12:07:05 +020063
Eduardo Sousa4d611d32018-05-09 19:20:37 +010064def test_file_open(fs_base):
65 with pytest.raises(FsException) as excinfo:
66 fs_base.file_open(None, None)
67 assert str(excinfo.value).startswith(exception_message("Method 'file_open' not implemented"))
68 assert excinfo.value.http_code == http.HTTPStatus.INTERNAL_SERVER_ERROR
69
tiernob20a9022018-05-22 12:07:05 +020070
Eduardo Sousa4d611d32018-05-09 19:20:37 +010071def test_file_delete(fs_base):
72 with pytest.raises(FsException) as excinfo:
73 fs_base.file_delete(None, None)
74 assert str(excinfo.value).startswith(exception_message("Method 'file_delete' not implemented"))
75 assert excinfo.value.http_code == http.HTTPStatus.INTERNAL_SERVER_ERROR