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
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