diff options
author | Krzysztof Frukacz <krzysztof.frukacz@gigaspaces.com> | 2017-01-31 08:03:29 +0100 |
---|---|---|
committer | Krzysztof Frukacz <krzysztof.frukacz@gigaspaces.com> | 2017-01-31 09:37:10 +0100 |
commit | 8418568d784533505d9f176b259680cccec0ab65 (patch) | |
tree | df3ff7ca6137095d6bcd91d8c13d4e4a0dfdab9b /tests | |
parent | 056955f18a4deb5b9aa6dfc1745fc61e9a66c0cc (diff) |
Add unit tests
Added unit tests with tox configuration
Change-Id: I99a5107689c0df198cdc22e6272176b8c4747896
Signed-off-by: Krzysztof Frukacz <krzysztof.frukacz@gigaspaces.com>
Issue-id: VNFSDK-60
Diffstat (limited to 'tests')
-rw-r--r-- | tests/__init__.py | 19 | ||||
-rw-r--r-- | tests/cli/__init__.py | 16 | ||||
-rw-r--r-- | tests/cli/test_cli.py | 26 | ||||
-rw-r--r-- | tests/packager/__init__.py | 16 | ||||
-rw-r--r-- | tests/packager/test_package.py | 37 | ||||
-rw-r--r-- | tests/requirements.txt | 22 | ||||
-rw-r--r-- | tests/resources/csar/test_entry.yaml | 23 |
7 files changed, 159 insertions, 0 deletions
diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..d78727c --- /dev/null +++ b/tests/__init__.py @@ -0,0 +1,19 @@ +# +# Copyright (c) 2017 GigaSpaces Technologies Ltd. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# + +import os + +ROOT_DIR = os.path.dirname(os.path.dirname(__file__)) diff --git a/tests/cli/__init__.py b/tests/cli/__init__.py new file mode 100644 index 0000000..a9e8dd2 --- /dev/null +++ b/tests/cli/__init__.py @@ -0,0 +1,16 @@ +# +# Copyright (c) 2017 GigaSpaces Technologies Ltd. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# + diff --git a/tests/cli/test_cli.py b/tests/cli/test_cli.py new file mode 100644 index 0000000..0be9ec6 --- /dev/null +++ b/tests/cli/test_cli.py @@ -0,0 +1,26 @@ +#
+# Copyright (c) 2017 GigaSpaces Technologies Ltd. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+
+import pytest
+from cli import __main__
+
+def test_main(capsys):
+ with pytest.raises(SystemExit):
+ args = __main__.parse_args(['csar-create', '-h'])
+ args.func(args)
+ out, err = capsys.readouterr()
+ assert out.startswith('usage:')
+
diff --git a/tests/packager/__init__.py b/tests/packager/__init__.py new file mode 100644 index 0000000..a9e8dd2 --- /dev/null +++ b/tests/packager/__init__.py @@ -0,0 +1,16 @@ +# +# Copyright (c) 2017 GigaSpaces Technologies Ltd. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# + diff --git a/tests/packager/test_package.py b/tests/packager/test_package.py new file mode 100644 index 0000000..f0c27d4 --- /dev/null +++ b/tests/packager/test_package.py @@ -0,0 +1,37 @@ +# +# Copyright (c) 2017 GigaSpaces Technologies Ltd. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +import filecmp +from packager import csar +import logging +import tempfile +import shutil + +def test_CSARWrite(): + CSAR_RESOURCE_DIR = 'tests/resources/csar' + CSAR_ENTRY_FILE = 'test_entry.yaml' + CSAR_OUTPUT_FILE = 'output.csar' + + csar_target_dir = tempfile.mkdtemp() + csar_extract_dir = tempfile.mkdtemp() + try: + csar.write(CSAR_RESOURCE_DIR, CSAR_ENTRY_FILE, csar_target_dir + '/' + CSAR_OUTPUT_FILE, logging) + csar.read(csar_target_dir + '/' + CSAR_OUTPUT_FILE, csar_extract_dir, logging) + assert filecmp.cmp(CSAR_RESOURCE_DIR + '/' + CSAR_ENTRY_FILE, csar_extract_dir + '/' + CSAR_ENTRY_FILE ) + finally: + shutil.rmtree(csar_target_dir, ignore_errors=True) + shutil.rmtree(csar_extract_dir, ignore_errors=True) + + diff --git a/tests/requirements.txt b/tests/requirements.txt new file mode 100644 index 0000000..9a91772 --- /dev/null +++ b/tests/requirements.txt @@ -0,0 +1,22 @@ +# +# Copyright (c) 2017 GigaSpaces Technologies Ltd. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# + +testtools +mock==1.0.1 +pylint==1.6.4 +pytest==3.0.2 +pytest-cov==2.3.1 +pytest-mock==1.2
\ No newline at end of file diff --git a/tests/resources/csar/test_entry.yaml b/tests/resources/csar/test_entry.yaml new file mode 100644 index 0000000..d1aed3c --- /dev/null +++ b/tests/resources/csar/test_entry.yaml @@ -0,0 +1,23 @@ +#
+# Copyright (c) 2017 GigaSpaces Technologies Ltd. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+topology_template:
+ node_templates:
+ test_node:
+ type: tosca.nodes.Compute
+
|