@Test(dependsOnMethods = {"testRegisterResource"}) public void testModifyResource() throws Exception { final UmaResource resource = new UmaResource(); resource.setName("Server Photo Album 2"); resource.setIconUri("http://www.example.com/icons/flower.png"); resource.setScopes( Arrays.asList("http://photoz.example.com/dev/scopes/view", "http://photoz.example.com/dev/scopes/all")); final UmaResourceResponse status = TUma.modifyResource(url, pat, umaRegisterResourcePath, resourceStatus.getId(), resource); UmaTestUtil.assert_(status); }
private String updateResource(String rsid, UmaResource resource) { log.debug("Updating resource description: '{}'.", rsid); org.xdi.oxauth.model.uma.persistence.UmaResource ldapResource = resourceService.getResourceById(rsid); if (ldapResource == null) { return throwNotFoundException(rsid); } ldapResource.setName(resource.getName()); ldapResource.setDescription(resource.getDescription()); ldapResource.setIconUri(resource.getIconUri()); ldapResource.setScopes(umaScopeService.getScopeDNsByIdsAndAddToLdapIfNeeded(resource.getScopes())); ldapResource.setScopeExpression(resource.getScopeExpression()); ldapResource.setRev(String.valueOf(incrementRev(ldapResource.getRev()))); ldapResource.setType(resource.getType()); if (resource.getExp() != null && resource.getExp() > 0) { ldapResource.setExpirationDate(new Date(resource.getExp() * 1000)); } resourceService.updateResource(ldapResource); return ldapResource.getDn(); }
public void validateResource(org.xdi.oxauth.model.uma.UmaResource resource) { validateScopeExpression(resource.getScopeExpression()); List<String> scopeDNs = umaScopeService.getScopeDNsByIdsAndAddToLdapIfNeeded(resource.getScopes()); if (scopeDNs.isEmpty() && StringUtils.isBlank(resource.getScopeExpression()) ) { log.error("Invalid resource. Both `scope` and `scope_expression` are blank."); throw new UmaWebException(BAD_REQUEST, errorResponseFactory, UmaErrorResponseType.INVALID_RESOURCE_SCOPE); } } }
public String registerResource(List<String> scopes) throws Exception { try { UmaResource resource = new UmaResource(); resource.setName("Photo Album"); resource.setIconUri("http://www.example.com/icons/flower.png"); resource.setScopes(scopes); resource.setType("myType"); UmaResourceResponse resourceStatus = getResourceService().addResource("Bearer " + pat.getAccessToken(), resource); UmaTestUtil.assert_(resourceStatus); this.resourceId = resourceStatus.getId(); return this.resourceId; } catch (ClientResponseFailure ex) { System.err.println(ex.getResponse().getEntity(String.class)); throw ex; } }
private String addResource(String rsid, UmaResource resource, String userDn, String clientDn) { log.debug("Adding new resource: '{}'", rsid); final String resourceDn = resourceService.getDnForResource(rsid); final List<String> scopeDNs = umaScopeService.getScopeDNsByIdsAndAddToLdapIfNeeded(resource.getScopes()); final Calendar calendar = Calendar.getInstance(); final org.xdi.oxauth.model.uma.persistence.UmaResource ldapResource = new org.xdi.oxauth.model.uma.persistence.UmaResource(); ldapResource.setName(resource.getName()); ldapResource.setDescription(resource.getDescription()); ldapResource.setIconUri(resource.getIconUri()); ldapResource.setId(rsid); ldapResource.setRev("1"); ldapResource.setCreator(userDn); ldapResource.setDn(resourceDn); ldapResource.setScopes(scopeDNs); ldapResource.setScopeExpression(resource.getScopeExpression()); ldapResource.setClients(new ArrayList<String>(Collections.singletonList(clientDn))); ldapResource.setType(resource.getType()); ldapResource.setCreationDate(calendar.getTime()); ldapResource.setExpirationDate(getExpirationDate(calendar)); resourceService.addResource(ldapResource); return resourceDn; }
public String registerResourceWithScopeExpression(String scopeExpression) throws Exception { try { UmaResource resource = new UmaResource(); resource.setName("Photo Album"); resource.setIconUri("http://www.example.com/icons/flower.png"); resource.setScopeExpression(scopeExpression); resource.setType("myType"); UmaResourceResponse resourceStatus = getResourceService().addResource("Bearer " + pat.getAccessToken(), resource); UmaTestUtil.assert_(resourceStatus); this.resourceIdWithScopeExpression = resourceStatus.getId(); return this.resourceIdWithScopeExpression; } catch (ClientResponseFailure ex) { System.err.println(ex.getResponse().getEntity(String.class)); throw ex; } }
UmaResource resource = new UmaResource(); resource.setName("Photo Album 2"); resource.setIconUri("http://www.example.com/icons/flower.png"); resource.setScopes(Arrays.asList("http://photoz.example.com/dev/scopes/view", "http://photoz.example.com/dev/scopes/all")); resource.setType("myType"); UmaResource resource = new UmaResource(); resource.setName("Photo Album 2"); resource.setIconUri("http://www.example.com/icons/flower.png"); resource.setScopeExpression(MODIFY_SCOPE_EXPRESSION); resource.setType("myType");
/** * Test non existing UMA resource description modification */ @Test(dependsOnMethods = {"modifyResource"}) public void modifyNotExistingResource() throws Exception { showTitle("modifyNotExistingResource"); try { UmaResource resource = new UmaResource(); resource.setName("Photo Album 3"); resource.setIconUri("http://www.example.com/icons/flower.png"); resource.setScopes(Arrays.asList("http://photoz.example.com/dev/scopes/view", "http://photoz.example.com/dev/scopes/all")); getResourceService().updateResource("Bearer " + pat.getAccessToken(), "fake_resource_id", resource); } catch (ClientResponseFailure ex) { System.err.println(ex.getResponse().getEntity(String.class)); int status = ex.getResponse().getStatus(); assertTrue(status != Response.Status.OK.getStatusCode(), "Unexpected response status"); } }
/** * Test UMA resource description modification with invalid PAT */ @Test(dependsOnMethods = {"modifyResource"}) public void testModifyResourceWithInvalidPat() throws Exception { showTitle("testModifyResourceWithInvalidPat"); UmaResourceResponse resourceStatus = null; try { UmaResource resource = new UmaResource(); resource.setName("Photo Album 4"); resource.setIconUri("http://www.example.com/icons/flower.png"); resource.setScopes(Arrays.asList("http://photoz.example.com/dev/scopes/view", "http://photoz.example.com/dev/scopes/all")); resourceStatus = getResourceService().updateResource("Bearer " + pat.getAccessToken() + "_invalid", this.resourceId + "_invalid", resource); } catch (ClientResponseFailure ex) { System.err.println(ex.getResponse().getEntity(String.class)); assertEquals(ex.getResponse().getStatus(), Response.Status.UNAUTHORIZED.getStatusCode(), "Unexpected response status"); } assertNull(resourceStatus, "Resource status is not null"); }