You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by jb...@apache.org on 2013/01/02 16:37:38 UTC
svn commit: r1427826 - in /syncope/trunk:
client/src/main/java/org/apache/syncope/client/mod/
client/src/main/java/org/apache/syncope/services/
core/src/test/java/org/apache/syncope/core/rest/
Author: jbernhardt
Date: Wed Jan 2 15:37:37 2013
New Revision: 1427826
URL: http://svn.apache.org/viewvc?rev=1427826&view=rev
Log:
[SYNCOPE-259]
Introduces RoleService Interface and RoleServiceProxy which is used for Integration-Tests
Added:
syncope/trunk/client/src/main/java/org/apache/syncope/client/mod/StatusMod.java
syncope/trunk/client/src/main/java/org/apache/syncope/services/RoleService.java
syncope/trunk/client/src/main/java/org/apache/syncope/services/RoleServiceProxy.java
Modified:
syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/AbstractTest.java
syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/RoleTestITCase.java
syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/SearchTestITCase.java
Added: syncope/trunk/client/src/main/java/org/apache/syncope/client/mod/StatusMod.java
URL: http://svn.apache.org/viewvc/syncope/trunk/client/src/main/java/org/apache/syncope/client/mod/StatusMod.java?rev=1427826&view=auto
==============================================================================
--- syncope/trunk/client/src/main/java/org/apache/syncope/client/mod/StatusMod.java (added)
+++ syncope/trunk/client/src/main/java/org/apache/syncope/client/mod/StatusMod.java Wed Jan 2 15:37:37 2013
@@ -0,0 +1,121 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.client.mod;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElementWrapper;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+import org.apache.syncope.client.AbstractBaseBean;
+
+@XmlType
+@XmlRootElement
+public class StatusMod extends AbstractBaseBean {
+
+ public enum Status {
+ ACTIVATE, REACTIVATE, SUSPEND;
+ }
+
+ public StatusMod(long id, Status status) {
+ this.id = id;
+ this.status = status;
+ }
+
+ public StatusMod() {
+ }
+
+ private Status status;
+
+ private String token;
+
+ private static final long serialVersionUID = 1338094801957616986L;
+
+ private long id;
+
+ private boolean updateInternal = true;
+
+ private boolean updateRemote = true;
+
+ private final Set<String> excludeResources = new HashSet<String>();
+
+ public long getId() {
+ return id;
+ }
+
+ public void setId(long id) {
+ this.id = id;
+ }
+
+ public boolean isUpdateInternal() {
+ return updateInternal;
+ }
+
+ public void setUpdateInternal(boolean updateInternal) {
+ this.updateInternal = updateInternal;
+ }
+
+ public boolean isUpdateRemote() {
+ return updateRemote;
+ }
+
+ public void setUpdateRemote(boolean updateRemote) {
+ this.updateRemote = updateRemote;
+ }
+
+ @XmlElementWrapper(name = "excludeResources")
+ @XmlElement(name = "resource")
+ public Set<String> getExcludeResources() {
+ return excludeResources;
+ }
+
+ /**
+ * @return the status
+ */
+ public Status getStatus() {
+ return status;
+ }
+
+ /**
+ * @param status
+ * the status to set
+ */
+ public void setStatus(Status status) {
+ this.status = status;
+ }
+
+ /**
+ * @return the token
+ */
+ public String getToken() {
+ return token;
+ }
+
+ /**
+ * @param token
+ * the token to set
+ */
+ public void setToken(String token) {
+ this.token = token;
+ }
+
+}
Added: syncope/trunk/client/src/main/java/org/apache/syncope/services/RoleService.java
URL: http://svn.apache.org/viewvc/syncope/trunk/client/src/main/java/org/apache/syncope/services/RoleService.java?rev=1427826&view=auto
==============================================================================
--- syncope/trunk/client/src/main/java/org/apache/syncope/services/RoleService.java (added)
+++ syncope/trunk/client/src/main/java/org/apache/syncope/services/RoleService.java Wed Jan 2 15:37:37 2013
@@ -0,0 +1,93 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.services;
+
+import java.util.List;
+
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+
+import org.apache.syncope.client.mod.RoleMod;
+import org.apache.syncope.client.search.NodeCond;
+import org.apache.syncope.client.to.RoleTO;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+@Path("/role")
+@RequestMapping("/role")
+public interface RoleService {
+
+ @GET
+ @Path("/{roleId}/children")
+ @RequestMapping(method = RequestMethod.GET, value = "/children/{roleId}")
+ List<RoleTO> children(@PathParam("roleId") @PathVariable("roleId") final Long roleId);
+
+ @POST
+ @Path("/")
+ @RequestMapping(method = RequestMethod.POST, value = "/create")
+ RoleTO create(@RequestBody final RoleTO roleTO);
+
+ @DELETE
+ @Path("/{roleId}")
+ @RequestMapping(method = RequestMethod.GET, value = "/delete/{roleId}")
+ RoleTO delete(@PathParam("roleId") @PathVariable("roleId") final Long roleId);
+
+ @GET
+ @RequestMapping(method = RequestMethod.GET, value = "/list")
+ List<RoleTO> list();
+
+ @GET
+ @Path("/{roleId}/parent")
+ @RequestMapping(method = RequestMethod.GET, value = "/parent/{roleId}")
+ RoleTO parent(@PathParam("roleId") @PathVariable("roleId") final Long roleId);
+
+ @GET
+ @Path("/{roleId}")
+ @RequestMapping(method = RequestMethod.GET, value = "/read/{roleId}")
+ RoleTO read(@PathParam("roleId") @PathVariable("roleId") final Long roleId);
+
+
+ @RequestMapping(method = RequestMethod.POST, value = "/search")
+ List<RoleTO> search(@RequestBody final NodeCond searchCondition);
+
+ @RequestMapping(method = RequestMethod.POST, value = "/search/{page}/{size}")
+ List<RoleTO> search(@RequestBody final NodeCond searchCondition,
+ @PathVariable("page") final int page,
+ @PathVariable("size") final int size);
+
+ @RequestMapping(method = RequestMethod.POST, value = "/search/count")
+ int searchCount(@RequestBody final NodeCond searchCondition);
+
+ /**
+ * @deprecated Authentication checks should not depend on the method called
+ */
+ @Deprecated
+ @RequestMapping(method = RequestMethod.GET, value = "/selfRead/{roleId}")
+ RoleTO selfRead(@PathVariable("roleId") final Long roleId);
+
+ @POST
+ @Path("/{roleId}")
+ @RequestMapping(method = RequestMethod.POST, value = "/update")
+ RoleTO update(@PathParam("roleId") final Long roleId, @RequestBody final RoleMod roleMod);
+}
\ No newline at end of file
Added: syncope/trunk/client/src/main/java/org/apache/syncope/services/RoleServiceProxy.java
URL: http://svn.apache.org/viewvc/syncope/trunk/client/src/main/java/org/apache/syncope/services/RoleServiceProxy.java?rev=1427826&view=auto
==============================================================================
--- syncope/trunk/client/src/main/java/org/apache/syncope/services/RoleServiceProxy.java (added)
+++ syncope/trunk/client/src/main/java/org/apache/syncope/services/RoleServiceProxy.java Wed Jan 2 15:37:37 2013
@@ -0,0 +1,105 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.services;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.syncope.client.mod.RoleMod;
+import org.apache.syncope.client.search.NodeCond;
+import org.apache.syncope.client.to.RoleTO;
+import org.springframework.web.client.RestTemplate;
+
+public class RoleServiceProxy implements RoleService {
+
+ RestTemplate restTemplate;
+ private String baseUrl;
+
+ public RoleServiceProxy(String baseUrl, RestTemplate restTemplate) {
+ this.baseUrl = baseUrl;
+ this.restTemplate = restTemplate;
+ }
+
+ @Override
+ public List<RoleTO> children(Long roleId) {
+ return Arrays.asList(restTemplate.getForObject(baseUrl
+ + "role/children/{roleId}.json", RoleTO[].class, roleId));
+ }
+
+ @Override
+ public RoleTO create(RoleTO roleTO) {
+ return restTemplate.postForObject(baseUrl + "role/create", roleTO,
+ RoleTO.class);
+ }
+
+ @Override
+ public RoleTO delete(Long roleId) {
+ return restTemplate.getForObject(baseUrl + "role/delete/{roleId}",
+ RoleTO.class, roleId);
+ }
+
+ @Override
+ public List<RoleTO> list() {
+ return Arrays.asList(restTemplate.getForObject(baseUrl
+ + "role/list.json", RoleTO[].class));
+ }
+
+ @Override
+ public RoleTO parent(Long roleId) {
+ return restTemplate.getForObject(baseUrl + "role/parent/{roleId}.json",
+ RoleTO.class, roleId);
+ }
+
+ @Override
+ public RoleTO read(Long roleId) {
+ return restTemplate.getForObject(baseUrl + "role/read/{roleId}.json",
+ RoleTO.class, roleId);
+ }
+
+ @Override
+ public List<RoleTO> search(NodeCond searchCondition) {
+ return Arrays.asList(restTemplate.postForObject(
+ baseUrl + "role/search", searchCondition, RoleTO[].class));
+ }
+
+ @Override
+ public List<RoleTO> search(NodeCond searchCondition, int page, int size) {
+ return Arrays.asList(restTemplate.postForObject(
+ baseUrl + "role/search/{page}/{size}", searchCondition, RoleTO[].class, page, size));
+ }
+
+ @Override
+ public int searchCount(NodeCond searchCondition) {
+ return restTemplate.postForObject(baseUrl + "role/search/count.json",
+ searchCondition, Integer.class);
+ }
+
+ @Override
+ public RoleTO selfRead(Long roleId) {
+ return restTemplate.getForObject(baseUrl + "role/selfRead/{roleId}",
+ RoleTO.class, roleId);
+ }
+
+ @Override
+ public RoleTO update(Long roleId, RoleMod roleMod) {
+ return restTemplate.postForObject(baseUrl + "role/update", roleMod,
+ RoleTO.class);
+ }
+
+}
Modified: syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/AbstractTest.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/AbstractTest.java?rev=1427826&r1=1427825&r2=1427826&view=diff
==============================================================================
--- syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/AbstractTest.java (original)
+++ syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/AbstractTest.java Wed Jan 2 15:37:37 2013
@@ -19,11 +19,13 @@
package org.apache.syncope.core.rest;
import javax.sql.DataSource;
+
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.syncope.client.http.PreemptiveAuthHttpRequestFactory;
import org.apache.syncope.client.mod.AttributeMod;
import org.apache.syncope.client.to.AttributeTO;
+import org.apache.syncope.services.RoleServiceProxy;
import org.apache.syncope.services.UserService;
import org.apache.syncope.services.UserServiceProxy;
import org.junit.Before;
@@ -36,57 +38,66 @@ import org.springframework.test.context.
import org.springframework.web.client.RestTemplate;
@RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(locations = {"classpath:restClientContext.xml", "classpath:testJDBCContext.xml"})
+@ContextConfiguration(locations = { "classpath:restClientContext.xml",
+ "classpath:testJDBCContext.xml" })
public abstract class AbstractTest {
- protected static AttributeTO attributeTO(final String schema, final String value) {
- AttributeTO attr = new AttributeTO();
- attr.setSchema(schema);
- attr.addValue(value);
- return attr;
- }
-
- protected static AttributeMod attributeMod(final String schema, final String valueToBeAdded) {
- AttributeMod attr = new AttributeMod();
- attr.setSchema(schema);
- attr.addValueToBeAdded(valueToBeAdded);
- return attr;
- }
-
- /**
- * Logger.
- */
- protected static final Logger LOG = LoggerFactory.getLogger(AbstractTest.class);
+ protected static AttributeTO attributeTO(final String schema,
+ final String value) {
+ AttributeTO attr = new AttributeTO();
+ attr.setSchema(schema);
+ attr.addValue(value);
+ return attr;
+ }
+
+ protected static AttributeMod attributeMod(final String schema,
+ final String valueToBeAdded) {
+ AttributeMod attr = new AttributeMod();
+ attr.setSchema(schema);
+ attr.addValueToBeAdded(valueToBeAdded);
+ return attr;
+ }
+
+ /**
+ * Logger.
+ */
+ protected static final Logger LOG = LoggerFactory
+ .getLogger(AbstractTest.class);
- protected static final String BASE_URL = "http://localhost:9080/syncope/rest/";
+ protected static final String BASE_URL = "http://localhost:9080/syncope/rest/";
- public static final String ADMIN_UID = "admin";
+ public static final String ADMIN_UID = "admin";
- public static final String ADMIN_PWD = "password";
+ public static final String ADMIN_PWD = "password";
- @Autowired
- protected RestTemplate restTemplate;
+ @Autowired
+ protected RestTemplate restTemplate;
protected UserService userService;
-
- @Autowired
- protected DataSource testDataSource;
-
- protected RestTemplate anonymousRestTemplate() {
- return new RestTemplate();
- }
-
- public void setupRestTemplate(final String uid, final String pwd) {
- PreemptiveAuthHttpRequestFactory requestFactory =
- ((PreemptiveAuthHttpRequestFactory) restTemplate.getRequestFactory());
-
- ((DefaultHttpClient) requestFactory.getHttpClient()).getCredentialsProvider().setCredentials(
- requestFactory.getAuthScope(), new UsernamePasswordCredentials(uid, pwd));
- }
-
- @Before
- public void resetRestTemplate() {
- setupRestTemplate(ADMIN_UID, ADMIN_PWD);
- userService = new UserServiceProxy(BASE_URL, restTemplate);
- }
+
+ protected RoleServiceProxy roleService;
+
+ @Autowired
+ protected DataSource testDataSource;
+
+ protected RestTemplate anonymousRestTemplate() {
+ return new RestTemplate();
+ }
+
+ public void setupRestTemplate(final String uid, final String pwd) {
+ PreemptiveAuthHttpRequestFactory requestFactory = ((PreemptiveAuthHttpRequestFactory) restTemplate
+ .getRequestFactory());
+
+ ((DefaultHttpClient) requestFactory.getHttpClient())
+ .getCredentialsProvider().setCredentials(
+ requestFactory.getAuthScope(),
+ new UsernamePasswordCredentials(uid, pwd));
+ }
+
+ @Before
+ public void resetRestTemplate() {
+ setupRestTemplate(ADMIN_UID, ADMIN_PWD);
+ userService = new UserServiceProxy(BASE_URL, restTemplate);
+ roleService = new RoleServiceProxy(BASE_URL, restTemplate);
+ }
}
Modified: syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/RoleTestITCase.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/RoleTestITCase.java?rev=1427826&r1=1427825&r2=1427826&view=diff
==============================================================================
--- syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/RoleTestITCase.java (original)
+++ syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/RoleTestITCase.java Wed Jan 2 15:37:37 2013
@@ -18,11 +18,16 @@
*/
package org.apache.syncope.core.rest;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.List;
+
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.syncope.client.http.PreemptiveAuthHttpRequestFactory;
@@ -42,358 +47,372 @@ import org.springframework.web.client.Ht
@FixMethodOrder(MethodSorters.JVM)
public class RoleTestITCase extends AbstractTest {
- @Test
- public void createWithException() {
- RoleTO newRoleTO = new RoleTO();
- newRoleTO.addAttribute(attributeTO("attr1", "value1"));
-
- Throwable t = null;
- try {
- restTemplate.postForObject(BASE_URL + "role/create", newRoleTO, RoleTO.class);
- fail();
- } catch (SyncopeClientCompositeErrorException sccee) {
- t = sccee.getException(SyncopeClientExceptionType.InvalidSyncopeRole);
- }
- assertNotNull(t);
- }
-
- @Test
- public void create() {
- RoleTO roleTO = new RoleTO();
- roleTO.setName("lastRole");
- roleTO.setParent(8L);
-
- // verify inheritance password and account policies
- roleTO.setInheritAccountPolicy(false);
- // not inherited so setter execution shouldn't be ignored
- roleTO.setAccountPolicy(6L);
-
- roleTO.setInheritPasswordPolicy(true);
- // inherited so setter execution should be ignored
- roleTO.setPasswordPolicy(2L);
-
- roleTO.addAttribute(attributeTO("icon", "anIcon"));
-
- roleTO.addDerivedAttribute(attributeTO("ownerDN", null));
-
- roleTO.addVirtualAttribute(attributeTO("rvirtualdata", "rvirtualvalue"));
-
- roleTO.setRoleOwner(8L);
-
- roleTO.addResource("resource-ldap");
-
- roleTO = restTemplate.postForObject(BASE_URL + "role/create", roleTO, RoleTO.class);
- assertNotNull(roleTO);
-
- assertNotNull(roleTO.getVirtualAttributeMap());
- assertNotNull(roleTO.getVirtualAttributeMap().get("rvirtualdata").getValues());
- assertFalse(roleTO.getVirtualAttributeMap().get("rvirtualdata").getValues().isEmpty());
- assertEquals("rvirtualvalue", roleTO.getVirtualAttributeMap().get("rvirtualdata").getValues().get(0));
-
- assertNotNull(roleTO.getAccountPolicy());
- assertEquals(6L, (long) roleTO.getAccountPolicy());
-
- assertNotNull(roleTO.getPasswordPolicy());
- assertEquals(4L, (long) roleTO.getPasswordPolicy());
-
- assertTrue(roleTO.getResources().contains("resource-ldap"));
-
- ConnObjectTO connObjectTO = restTemplate.getForObject(BASE_URL
- + "/resource/resource-ldap/read/ROLE/lastRole.json", ConnObjectTO.class);
- assertNotNull(connObjectTO);
- assertNotNull(connObjectTO.getAttributeMap().get("owner"));
- }
-
- @Test
- public void createWithPasswordPolicy() {
- RoleTO roleTO = new RoleTO();
- roleTO.setName("roleWithPassword");
- roleTO.setParent(8L);
- roleTO.setPasswordPolicy(4L);
-
- RoleTO actual = restTemplate.postForObject(BASE_URL + "role/create", roleTO, RoleTO.class);
- assertNotNull(actual);
-
- actual = restTemplate.getForObject(BASE_URL + "role/read/{roleId}.json", RoleTO.class, actual.getId());
- assertNotNull(actual);
- assertNotNull(actual.getPasswordPolicy());
- assertEquals(4L, (long) actual.getPasswordPolicy());
- }
-
- @Test
- public void delete() {
- try {
- restTemplate.getForObject(BASE_URL + "role/delete/{roleId}", RoleTO.class, 0);
- } catch (HttpStatusCodeException e) {
- assertEquals(HttpStatus.NOT_FOUND, e.getStatusCode());
- }
-
- RoleTO roleTO = new RoleTO();
- roleTO.setName("toBeDeleted");
- roleTO.setParent(8L);
-
- roleTO.addResource("resource-ldap");
-
- roleTO = restTemplate.postForObject(BASE_URL + "role/create", roleTO, RoleTO.class);
- assertNotNull(roleTO);
-
- RoleTO deletedRole = restTemplate.getForObject(BASE_URL + "role/delete/{roleId}", RoleTO.class, roleTO.getId());
- assertNotNull(deletedRole);
-
- try {
- restTemplate.getForObject(BASE_URL + "role/read/{roleId}.json", RoleTO.class, deletedRole.getId());
- } catch (HttpStatusCodeException e) {
- assertEquals(HttpStatus.NOT_FOUND, e.getStatusCode());
- }
- }
-
- @Test
- public void list() {
- List<RoleTO> roleTOs = Arrays.asList(restTemplate.getForObject(BASE_URL + "role/list.json", RoleTO[].class));
- assertNotNull(roleTOs);
- assertTrue(roleTOs.size() >= 8);
- for (RoleTO roleTO : roleTOs) {
- assertNotNull(roleTO);
- }
- }
-
- @Test
- public void parent() {
- RoleTO roleTO = restTemplate.getForObject(BASE_URL + "role/parent/{roleId}.json", RoleTO.class, 7);
-
- assertNotNull(roleTO);
- assertEquals(roleTO.getId(), 6L);
- }
-
- @Test
- public void read() {
- RoleTO roleTO = restTemplate.getForObject(BASE_URL + "role/read/{roleId}.json", RoleTO.class, 1);
-
- assertNotNull(roleTO);
- assertNotNull(roleTO.getAttributes());
- assertFalse(roleTO.getAttributes().isEmpty());
- }
-
- @Test
- public void selfRead() {
- UserTO userTO = restTemplate.getForObject(BASE_URL + "user/read/{userId}", UserTO.class, 1);
- assertNotNull(userTO);
-
- assertTrue(userTO.getMembershipMap().containsKey(1L));
- assertFalse(userTO.getMembershipMap().containsKey(3L));
-
- PreemptiveAuthHttpRequestFactory requestFactory =
- (PreemptiveAuthHttpRequestFactory) restTemplate.getRequestFactory();
- ((DefaultHttpClient) requestFactory.getHttpClient()).getCredentialsProvider().setCredentials(
- requestFactory.getAuthScope(), new UsernamePasswordCredentials("user1", "password"));
-
- SyncopeClientException exception = null;
- try {
- restTemplate.getForObject(BASE_URL + "role/selfRead/{roleId}", RoleTO.class, 3);
- fail();
- } catch (SyncopeClientCompositeErrorException e) {
- exception = e.getException(SyncopeClientExceptionType.UnauthorizedRole);
- }
- assertNotNull(exception);
-
- RoleTO roleTO = restTemplate.getForObject(BASE_URL + "role/selfRead/{roleId}", RoleTO.class, 1);
- assertNotNull(roleTO);
- assertNotNull(roleTO.getAttributes());
- assertFalse(roleTO.getAttributes().isEmpty());
-
- // restore admin authentication
- super.resetRestTemplate();
- }
-
- @Test
- public void update() {
- RoleTO roleTO = new RoleTO();
- roleTO.setName("latestRole");
- roleTO.setParent(8L);
-
- // verify inheritance password and account policies
- roleTO.setInheritAccountPolicy(false);
- // not inherited so setter execution shouldn't be ignored
- roleTO.setAccountPolicy(6L);
-
- roleTO.setInheritPasswordPolicy(true);
- // inherited so setter execution should be ignored
- roleTO.setPasswordPolicy(2L);
-
- roleTO.addAttribute(attributeTO("icon", "anIcon"));
-
- roleTO.addResource("resource-ldap");
-
- roleTO = restTemplate.postForObject(BASE_URL + "role/create", roleTO, RoleTO.class);
-
- assertEquals(1, roleTO.getAttributes().size());
-
- assertNotNull(roleTO.getAccountPolicy());
- assertEquals(Long.valueOf(6), roleTO.getAccountPolicy());
-
- assertNotNull(roleTO.getPasswordPolicy());
- assertEquals(Long.valueOf(4), roleTO.getPasswordPolicy());
-
- RoleMod roleMod = new RoleMod();
- roleMod.setId(roleTO.getId());
- roleMod.setName("finalRole");
- roleMod.addAttributeToBeUpdated(attributeMod("show", "FALSE"));
-
- // change password policy inheritance
- roleMod.setInheritPasswordPolicy(Boolean.FALSE);
-
- roleTO = restTemplate.postForObject(BASE_URL + "role/update", roleMod, RoleTO.class);
-
- assertEquals("finalRole", roleTO.getName());
- assertEquals(2, roleTO.getAttributes().size());
-
- // changes ignored because not requested (null ReferenceMod)
- assertNotNull(roleTO.getAccountPolicy());
- assertEquals(6L, (long) roleTO.getAccountPolicy());
-
- // password policy null because not inherited
- assertNull(roleTO.getPasswordPolicy());
- }
-
- @Test
- public void updateRemovingVirAttribute() {
- RoleTO roleTO = new RoleTO();
- roleTO.setName("withvirtual");
- roleTO.setParent(8L);
- roleTO.addVirtualAttribute(attributeTO("rvirtualdata", null));
-
- roleTO = restTemplate.postForObject(BASE_URL + "role/create", roleTO, RoleTO.class);
-
- assertNotNull(roleTO);
- assertEquals(1, roleTO.getVirtualAttributes().size());
-
- final RoleMod roleMod = new RoleMod();
- roleMod.setId(roleTO.getId());
- roleMod.addVirtualAttributeToBeRemoved("rvirtualdata");
-
- roleTO = restTemplate.postForObject(BASE_URL + "role/update", roleMod, RoleTO.class);
-
- assertNotNull(roleTO);
- assertTrue(roleTO.getVirtualAttributes().isEmpty());
- }
-
- @Test
- public void updateRemovingDerAttribute() {
- RoleTO roleTO = new RoleTO();
- roleTO.setName("withderived");
- roleTO.setParent(8L);
- roleTO.addDerivedAttribute(attributeTO("rderivedschema", null));
-
- roleTO = restTemplate.postForObject(BASE_URL + "role/create", roleTO, RoleTO.class);
-
- assertNotNull(roleTO);
- assertEquals(1, roleTO.getDerivedAttributes().size());
-
- final RoleMod roleMod = new RoleMod();
- roleMod.setId(roleTO.getId());
- roleMod.addDerivedAttributeToBeRemoved("rderivedschema");
-
- roleTO = restTemplate.postForObject(BASE_URL + "role/update", roleMod, RoleTO.class);
-
- assertNotNull(roleTO);
- assertTrue(roleTO.getDerivedAttributes().isEmpty());
- }
-
- @Test
- public void updateAsRoleOwner() {
- // 1. read role as admin
- RoleTO roleTO = restTemplate.getForObject(BASE_URL + "role/read/{roleId}.json", RoleTO.class, 7);
-
- // 2. prepare update
- RoleMod roleMod = new RoleMod();
- roleMod.setId(roleTO.getId());
- roleMod.setName("Managing Director");
-
- // 3. try to update as user3, not owner of role 7 - fail
- PreemptiveAuthHttpRequestFactory requestFactory =
- (PreemptiveAuthHttpRequestFactory) restTemplate.getRequestFactory();
- ((DefaultHttpClient) requestFactory.getHttpClient()).getCredentialsProvider().setCredentials(
- requestFactory.getAuthScope(), new UsernamePasswordCredentials("user2", "password"));
-
- try {
- restTemplate.postForObject(BASE_URL + "role/update", roleMod, RoleTO.class);
- fail();
- } catch (HttpStatusCodeException e) {
- assertEquals(HttpStatus.FORBIDDEN, e.getStatusCode());
- }
-
- // 4. update as user5, owner of role 7 because owner of role 6 with inheritance - success
- ((DefaultHttpClient) requestFactory.getHttpClient()).getCredentialsProvider().setCredentials(
- requestFactory.getAuthScope(), new UsernamePasswordCredentials("user5", "password"));
-
- roleTO = restTemplate.postForObject(BASE_URL + "role/update", roleMod, RoleTO.class);
- assertEquals("Managing Director", roleTO.getName());
-
- // restore admin authentication
- super.resetRestTemplate();
- }
-
- /**
- * Role rename used to fail in case of parent null.
- *
- * http://code.google.com/p/syncope/issues/detail?id=178
- */
- @Test
- public void issue178() {
- RoleTO roleTO = new RoleTO();
- roleTO.setName("torename");
-
- RoleTO actual = restTemplate.postForObject(BASE_URL + "role/create", roleTO, RoleTO.class);
-
- assertNotNull(actual);
- assertEquals("torename", actual.getName());
- assertEquals(0L, actual.getParent());
-
- RoleMod roleMod = new RoleMod();
- roleMod.setId(actual.getId());
- roleMod.setName("renamed");
-
- actual = restTemplate.postForObject(BASE_URL + "role/update", roleMod, RoleTO.class);
-
- assertNotNull(actual);
- assertEquals("renamed", actual.getName());
- assertEquals(0L, actual.getParent());
- }
-
- @Test
- public void issueSYNCOPE228() {
- RoleTO roleTO = new RoleTO();
- roleTO.setName("issueSYNCOPE228");
- roleTO.setParent(8L);
- roleTO.setInheritAccountPolicy(false);
- roleTO.setAccountPolicy(6L);
- roleTO.setInheritPasswordPolicy(true);
- roleTO.setPasswordPolicy(2L);
- roleTO.addAttribute(attributeTO("icon", "anIcon"));
- roleTO.addEntitlement("USER_READ");
- roleTO.addEntitlement("SCHEMA_READ");
-
- roleTO = restTemplate.postForObject(BASE_URL + "role/create", roleTO, RoleTO.class);
- assertNotNull(roleTO);
- assertNotNull(roleTO.getEntitlements());
- assertFalse(roleTO.getEntitlements().isEmpty());
-
- List<String> entitlements = roleTO.getEntitlements();
-
- RoleMod roleMod = new RoleMod();
- roleMod.setId(roleTO.getId());
- roleMod.setInheritDerivedAttributes(Boolean.TRUE);
-
- roleTO = restTemplate.postForObject(BASE_URL + "role/update", roleMod, RoleTO.class);
- assertNotNull(roleTO);
- assertEquals(entitlements, roleTO.getEntitlements());
-
- roleMod = new RoleMod();
- roleMod.setId(roleTO.getId());
- roleMod.setEntitlements(new ArrayList<String>());
-
- roleTO = restTemplate.postForObject(BASE_URL + "role/update", roleMod, RoleTO.class);
- assertNotNull(roleTO);
- assertTrue(roleTO.getEntitlements().isEmpty());
- }
+ @Test
+ public void createWithException() {
+ RoleTO newRoleTO = new RoleTO();
+ newRoleTO.addAttribute(attributeTO("attr1", "value1"));
+
+ Throwable t = null;
+ try {
+ roleService.create(newRoleTO);
+ fail();
+ } catch (SyncopeClientCompositeErrorException sccee) {
+ t = sccee
+ .getException(SyncopeClientExceptionType.InvalidSyncopeRole);
+ }
+ assertNotNull(t);
+ }
+
+ @Test
+ public void create() {
+ RoleTO roleTO = new RoleTO();
+ roleTO.setName("lastRole");
+ roleTO.setParent(8L);
+
+ // verify inheritance password and account policies
+ roleTO.setInheritAccountPolicy(false);
+ // not inherited so setter execution shouldn't be ignored
+ roleTO.setAccountPolicy(6L);
+
+ roleTO.setInheritPasswordPolicy(true);
+ // inherited so setter execution should be ignored
+ roleTO.setPasswordPolicy(2L);
+
+ roleTO.addAttribute(attributeTO("icon", "anIcon"));
+
+ roleTO.addDerivedAttribute(attributeTO("ownerDN", null));
+
+ roleTO.addVirtualAttribute(attributeTO("rvirtualdata", "rvirtualvalue"));
+
+ roleTO.setRoleOwner(8L);
+
+ roleTO.addResource("resource-ldap");
+
+ roleTO = roleService.create(roleTO);
+ assertNotNull(roleTO);
+
+ assertNotNull(roleTO.getVirtualAttributeMap());
+ assertNotNull(roleTO.getVirtualAttributeMap().get("rvirtualdata")
+ .getValues());
+ assertFalse(roleTO.getVirtualAttributeMap().get("rvirtualdata")
+ .getValues().isEmpty());
+ assertEquals("rvirtualvalue",
+ roleTO.getVirtualAttributeMap().get("rvirtualdata").getValues()
+ .get(0));
+
+ assertNotNull(roleTO.getAccountPolicy());
+ assertEquals(6L, (long) roleTO.getAccountPolicy());
+
+ assertNotNull(roleTO.getPasswordPolicy());
+ assertEquals(4L, (long) roleTO.getPasswordPolicy());
+
+ assertTrue(roleTO.getResources().contains("resource-ldap"));
+
+ ConnObjectTO connObjectTO = restTemplate.getForObject(BASE_URL
+ + "/resource/resource-ldap/read/ROLE/lastRole.json",
+ ConnObjectTO.class);
+ assertNotNull(connObjectTO);
+ assertNotNull(connObjectTO.getAttributeMap().get("owner"));
+ }
+
+ @Test
+ public void createWithPasswordPolicy() {
+ RoleTO roleTO = new RoleTO();
+ roleTO.setName("roleWithPassword");
+ roleTO.setParent(8L);
+ roleTO.setPasswordPolicy(4L);
+
+ RoleTO actual = roleService.create(roleTO);
+ assertNotNull(actual);
+
+ actual = roleService.read(actual.getId());
+ assertNotNull(actual);
+ assertNotNull(actual.getPasswordPolicy());
+ assertEquals(4L, (long) actual.getPasswordPolicy());
+ }
+
+ @Test
+ public void delete() {
+ try {
+ roleService.delete(0L);
+ } catch (HttpStatusCodeException e) {
+ assertEquals(HttpStatus.NOT_FOUND, e.getStatusCode());
+ }
+
+ RoleTO roleTO = new RoleTO();
+ roleTO.setName("toBeDeleted");
+ roleTO.setParent(8L);
+
+ roleTO.addResource("resource-ldap");
+
+ roleTO = roleService.create(roleTO);
+ assertNotNull(roleTO);
+
+ RoleTO deletedRole = roleService.delete(roleTO.getId());
+ assertNotNull(deletedRole);
+
+ try {
+ roleService.read(deletedRole.getId());
+ } catch (HttpStatusCodeException e) {
+ assertEquals(HttpStatus.NOT_FOUND, e.getStatusCode());
+ }
+ }
+
+ @Test
+ public void list() {
+ List<RoleTO> roleTOs = roleService.list();
+ assertNotNull(roleTOs);
+ assertTrue(roleTOs.size() >= 8);
+ for (RoleTO roleTO : roleTOs) {
+ assertNotNull(roleTO);
+ }
+ }
+
+ @Test
+ public void parent() {
+ RoleTO roleTO = roleService.parent(7L);
+
+ assertNotNull(roleTO);
+ assertEquals(roleTO.getId(), 6L);
+ }
+
+ @Test
+ public void read() {
+ RoleTO roleTO = roleService.read(1L);
+
+ assertNotNull(roleTO);
+ assertNotNull(roleTO.getAttributes());
+ assertFalse(roleTO.getAttributes().isEmpty());
+ }
+
+ @Test
+ public void selfRead() {
+ UserTO userTO = userService.read(1L);
+ assertNotNull(userTO);
+
+ assertTrue(userTO.getMembershipMap().containsKey(1L));
+ assertFalse(userTO.getMembershipMap().containsKey(3L));
+
+ PreemptiveAuthHttpRequestFactory requestFactory = (PreemptiveAuthHttpRequestFactory) restTemplate
+ .getRequestFactory();
+ ((DefaultHttpClient) requestFactory.getHttpClient())
+ .getCredentialsProvider().setCredentials(
+ requestFactory.getAuthScope(),
+ new UsernamePasswordCredentials("user1", "password"));
+
+ SyncopeClientException exception = null;
+ try {
+ roleService.selfRead(3L);
+ fail();
+ } catch (SyncopeClientCompositeErrorException e) {
+ exception = e
+ .getException(SyncopeClientExceptionType.UnauthorizedRole);
+ }
+ assertNotNull(exception);
+
+ RoleTO roleTO = roleService.selfRead(1L);
+ assertNotNull(roleTO);
+ assertNotNull(roleTO.getAttributes());
+ assertFalse(roleTO.getAttributes().isEmpty());
+
+ // restore admin authentication
+ super.resetRestTemplate();
+ }
+
+ @Test
+ public void update() {
+ RoleTO roleTO = new RoleTO();
+ roleTO.setName("latestRole");
+ roleTO.setParent(8L);
+
+ // verify inheritance password and account policies
+ roleTO.setInheritAccountPolicy(false);
+ // not inherited so setter execution shouldn't be ignored
+ roleTO.setAccountPolicy(6L);
+
+ roleTO.setInheritPasswordPolicy(true);
+ // inherited so setter execution should be ignored
+ roleTO.setPasswordPolicy(2L);
+
+ roleTO.addAttribute(attributeTO("icon", "anIcon"));
+
+ roleTO.addResource("resource-ldap");
+
+ roleTO = roleService.create(roleTO);
+
+ assertEquals(1, roleTO.getAttributes().size());
+
+ assertNotNull(roleTO.getAccountPolicy());
+ assertEquals(Long.valueOf(6), roleTO.getAccountPolicy());
+
+ assertNotNull(roleTO.getPasswordPolicy());
+ assertEquals(Long.valueOf(4), roleTO.getPasswordPolicy());
+
+ RoleMod roleMod = new RoleMod();
+ roleMod.setId(roleTO.getId());
+ roleMod.setName("finalRole");
+ roleMod.addAttributeToBeUpdated(attributeMod("show", "FALSE"));
+
+ // change password policy inheritance
+ roleMod.setInheritPasswordPolicy(Boolean.FALSE);
+
+ roleTO = roleService.update(roleMod.getId(), roleMod);
+
+ assertEquals("finalRole", roleTO.getName());
+ assertEquals(2, roleTO.getAttributes().size());
+
+ // changes ignored because not requested (null ReferenceMod)
+ assertNotNull(roleTO.getAccountPolicy());
+ assertEquals(6L, (long) roleTO.getAccountPolicy());
+
+ // password policy null because not inherited
+ assertNull(roleTO.getPasswordPolicy());
+ }
+
+ @Test
+ public void updateRemovingVirAttribute() {
+ RoleTO roleTO = new RoleTO();
+ roleTO.setName("withvirtual");
+ roleTO.setParent(8L);
+ roleTO.addVirtualAttribute(attributeTO("rvirtualdata", null));
+
+ roleTO = roleService.create(roleTO);
+
+ assertNotNull(roleTO);
+ assertEquals(1, roleTO.getVirtualAttributes().size());
+
+ final RoleMod roleMod = new RoleMod();
+ roleMod.setId(roleTO.getId());
+ roleMod.addVirtualAttributeToBeRemoved("rvirtualdata");
+
+ roleTO = roleService.update(roleMod.getId(), roleMod);
+
+ assertNotNull(roleTO);
+ assertTrue(roleTO.getVirtualAttributes().isEmpty());
+ }
+
+ @Test
+ public void updateRemovingDerAttribute() {
+ RoleTO roleTO = new RoleTO();
+ roleTO.setName("withderived");
+ roleTO.setParent(8L);
+ roleTO.addDerivedAttribute(attributeTO("rderivedschema", null));
+
+ roleTO = roleService.create(roleTO);
+
+ assertNotNull(roleTO);
+ assertEquals(1, roleTO.getDerivedAttributes().size());
+
+ final RoleMod roleMod = new RoleMod();
+ roleMod.setId(roleTO.getId());
+ roleMod.addDerivedAttributeToBeRemoved("rderivedschema");
+
+ roleTO = roleService.update(roleMod.getId(), roleMod);
+
+ assertNotNull(roleTO);
+ assertTrue(roleTO.getDerivedAttributes().isEmpty());
+ }
+
+ @Test
+ public void updateAsRoleOwner() {
+ // 1. read role as admin
+ RoleTO roleTO = roleService.read(7L);
+
+ // 2. prepare update
+ RoleMod roleMod = new RoleMod();
+ roleMod.setId(roleTO.getId());
+ roleMod.setName("Managing Director");
+
+ // 3. try to update as user3, not owner of role 7 - fail
+ PreemptiveAuthHttpRequestFactory requestFactory = (PreemptiveAuthHttpRequestFactory) restTemplate
+ .getRequestFactory();
+ ((DefaultHttpClient) requestFactory.getHttpClient())
+ .getCredentialsProvider().setCredentials(
+ requestFactory.getAuthScope(),
+ new UsernamePasswordCredentials("user2", "password"));
+
+ try {
+ roleService.update(roleMod.getId(), roleMod);
+ fail();
+ } catch (HttpStatusCodeException e) {
+ assertEquals(HttpStatus.FORBIDDEN, e.getStatusCode());
+ }
+
+ // 4. update as user5, owner of role 7 because owner of role 6 with
+ // inheritance - success
+ ((DefaultHttpClient) requestFactory.getHttpClient())
+ .getCredentialsProvider().setCredentials(
+ requestFactory.getAuthScope(),
+ new UsernamePasswordCredentials("user5", "password"));
+
+ roleTO = roleService.update(roleMod.getId(), roleMod);
+ assertEquals("Managing Director", roleTO.getName());
+
+ // restore admin authentication
+ super.resetRestTemplate();
+ }
+
+ /**
+ * Role rename used to fail in case of parent null.
+ *
+ * http://code.google.com/p/syncope/issues/detail?id=178
+ */
+ @Test
+ public void issue178() {
+ RoleTO roleTO = new RoleTO();
+ roleTO.setName("torename");
+
+ RoleTO actual = roleService.create(roleTO);
+
+ assertNotNull(actual);
+ assertEquals("torename", actual.getName());
+ assertEquals(0L, actual.getParent());
+
+ RoleMod roleMod = new RoleMod();
+ roleMod.setId(actual.getId());
+ roleMod.setName("renamed");
+
+ actual = roleService.update(roleMod.getId(), roleMod);;
+
+ assertNotNull(actual);
+ assertEquals("renamed", actual.getName());
+ assertEquals(0L, actual.getParent());
+ }
+
+ @Test
+ public void issueSYNCOPE228() {
+ RoleTO roleTO = new RoleTO();
+ roleTO.setName("issueSYNCOPE228");
+ roleTO.setParent(8L);
+ roleTO.setInheritAccountPolicy(false);
+ roleTO.setAccountPolicy(6L);
+ roleTO.setInheritPasswordPolicy(true);
+ roleTO.setPasswordPolicy(2L);
+ roleTO.addAttribute(attributeTO("icon", "anIcon"));
+ roleTO.addEntitlement("USER_READ");
+ roleTO.addEntitlement("SCHEMA_READ");
+
+ roleTO = roleService.create(roleTO);
+ assertNotNull(roleTO);
+ assertNotNull(roleTO.getEntitlements());
+ assertFalse(roleTO.getEntitlements().isEmpty());
+
+ List<String> entitlements = roleTO.getEntitlements();
+
+ RoleMod roleMod = new RoleMod();
+ roleMod.setId(roleTO.getId());
+ roleMod.setInheritDerivedAttributes(Boolean.TRUE);
+
+ roleTO = roleService.update(roleMod.getId(), roleMod);
+ assertNotNull(roleTO);
+ assertEquals(entitlements, roleTO.getEntitlements());
+
+ roleMod = new RoleMod();
+ roleMod.setId(roleTO.getId());
+ roleMod.setEntitlements(new ArrayList<String>());
+
+ roleTO = roleService.update(roleMod.getId(), roleMod);
+ assertNotNull(roleTO);
+ assertTrue(roleTO.getEntitlements().isEmpty());
+ }
}
Modified: syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/SearchTestITCase.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/SearchTestITCase.java?rev=1427826&r1=1427825&r2=1427826&view=diff
==============================================================================
--- syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/SearchTestITCase.java (original)
+++ syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/SearchTestITCase.java Wed Jan 2 15:37:37 2013
@@ -18,12 +18,15 @@
*/
package org.apache.syncope.core.rest;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
-import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
+
import org.apache.syncope.client.search.AttributableCond;
import org.apache.syncope.client.search.AttributeCond;
import org.apache.syncope.client.search.EntitlementCond;
@@ -117,8 +120,7 @@ public class SearchTestITCase extends Ab
assertTrue(searchCondition.isValid());
- final List<RoleTO> matchingRoles = Arrays.asList(restTemplate.postForObject(BASE_URL + "role/search",
- searchCondition, RoleTO[].class));
+ final List<RoleTO> matchingRoles = roleService.search(searchCondition);
assertNotNull(matchingRoles);
assertEquals(1, matchingRoles.size());
@@ -210,8 +212,7 @@ public class SearchTestITCase extends Ab
final NodeCond searchCondition = NodeCond.getLeafCond(cond);
- final List<RoleTO> matchingRoles = Arrays.asList(restTemplate.postForObject(BASE_URL + "role/search",
- searchCondition, RoleTO[].class));
+ final List<RoleTO> matchingRoles = roleService.search(searchCondition);
assertNotNull(matchingRoles);
assertFalse(matchingRoles.isEmpty());
}
@@ -228,8 +229,7 @@ public class SearchTestITCase extends Ab
NodeCond.getLeafCond(userReadcond));
assertTrue(searchCondition.isValid());
- final List<RoleTO> matchingRoles = Arrays.asList(restTemplate.postForObject(BASE_URL + "role/search",
- searchCondition, RoleTO[].class));
+ final List<RoleTO> matchingRoles = roleService.search(searchCondition);
assertNotNull(matchingRoles);
assertFalse(matchingRoles.isEmpty());
}
@@ -248,8 +248,7 @@ public class SearchTestITCase extends Ab
assertTrue(searchCondition.isValid());
- final List<RoleTO> matchingRoles = Arrays.asList(restTemplate.postForObject(BASE_URL + "role/search",
- searchCondition, RoleTO[].class));
+ final List<RoleTO> matchingRoles = roleService.search(searchCondition);
assertNotNull(matchingRoles);
assertEquals(1, matchingRoles.size());