3 # Copyright (c) 2017 Cable Television Laboratories, Inc. and others.
5 # All rights reserved. This program and the accompanying materials
6 # are made available under the terms of the Apache License, Version 2.0
7 # which accompanies this distribution, and is available at
9 # http://www.apache.org/licenses/LICENSE-2.0
14 from snaps.openstack.os_credentials import OSCreds
16 from functest.core.testcase import TestCase
17 from functest.opnfv_tests.openstack.snaps import connection_check
20 class ConnectionCheckTesting(unittest.TestCase):
22 Ensures the VPingUserdata class can run in Functest. This test does not
23 actually connect with an OpenStack pod.
27 self.os_creds = OSCreds(
28 username='user', password='pass',
29 auth_url='http://foo.com:5000/v3', project_name='bar')
31 self.connection_check = connection_check.ConnectionCheck(
32 os_creds=self.os_creds, ext_net_name='foo')
34 @mock.patch('functest.opnfv_tests.openstack.snaps.connection_check.'
36 @mock.patch('snaps.test_suite_builder.add_openstack_client_tests')
37 def test_run_success(self, mock_test, add_os_client_tests):
38 result = mock.MagicMock(name='unittest.TextTestResult')
42 with mock.patch('unittest.TextTestRunner.run', return_value=result):
43 self.assertEquals(TestCase.EX_OK, self.connection_check.run())
44 self.assertEquals(TestCase.EX_OK,
45 self.connection_check.is_successful())
47 @mock.patch('functest.opnfv_tests.openstack.snaps.connection_check.'
49 @mock.patch('snaps.test_suite_builder.add_openstack_client_tests')
50 def test_run_1_of_100_failures(self, mock_test, add_os_client_tests):
51 result = mock.MagicMock(name='unittest.TextTestResult')
53 result.failures = ['foo']
55 with mock.patch('unittest.TextTestRunner.run', return_value=result):
56 self.assertEquals(TestCase.EX_OK, self.connection_check.run())
57 self.assertEquals(TestCase.EX_TESTCASE_FAILED,
58 self.connection_check.is_successful())
60 @mock.patch('functest.opnfv_tests.openstack.snaps.connection_check.'
62 @mock.patch('snaps.test_suite_builder.add_openstack_client_tests')
63 def test_run_1_of_100_failures_within_criteria(self, mock_test,
65 self.connection_check.criteria = 90
66 result = mock.MagicMock(name='unittest.TextTestResult')
68 result.failures = ['foo']
70 with mock.patch('unittest.TextTestRunner.run', return_value=result):
71 self.assertEquals(TestCase.EX_OK, self.connection_check.run())
72 self.assertEquals(TestCase.EX_OK,
73 self.connection_check.is_successful())