def test_change_flag(self):
        # Flags are set in a second run of parted().
        # Between the two runs, the partition dict is updated.
        # use checkmode here allow us to continue even if the dictionary is
        # not updated.
        set_module_args({
            'device': '/dev/sdb',
            'number': 3,
            'state': 'present',
            'flags': ['lvm', 'boot'],
            '_ansible_check_mode': True,
        })

        with patch('ansible_collections.ansible.misc.plugins.modules.parted.get_device_info', return_value=parted_dict1):
            self.parted.reset_mock()
            self.execute_module(changed=True)
            # When using multiple flags:
            # order of execution is non deterministic, because set() operations are used in
            # the current implementation.
            expected_calls_order1 = [call('unit KiB set 3 lvm on set 3 boot on ',
                                          '/dev/sdb', 'optimal')]
            expected_calls_order2 = [call('unit KiB set 3 boot on set 3 lvm on ',
                                          '/dev/sdb', 'optimal')]
            self.assertTrue(self.parted.mock_calls == expected_calls_order1 or
                            self.parted.mock_calls == expected_calls_order2)
Exemple #2
0
 def test_get_resources_with_same_credential_names(self, client_mock,
                                                   display_mock):
     expected_result = [{
         'RESOURCE_TOKEN_1': 'token-5',
         'RESOURCE_TOKEN_2': 'token-6'
     }]
     client_mock.return_value.get_resources.return_value = API_FIXTURES[
         'https://api.marketplace.manifold.co/v1/resources?project_id=pid-2']
     client_mock.return_value.get_projects.return_value = API_FIXTURES[
         'https://api.marketplace.manifold.co/v1/projects?label=project-2']
     client_mock.return_value.get_credentials.side_effect = lambda x: API_FIXTURES[
         'https://api.marketplace.manifold.co/v1/'
         'credentials?resource_id={0}'.format(x)]
     self.assertListEqual(
         expected_result,
         self.lookup.run([], api_token='token-123', project='project-2'))
     client_mock.assert_called_with('token-123')
     display_mock.warning.assert_has_calls([
         call(
             "'RESOURCE_TOKEN_1' with label 'resource-1' was replaced by resource data with label 'resource-3'"
         ),
         call(
             "'RESOURCE_TOKEN_2' with label 'resource-1' was replaced by resource data with label 'resource-3'"
         )
     ],
                                           any_order=True)
     client_mock.return_value.get_resources.assert_called_with(
         team_id=None, project_id='pid-2')
 def test__argument_spec(self, ansible_mod_cls, _execute_module,
                         _setup_conn, setup_module):
     expected_arguments_spec = dict(
         login_user=dict(required=True),
         login_password=dict(required=True, no_log=True),
         command_options=dict(default='nodes',
                              choices=[
                                  'nodes', 'nodes_by_uuid',
                                  'nodes_by_chassis_uuid',
                                  'nodes_status_managed',
                                  'nodes_status_unmanaged'
                              ]),
         auth_url=dict(required=True),
         uuid=dict(default=None),
         chassis=dict(default=None),
     )
     _setup_conn.return_value = "Fake connection"
     _execute_module.return_value = []
     mod_obj = ansible_mod_cls.return_value
     args = {
         "auth_url": "https://10.243.30.195",
         "login_user": "******",
         "login_password": "******",
         "command_options": "nodes",
     }
     mod_obj.params = args
     lxca_nodes.main()
     assert (mock.call(
         argument_spec=expected_arguments_spec,
         supports_check_mode=False) == ansible_mod_cls.call_args)
 def test__nodes_empty_list(self, ansible_mod_cls, _get_nodes, _setup_conn,
                            setup_module):
     mod_obj = ansible_mod_cls.return_value
     args = {
         "auth_url": "https://10.243.30.195",
         "login_user": "******",
         "login_password": "******",
         "uuid": "3C737AA5E31640CE949B10C129A8B01F",
         "command_options": "nodes_by_uuid",
     }
     mod_obj.params = args
     _setup_conn.return_value = "Fake connection"
     empty_nodes_list = []
     _get_nodes.return_value = empty_nodes_list
     ret_nodes = _get_nodes(mod_obj, args)
     assert mock.call(mod_obj, mod_obj.params) == _get_nodes.call_args
     assert _get_nodes.return_value == ret_nodes
    def test_ensure_feature_is_enabled_called(self):
        self.set_module_state('present')
        from ansible_collections.ansible.misc.plugins.modules import netscaler_cs_policy

        client_mock = Mock()
        ensure_feature_is_enabled_mock = Mock()
        with patch.multiple(
                'ansible_collections.ansible.misc.plugins.modules.netscaler_cs_policy',
                get_nitro_client=Mock(return_value=client_mock),
                policy_exists=Mock(side_effect=[True, True]),
                nitro_exception=self.MockException,
                ensure_feature_is_enabled=ensure_feature_is_enabled_mock,
        ):
            self.module = netscaler_cs_policy
            result = self.exited()
            ensure_feature_is_enabled_mock.assert_has_calls(
                [call(client_mock, 'CS')])