Reformat common to standardized format
[osm/common.git] / osm_common / tests / test_fsbase.py
1 # Copyright 2018 Whitestack, LLC
2 # Copyright 2018 Telefonica S.A.
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License"); you may
5 # not use this file except in compliance with the License. You may obtain
6 # a copy of the License at
7 #
8 # http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 # License for the specific language governing permissions and limitations
14 # under the License.
15 #
16 # For those usages not covered by the Apache License, Version 2.0 please
17 # contact: esousa@whitestack.com or alfonso.tiernosepulveda@telefonica.com
18 ##
19
20 import http
21 import pytest
22
23 from osm_common.fsbase import FsBase, FsException
24
25
26 def exception_message(message):
27 return "storage exception " + message
28
29
30 @pytest.fixture
31 def fs_base():
32 return FsBase()
33
34
35 def test_constructor():
36 fs_base = FsBase()
37 assert fs_base is not None
38 assert isinstance(fs_base, FsBase)
39
40
41 def test_get_params(fs_base):
42 params = fs_base.get_params()
43 assert isinstance(params, dict)
44 assert len(params) == 0
45
46
47 def test_fs_connect(fs_base):
48 fs_base.fs_connect(None)
49
50
51 def test_fs_disconnect(fs_base):
52 fs_base.fs_disconnect()
53
54
55 def test_mkdir(fs_base):
56 with pytest.raises(FsException) as excinfo:
57 fs_base.mkdir(None)
58 assert str(excinfo.value).startswith(
59 exception_message("Method 'mkdir' not implemented")
60 )
61 assert excinfo.value.http_code == http.HTTPStatus.INTERNAL_SERVER_ERROR
62
63
64 def test_file_exists(fs_base):
65 with pytest.raises(FsException) as excinfo:
66 fs_base.file_exists(None)
67 assert str(excinfo.value).startswith(
68 exception_message("Method 'file_exists' not implemented")
69 )
70 assert excinfo.value.http_code == http.HTTPStatus.INTERNAL_SERVER_ERROR
71
72
73 def test_file_size(fs_base):
74 with pytest.raises(FsException) as excinfo:
75 fs_base.file_size(None)
76 assert str(excinfo.value).startswith(
77 exception_message("Method 'file_size' not implemented")
78 )
79 assert excinfo.value.http_code == http.HTTPStatus.INTERNAL_SERVER_ERROR
80
81
82 def test_file_extract(fs_base):
83 with pytest.raises(FsException) as excinfo:
84 fs_base.file_extract(None, None)
85 assert str(excinfo.value).startswith(
86 exception_message("Method 'file_extract' not implemented")
87 )
88 assert excinfo.value.http_code == http.HTTPStatus.INTERNAL_SERVER_ERROR
89
90
91 def test_file_open(fs_base):
92 with pytest.raises(FsException) as excinfo:
93 fs_base.file_open(None, None)
94 assert str(excinfo.value).startswith(
95 exception_message("Method 'file_open' not implemented")
96 )
97 assert excinfo.value.http_code == http.HTTPStatus.INTERNAL_SERVER_ERROR
98
99
100 def test_file_delete(fs_base):
101 with pytest.raises(FsException) as excinfo:
102 fs_base.file_delete(None, None)
103 assert str(excinfo.value).startswith(
104 exception_message("Method 'file_delete' not implemented")
105 )
106 assert excinfo.value.http_code == http.HTTPStatus.INTERNAL_SERVER_ERROR