From 6efe98c7450dd3ba9d08ac29bc48cb97a6c5f937 Mon Sep 17 00:00:00 2001 From: spisarski Date: Fri, 26 May 2017 09:05:35 -0600 Subject: Added unit tests for the connection_check test case. JIRA: FUNCTEST-813 Change-Id: Ib851a3942e181b1a91cad695504613868a340d15 Signed-off-by: spisarski --- functest/tests/unit/openstack/snaps/__init__.py | 0 functest/tests/unit/openstack/snaps/test_snaps.py | 73 +++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 functest/tests/unit/openstack/snaps/__init__.py create mode 100644 functest/tests/unit/openstack/snaps/test_snaps.py (limited to 'functest/tests') diff --git a/functest/tests/unit/openstack/snaps/__init__.py b/functest/tests/unit/openstack/snaps/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/functest/tests/unit/openstack/snaps/test_snaps.py b/functest/tests/unit/openstack/snaps/test_snaps.py new file mode 100644 index 000000000..9cfcc0a69 --- /dev/null +++ b/functest/tests/unit/openstack/snaps/test_snaps.py @@ -0,0 +1,73 @@ +#!/usr/bin/env python + +# Copyright (c) 2017 Cable Television Laboratories, Inc. and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# +# http://www.apache.org/licenses/LICENSE-2.0 + +import mock +import unittest + +from snaps.openstack.os_credentials import OSCreds + +from functest.core.testcase import TestCase +from functest.opnfv_tests.openstack.snaps import connection_check + + +class ConnectionCheckTesting(unittest.TestCase): + """ + Ensures the VPingUserdata class can run in Functest. This test does not + actually connect with an OpenStack pod. + """ + + def setUp(self): + self.os_creds = OSCreds( + username='user', password='pass', + auth_url='http://foo.com:5000/v3', project_name='bar') + + self.connection_check = connection_check.ConnectionCheck( + os_creds=self.os_creds, ext_net_name='foo') + + @mock.patch('functest.opnfv_tests.openstack.snaps.connection_check.' + 'ConnectionCheck') + @mock.patch('snaps.test_suite_builder.add_openstack_client_tests') + def test_run_success(self, mock_test, add_os_client_tests): + result = mock.MagicMock(name='unittest.TextTestResult') + result.testsRun = 100 + result.failures = [] + result.errors = [] + with mock.patch('unittest.TextTestRunner.run', return_value=result): + self.assertEquals(TestCase.EX_OK, self.connection_check.run()) + self.assertEquals(TestCase.EX_OK, + self.connection_check.is_successful()) + + @mock.patch('functest.opnfv_tests.openstack.snaps.connection_check.' + 'ConnectionCheck') + @mock.patch('snaps.test_suite_builder.add_openstack_client_tests') + def test_run_1_of_100_failures(self, mock_test, add_os_client_tests): + result = mock.MagicMock(name='unittest.TextTestResult') + result.testsRun = 100 + result.failures = ['foo'] + result.errors = [] + with mock.patch('unittest.TextTestRunner.run', return_value=result): + self.assertEquals(TestCase.EX_OK, self.connection_check.run()) + self.assertEquals(TestCase.EX_TESTCASE_FAILED, + self.connection_check.is_successful()) + + @mock.patch('functest.opnfv_tests.openstack.snaps.connection_check.' + 'ConnectionCheck') + @mock.patch('snaps.test_suite_builder.add_openstack_client_tests') + def test_run_1_of_100_failures_within_criteria(self, mock_test, + add_os_client_tests): + self.connection_check.criteria = 90 + result = mock.MagicMock(name='unittest.TextTestResult') + result.testsRun = 100 + result.failures = ['foo'] + result.errors = [] + with mock.patch('unittest.TextTestRunner.run', return_value=result): + self.assertEquals(TestCase.EX_OK, self.connection_check.run()) + self.assertEquals(TestCase.EX_OK, + self.connection_check.is_successful()) -- cgit 1.2.3-korg