def test_create_policy_rule_idempotent_check(self, *args):
        set_module_args(
            dict(name="rule1",
                 state='present',
                 policy='policy1',
                 actions=[dict(type='forward', pool='baz')],
                 conditions=[
                     dict(type='http_uri', path_begins_with_any=['/ABC'])
                 ],
                 provider=dict(server='localhost',
                               password='******',
                               user='******')))

        current = ApiParameters(params=load_fixture(
            'load_ltm_policy_draft_rule_http-uri_forward.json'))
        module = AnsibleModule(
            argument_spec=self.spec.argument_spec,
            supports_check_mode=self.spec.supports_check_mode)

        # Override methods to force specific logic in the module to happen
        mm = ModuleManager(module=module)
        mm.exists = Mock(return_value=True)
        mm.read_current_from_device = Mock(return_value=current)
        mm.draft_exists = Mock(return_value=False)
        mm.update_on_device = Mock(return_value=True)
        mm._create_existing_policy_draft_on_device = Mock(return_value=True)
        mm.publish_on_device = Mock(return_value=True)

        results = mm.exec_module()

        assert results['changed'] is True
Example #2
0
 def test_api_parameters(self):
     args = load_fixture('load_ltm_policy_draft_rule_http-uri_forward.json')
     p = ApiParameters(params=args)
     assert len(p.actions) == 1
     assert len(p.conditions) == 1