1 # Copyright 2018 Whitestack, LLC
2 # Copyright 2018 Telefonica S.A.
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
8 # http://www.apache.org/licenses/LICENSE-2.0
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
16 # For those usages not covered by the Apache License, Version 2.0 please
17 # contact: esousa@whitestack.com or alfonso.tiernosepulveda@telefonica.com
22 from osm_common
.fsbase
import FsBase
, FsException
26 def exception_message(message
):
27 return "storage exception " + message
35 def test_constructor():
37 assert fs_base
is not None
38 assert isinstance(fs_base
, FsBase
)
41 def test_get_params(fs_base
):
42 params
= fs_base
.get_params()
43 assert isinstance(params
, dict)
44 assert len(params
) == 0
47 def test_fs_connect(fs_base
):
48 fs_base
.fs_connect(None)
51 def test_fs_disconnect(fs_base
):
52 fs_base
.fs_disconnect()
55 def test_mkdir(fs_base
):
56 with pytest
.raises(FsException
) as excinfo
:
58 assert str(excinfo
.value
).startswith(
59 exception_message("Method 'mkdir' not implemented")
61 assert excinfo
.value
.http_code
== http
.HTTPStatus
.INTERNAL_SERVER_ERROR
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")
70 assert excinfo
.value
.http_code
== http
.HTTPStatus
.INTERNAL_SERVER_ERROR
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")
79 assert excinfo
.value
.http_code
== http
.HTTPStatus
.INTERNAL_SERVER_ERROR
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")
88 assert excinfo
.value
.http_code
== http
.HTTPStatus
.INTERNAL_SERVER_ERROR
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")
97 assert excinfo
.value
.http_code
== http
.HTTPStatus
.INTERNAL_SERVER_ERROR
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")
106 assert excinfo
.value
.http_code
== http
.HTTPStatus
.INTERNAL_SERVER_ERROR