diff options
Diffstat (limited to 'functest/tests/unit/openstack/snaps')
-rw-r--r-- | functest/tests/unit/openstack/snaps/test_snaps.py | 169 |
1 files changed, 156 insertions, 13 deletions
diff --git a/functest/tests/unit/openstack/snaps/test_snaps.py b/functest/tests/unit/openstack/snaps/test_snaps.py index 9cfcc0a6..7cf53b39 100644 --- a/functest/tests/unit/openstack/snaps/test_snaps.py +++ b/functest/tests/unit/openstack/snaps/test_snaps.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python - # Copyright (c) 2017 Cable Television Laboratories, Inc. and others. # # All rights reserved. This program and the accompanying materials @@ -9,12 +7,14 @@ # http://www.apache.org/licenses/LICENSE-2.0 import mock +import os import unittest from snaps.openstack.os_credentials import OSCreds from functest.core.testcase import TestCase -from functest.opnfv_tests.openstack.snaps import connection_check +from functest.opnfv_tests.openstack.snaps import (connection_check, api_check, + health_check, smoke) class ConnectionCheckTesting(unittest.TestCase): @@ -31,10 +31,8 @@ class ConnectionCheckTesting(unittest.TestCase): 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): + def test_run_success(self, add_os_client_tests): result = mock.MagicMock(name='unittest.TextTestResult') result.testsRun = 100 result.failures = [] @@ -44,10 +42,8 @@ class ConnectionCheckTesting(unittest.TestCase): 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): + def test_run_1_of_100_failures(self, add_os_client_tests): result = mock.MagicMock(name='unittest.TextTestResult') result.testsRun = 100 result.failures = ['foo'] @@ -57,11 +53,8 @@ class ConnectionCheckTesting(unittest.TestCase): 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): + def test_run_1_of_100_failures_within_criteria(self, add_os_client_tests): self.connection_check.criteria = 90 result = mock.MagicMock(name='unittest.TextTestResult') result.testsRun = 100 @@ -71,3 +64,153 @@ class ConnectionCheckTesting(unittest.TestCase): self.assertEquals(TestCase.EX_OK, self.connection_check.run()) self.assertEquals(TestCase.EX_OK, self.connection_check.is_successful()) + + +class APICheckTesting(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.api_check = api_check.ApiCheck( + os_creds=self.os_creds, ext_net_name='foo') + + @mock.patch('snaps.test_suite_builder.add_openstack_api_tests') + def test_run_success(self, add_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.api_check.run()) + self.assertEquals(TestCase.EX_OK, + self.api_check.is_successful()) + + @mock.patch('snaps.test_suite_builder.add_openstack_api_tests') + def test_run_1_of_100_failures(self, add_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.api_check.run()) + self.assertEquals(TestCase.EX_TESTCASE_FAILED, + self.api_check.is_successful()) + + @mock.patch('snaps.test_suite_builder.add_openstack_api_tests') + def test_run_1_of_100_failures_within_criteria(self, add_tests): + self.api_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.api_check.run()) + self.assertEquals(TestCase.EX_OK, + self.api_check.is_successful()) + + +class HealthCheckTesting(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.health_check = health_check.HealthCheck( + os_creds=self.os_creds, ext_net_name='foo') + + @mock.patch('snaps.test_suite_builder.add_openstack_client_tests') + def test_run_success(self, add_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.health_check.run()) + self.assertEquals(TestCase.EX_OK, + self.health_check.is_successful()) + + @mock.patch('snaps.test_suite_builder.add_openstack_client_tests') + def test_run_1_of_100_failures(self, add_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.health_check.run()) + self.assertEquals(TestCase.EX_TESTCASE_FAILED, + self.health_check.is_successful()) + + @mock.patch('snaps.test_suite_builder.add_openstack_client_tests') + def test_run_1_of_100_failures_within_criteria(self, add_tests): + self.health_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.health_check.run()) + self.assertEquals(TestCase.EX_OK, + self.health_check.is_successful()) + + +class SmokeTesting(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.smoke = smoke.SnapsSmoke( + os_creds=self.os_creds, ext_net_name='foo') + + @mock.patch('snaps.test_suite_builder.add_openstack_integration_tests') + @mock.patch('os.path.join', return_value=os.getcwd()) + def test_run_success(self, add_tests, cwd): + 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.smoke.run()) + self.assertEquals(TestCase.EX_OK, + self.smoke.is_successful()) + + @mock.patch('snaps.test_suite_builder.add_openstack_integration_tests') + @mock.patch('os.path.join', return_value=os.getcwd()) + def test_run_1_of_100_failures(self, add_tests, cwd): + 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.smoke.run()) + self.assertEquals(TestCase.EX_TESTCASE_FAILED, + self.smoke.is_successful()) + + @mock.patch('snaps.test_suite_builder.add_openstack_integration_tests') + @mock.patch('os.path.join', return_value=os.getcwd()) + def test_run_1_of_100_failures_within_criteria(self, add_tests, cwd): + self.smoke.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.smoke.run()) + self.assertEquals(TestCase.EX_OK, + self.smoke.is_successful()) |