/******************************************************************** * Copyright (c) 2010 eBay Inc., and others. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 *******************************************************************/ package org.ebayopensource.turmeric.policy.adminui.client.model.policy; import java.util.ArrayList; import java.util.Collections; import java.util.List; import org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService.CreatePolicyResponse; import org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService.CreateSubjectGroupsResponse; import org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService.DeletePolicyResponse; import org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService.DeleteSubjectGroupResponse; import org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService.DisablePolicyResponse; import org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService.EnablePolicyResponse; import org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService.FindSubjectGroupsResponse; import org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService.FindSubjectsResponse; import org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService.GetPoliciesResponse; import org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService.GetResourcesResponse; import com.google.gwt.core.client.GWT; import com.google.gwt.user.client.rpc.AsyncCallback; /** * PolicyServiceImplTest. */ public class PolicyServiceImplTest { PolicyQueryService service; /** * Instantiates a new policy service impl test. * * @param service * the service */ public PolicyServiceImplTest (PolicyQueryService service) { this.service = service; } /** * Test. */ public void test () { testResources(); //testGetPoliciesByPolicyKey(); //testFindSubjects(); //testFindSubjectGroups(); //testCreatePolicy(); //testCreateSubjectGroups(); //testDeletePolicy(); //testEnablePolicy(); //testDisablePolicy(); //testDeleteSubjectGroups(); } /** * Test get policies by policy key. */ public void testGetPoliciesByPolicyKey() { PolicyKey key = new PolicyKey(); key.setType("BLACKLIST"); key.setName("Goofy"); key.setId(new Long(9)); QueryCondition condition = new QueryCondition(); condition.addQuery(new QueryCondition.Query(QueryCondition.ActivePoliciesOnlyValue.FALSE)); service.findPolicies(null, Collections.singletonList(key),null,null, null, null, null, condition, new AsyncCallback<GetPoliciesResponse>() { public void onFailure(Throwable arg0) { GWT.log("getPolicies failed "+arg0); } public void onSuccess(GetPoliciesResponse arg0) { GWT.log("getPolicies succeeded: "+arg0.getPolicies().size()); } }); } /** * Test resources. */ public void testResources () { ResourceKey key = new ResourceKey(); key.setType("SERVICE"); service.getResources(Collections.singletonList(key), new AsyncCallback<GetResourcesResponse>() { @Override public void onFailure(Throwable arg0) { GWT.log("getResources failed "+arg0); } @Override public void onSuccess(GetResourcesResponse arg0) { GWT.log("getResources succeeded: "+arg0.getResources().size()); } }); } /** * Test find subjects. */ public void testFindSubjects () { SubjectQuery query = new SubjectQuery(); SubjectKey key = new SubjectKey(); key.setType("USER"); key.setName("%foo%"); query.setSubjectKeys(Collections.singletonList(key)); service.findSubjects(query, new AsyncCallback<FindSubjectsResponse>() { @Override public void onFailure(Throwable arg0) { GWT.log("findSubjects failed "+arg0); } @Override public void onSuccess(FindSubjectsResponse arg0) { GWT.log("findSubjects succeeded: "+arg0.getSubjects().size()); } }); } /** * Test find subject groups. */ public void testFindSubjectGroups() { SubjectGroupQuery query = new SubjectGroupQuery(); SubjectGroupKey key = new SubjectGroupKey(); key.setName("%foo%"); key.setType("APP"); query.setGroupKeys(Collections.singletonList(key)); service.findSubjectGroups(query, new AsyncCallback<FindSubjectGroupsResponse>() { @Override public void onFailure(Throwable arg0) { GWT.log("findSubjectGroups failed "+arg0); } @Override public void onSuccess(FindSubjectGroupsResponse arg0) { GWT.log("findSubjectGroups succeeded: "+arg0.getGroups().size()); } }); } /** * Test create policy. */ public void testCreatePolicy () { GenericPolicyImpl policy = new GenericPolicyImpl(); policy.setType("BLACKLIST"); policy.setName("Honda"); policy.setDescription("FeeFiFoFum"); service.createPolicy(policy, new AsyncCallback<CreatePolicyResponse>() { @Override public void onFailure(Throwable arg0) { GWT.log("createPolicy failed "+arg0); } @Override public void onSuccess(CreatePolicyResponse arg0) { GWT.log("createPolicy succeeded: "+arg0.getPolicyId()); } }); } /** * Test create subject groups. */ public void testCreateSubjectGroups() { List<SubjectGroup> groups = new ArrayList<SubjectGroup>(); SubjectGroupImpl g = new SubjectGroupImpl(); g.setType("USER"); g.setName("FooGroupABCDEF"); g.setDescription("Babblebabblebabble"); // g.setSubjects(Arrays.asList(new String[] {"Sub1", "Sub2"})); groups.add(g); service.createSubjectGroups(groups, new AsyncCallback<CreateSubjectGroupsResponse>() { @Override public void onFailure(Throwable arg0) { GWT.log("createsubjectgroup failed "+arg0); } @Override public void onSuccess(CreateSubjectGroupsResponse arg0) { GWT.log("createsubjectgroup succeeded: "+arg0.getSubjectGroupIds().size()); } }); } /** * Test delete policy. */ public void testDeletePolicy() { PolicyKey key = new PolicyKey(); key.setId(new Long(100)); key.setName("FooPolicy"); key.setType("BLACKLIST"); service.deletePolicy(key, new AsyncCallback<DeletePolicyResponse>() { @Override public void onFailure(Throwable arg0) { GWT.log("deletePolicy failed "+arg0); } @Override public void onSuccess(DeletePolicyResponse arg0) { GWT.log("deletePolicy succeeded: "+arg0.isSuccess()); } }); } /** * Test disable policy. */ public void testDisablePolicy() { PolicyKey key = new PolicyKey(); key.setId(new Long(100)); key.setName("FooPolicy"); key.setType("BLACKLIST"); service.disablePolicy(key, new AsyncCallback<DisablePolicyResponse>() { @Override public void onFailure(Throwable arg0) { GWT.log("disablePolicy failed "+arg0); } @Override public void onSuccess(DisablePolicyResponse arg0) { GWT.log("disablePolicy succeeded: "); } }); } /** * Test enable policy. */ public void testEnablePolicy() { PolicyKey key = new PolicyKey(); key.setId(new Long(100)); key.setName("FooPolicy"); key.setType("BLACKLIST"); service.enablePolicy(key, new AsyncCallback<EnablePolicyResponse>() { @Override public void onFailure(Throwable arg0) { GWT.log("enablePolicy failed "+arg0); } @Override public void onSuccess(EnablePolicyResponse arg0) { GWT.log("enablePolicy succeeded: "); } }); } /** * Test delete subject groups. */ public void testDeleteSubjectGroups () { List<SubjectGroupKey> keys = new ArrayList<SubjectGroupKey>(); SubjectGroupKey key = new SubjectGroupKey(); key.setId(new Long(100)); key.setName("FooGroup"); key.setType("USER"); keys.add(key); service.deleteSubjectGroups(keys, new AsyncCallback<DeleteSubjectGroupResponse>() { @Override public void onFailure(Throwable arg0) { GWT.log("deletesubjectgroups failed "+arg0); } @Override public void onSuccess(DeleteSubjectGroupResponse arg0) { GWT.log("deletesubjectgroups succeeded: "); } }); } }