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
23 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(exception_message("Method 'mkdir' not implemented"))
59 assert excinfo
.value
.http_code
== http
.HTTPStatus
.INTERNAL_SERVER_ERROR
62 def test_file_exists(fs_base
):
63 with pytest
.raises(FsException
) as excinfo
:
64 fs_base
.file_exists(None)
65 assert str(excinfo
.value
).startswith(exception_message("Method 'file_exists' not implemented"))
66 assert excinfo
.value
.http_code
== http
.HTTPStatus
.INTERNAL_SERVER_ERROR
69 def test_file_size(fs_base
):
70 with pytest
.raises(FsException
) as excinfo
:
71 fs_base
.file_size(None)
72 assert str(excinfo
.value
).startswith(exception_message("Method 'file_size' not implemented"))
73 assert excinfo
.value
.http_code
== http
.HTTPStatus
.INTERNAL_SERVER_ERROR
76 def test_file_extract(fs_base
):
77 with pytest
.raises(FsException
) as excinfo
:
78 fs_base
.file_extract(None, None)
79 assert str(excinfo
.value
).startswith(exception_message("Method 'file_extract' not implemented"))
80 assert excinfo
.value
.http_code
== http
.HTTPStatus
.INTERNAL_SERVER_ERROR
83 def test_file_open(fs_base
):
84 with pytest
.raises(FsException
) as excinfo
:
85 fs_base
.file_open(None, None)
86 assert str(excinfo
.value
).startswith(exception_message("Method 'file_open' not implemented"))
87 assert excinfo
.value
.http_code
== http
.HTTPStatus
.INTERNAL_SERVER_ERROR
90 def test_file_delete(fs_base
):
91 with pytest
.raises(FsException
) as excinfo
:
92 fs_base
.file_delete(None, None)
93 assert str(excinfo
.value
).startswith(exception_message("Method 'file_delete' not implemented"))
94 assert excinfo
.value
.http_code
== http
.HTTPStatus
.INTERNAL_SERVER_ERROR