Exemple #1
0
 def test_wait_for_requests_to_complete_no_wait(self):
     mock_request_list = self.build_mock_request_list(status='failed')
     params = {'wait': False}
     self.module.params = params
     under_test = ClcGroup(self.module)._wait_for_requests_to_complete
     under_test(mock_request_list)
     self.assertFalse(self.module.fail_json.called)
Exemple #2
0
    def test_ensure_group_is_present_parent_and_group_exist(self):

        # Setup Test
        mock_group = mock.MagicMock()
        mock_group.name = "MockGroup"

        mock_parent = mock.MagicMock()
        mock_parent.name = "MockParent"
        mock_parent.Create.return_value = mock_group

        mock_grandparent = mock.MagicMock()
        mock_grandparent.name = "MockGrandparent"

        mock_rootgroup = mock.MagicMock()
        mock_rootgroup.name = "MockRootGroup"

        mock_group_dict = {
            mock_parent.name: (mock_parent, mock_grandparent),
            mock_group.name: (mock_group, mock_parent)
        }

        under_test = ClcGroup(self.module)
        under_test.group_dict = mock_group_dict
        under_test.root_group = mock_rootgroup

        # Test
        result_changed, result_group = under_test._ensure_group_is_present(
            group_name=mock_group.name,
            parent_name=mock_parent.name,
            group_description="Mock Description")
        # Assert Expected Result
        self.assertFalse(result_changed)
        self.assertEqual(result_group, mock_group)
        self.assertFalse(self.module.fail_json.called)
Exemple #3
0
    def test_delete_group_exception(self):
        # Setup Test
        mock_group = mock.MagicMock()
        mock_group.name = "test"

        error = CLCException('Failed')
        error.response_text = 'group failed'
        mock_group.Delete.side_effect = error

        mock_parent = mock.MagicMock()
        mock_parent.name = "MockParent"

        mock_grandparent = mock.MagicMock()
        mock_grandparent.name = "MockGrandparent"

        mock_rootgroup = mock.MagicMock()
        mock_rootgroup.name = "MockRootGroup"

        mock_group_dict = {
            mock_parent.name: (mock_parent, mock_grandparent),
            mock_group.name: (mock_group, mock_parent)
        }

        under_test = ClcGroup(self.module)
        under_test.group_dict = mock_group_dict
        under_test.root_group = mock_rootgroup
        ret = under_test._delete_group('test')
        self.assertIsNone(ret, 'The return value should be None')
        self.module.fail_json.assert_called_once_with(
            msg='Failed to delete group :test. group failed')
Exemple #4
0
    def test_ensure_group_is_present_parent_not_exist(self):

        # Setup Test
        mock_group = mock.MagicMock()
        mock_group.name = "MockGroup"

        mock_parent = mock.MagicMock()
        mock_parent.name = "MockParent"

        mock_rootgroup = mock.MagicMock()
        mock_rootgroup.name = "MockRootGroup"

        mock_group_dict = {}

        under_test = ClcGroup(self.module)
        under_test.group_dict = mock_group_dict
        under_test.root_group = mock_rootgroup

        # Test
        result_changed, result_group = under_test._ensure_group_is_present(
            group_name=mock_group.name,
            parent_name=mock_parent.name,
            group_description="Mock Description")
        # Assert Expected Result
        self.module.fail_json.assert_called_once_with(
            msg="parent group: " + mock_parent.name + " does not exist")
Exemple #5
0
 def test_set_clc_credentials_from_env(self, mock_clc_sdk):
     with patch.dict('os.environ', {
             'CLC_V2_API_TOKEN': 'dummyToken',
             'CLC_ACCT_ALIAS': 'TEST'
     }):
         under_test = ClcGroup(self.module)
         under_test._set_clc_credentials_from_env()
     self.assertEqual(under_test.clc._LOGIN_TOKEN_V2, 'dummyToken')
     self.assertFalse(mock_clc_sdk.v2.SetCredentials.called)
     self.assertEqual(self.module.fail_json.called, False)
Exemple #6
0
 def test_walk_groups_recursive(self, mock_clc_sdk):
     mock_child_group = mock.MagicMock()
     sub_group = mock.MagicMock()
     grp1 = mock.MagicMock()
     grp1.type = 'default'
     grp2 = mock.MagicMock()
     sub_group.groups = [grp1, grp2]
     mock_child_group.Subgroups.return_value = sub_group
     under_test = ClcGroup(self.module)
     res = under_test._walk_groups_recursive('parent', mock_child_group)
     self.assertIsNotNone(res)
Exemple #7
0
    def test_clc_set_credentials_w_creds(self):
        with patch.dict('os.environ', {
                'CLC_V2_API_USERNAME': '******',
                'CLC_V2_API_PASSWD': 'falcon'
        }):
            with patch.object(clc_group, 'clc_sdk') as mock_clc_sdk:
                under_test = ClcGroup(self.module)
                under_test._set_clc_credentials_from_env()

        mock_clc_sdk.v2.SetCredentials.assert_called_once_with(
            api_username='******', api_passwd='falcon')
Exemple #8
0
    def test_override_v2_api_url_from_environment(self):
        original_url = clc_sdk.defaults.ENDPOINT_URL_V2
        under_test = ClcGroup(self.module)

        under_test._set_clc_credentials_from_env()
        self.assertEqual(clc_sdk.defaults.ENDPOINT_URL_V2, original_url)

        with patch.dict('os.environ',
                        {'CLC_V2_API_URL': 'http://unittest.example.com/'}):
            under_test._set_clc_credentials_from_env()

        self.assertEqual(clc_sdk.defaults.ENDPOINT_URL_V2,
                         'http://unittest.example.com/')

        clc_sdk.defaults.ENDPOINT_URL_V2 = original_url
Exemple #9
0
    def test_ensure_group_is_absent_group_not_exists(self):

        # Setup Test
        mock_group = mock.MagicMock()
        mock_group.name = "MockGroup"

        mock_parent = mock.MagicMock()
        mock_parent.name = "MockParent"

        mock_group_dict = {}

        under_test = ClcGroup(self.module)
        under_test.group_dict = mock_group_dict

        # Test
        result_changed, result_group, response = under_test._ensure_group_is_absent(
            group_name=mock_group.name, parent_name=mock_parent.name)
        # Assert Expected Result
        self.assertEqual(result_changed, False)
        self.assertFalse(mock_group.Delete.called)
Exemple #10
0
    def test_ensure_group_is_absent_group_exists(self):

        # Setup Test
        mock_group = mock.MagicMock()
        mock_group.name = "MockGroup"

        mock_parent = mock.MagicMock()
        mock_parent.name = "MockParent"

        mock_group_dict = {mock_group.name: (mock_group, mock_parent)}

        self.module.check_mode = False
        under_test = ClcGroup(self.module)
        under_test.group_dict = mock_group_dict

        # Test
        result_changed, result_group, result = under_test._ensure_group_is_absent(
            group_name=mock_group.name, parent_name=mock_parent.name)
        # Assert Expected Result
        self.assertEqual(result_changed, True)
        assert mock_group.Delete.call_count == 1
Exemple #11
0
    def test_process_request_state_present(self, mock_set_creds, mock_clc_sdk):
        self.module.params = {
            'location': 'UC1',
            'name': 'MyCoolGroup',
            'parent': 'Default Group',
            'description': 'Test Group',
            'state': 'present',
            'wait': 'True'
        }
        mock_group = mock.MagicMock()
        mock_group.data = {"name": "MyCoolGroup"}

        under_test = ClcGroup(self.module)
        under_test.set_clc_credentials_from_env = mock.MagicMock()
        under_test._ensure_group_is_present = mock.MagicMock(
            return_value=(True, mock_group))

        under_test.process_request()

        self.assertFalse(self.module.fail_json.called)
        self.module.exit_json.assert_called_once_with(changed=True,
                                                      group=mock_group.data)
Exemple #12
0
 def test_wait_for_requests_to_complete_req_failed(self):
     mock_request_list = self.build_mock_request_list(status='failed')
     under_test = ClcGroup(self.module)._wait_for_requests_to_complete
     under_test(mock_request_list)
     self.module.fail_json.assert_called_once_with(
         msg='Unable to process group request')
Exemple #13
0
 def test_wait_for_requests_to_complete_req_successful(self):
     mock_request_list = self.build_mock_request_list(status='succeeded')
     under_test = ClcGroup(self.module)._wait_for_requests_to_complete
     under_test(mock_request_list)
     self.assertFalse(self.module.fail_json.called)
Exemple #14
0
    def test_clc_set_credentials_w_no_creds(self):
        with patch.dict('os.environ', {}, clear=True):
            under_test = ClcGroup(self.module)
            under_test._set_clc_credentials_from_env()

        self.assertEqual(self.module.fail_json.called, True)