+++ /dev/null
-# -*- coding: utf8 -*-
-# ============LICENSE_START====================================================
-# org.onap.vvp/validation-scripts
-# ===================================================================
-# Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-# ===================================================================
-#
-# Unless otherwise specified, all software contained herein is licensed
-# under the Apache License, Version 2.0 (the "License");
-# you may not use this software 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.
-#
-#
-#
-# Unless otherwise specified, all documentation contained herein is licensed
-# under the Creative Commons License, Attribution 4.0 Intl. (the "License");
-# you may not use this documentation except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# https://creativecommons.org/licenses/by/4.0/
-#
-# Unless required by applicable law or agreed to in writing, documentation
-# 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.
-#
-# ============LICENSE_END============================================
-#
-#
-
-from io import StringIO
-
-import pytest
-import yaml
-
-import vvp
-
-DEFAULT_CONFIG = """
-ui:
- app-name: VNF Validation Tool
-categories:
- - name: Environment File Compliance. (Required to Onboard)
- category: environment_file
- description:
- Checks certain parameters are excluded from the .env file, per HOT Requirements.
- Required for ASDC onboarding, not needed for manual Openstack testing.
-settings:
- polling-freqency: 1000
- default-verbosity: Standard
-"""
-
-
-# noinspection PyShadowingNames
-@pytest.fixture(scope="module")
-def config():
- return vvp.Config(yaml.safe_load(StringIO(DEFAULT_CONFIG)))
-
-
-def test_app_name(config):
- assert "VNF Validation Tool" in config.app_name
- assert vvp.VERSION in config.app_name
-
-
-def test_categories_names_length(config):
- names = config.category_names
- assert len(names) == 1
- assert names[0] == "Environment File Compliance. (Required to Onboard)"
-
-
-def test_polling_frequency(config):
- assert config.polling_frequency == 1000
-
-
-def test_get_category_when_other(config):
- assert (
- config.get_category("Environment File Compliance. (Required to Onboard)")
- == "environment_file"
- )
-
-
-def test_default_verbosity(config):
- assert config.default_verbosity(vvp.ValidatorApp.VERBOSITY_LEVELS) == "Standard (-v)"
-
-
-def test_queues(config):
- assert config.log_queue.empty(), "Log should start empty"
- config.log_file.write("Test")
- assert config.log_queue.get() == "Test"
-
- assert config.status_queue.empty(), "status should start empty"
- config.status_queue.put((True, None))
- assert config.status_queue.get() == (True, None)
-
-
-MISSING_CATEGORY_FIELD = """
-ui:
- app-name: VNF Validation Tool
-categories:
- - description: |
- Runs all default validations that apply to all VNF packages
- regardless of deployment environment
-settings:
- polling-freqency: 1000
-"""
-
-
-def test_missing_category_fields():
- settings = yaml.safe_load(StringIO(MISSING_CATEGORY_FIELD))
- with pytest.raises(RuntimeError) as e:
- vvp.Config(settings)
- assert "Missing: name" in str(e)
-
-
-def test_default_output_format(config):
- assert config.default_report_format == "HTML"
-
-
-def test_output_formats(config):
- for format in ["CSV", "HTML", "Excel"]:
- assert format in config.report_formats
-
-
-def test_category_names(config):
- assert "Environment File Compliance. (Required to Onboard)" in config.category_names
-
-
-def test_default_input_format(config):
- assert "Directory (Uncompressed)" == config.default_input_format
-
-
-def test_input_formats(config):
- assert "Directory (Uncompressed)" in config.input_formats
- assert "ZIP File" in config.input_formats