public void deleteResource(final Token p_pat, String p_umaRegisterResourcePath, String p_id) { String path = p_umaRegisterResourcePath + "/" + p_id + "/"; try { Builder request = ResteasyClientBuilder.newClient().target(baseUri.toString() + path).request(); // request.addHeader("Accept", // UmaConstants.RESOURCE_SET_STATUS_MEDIA_TYPE); request.header("Authorization", "Bearer " + p_pat.getAccessToken()); Response response = request.delete(); String entity = response.readEntity(String.class); BaseTest.showResponse("UMA : TRegisterResource.deleteResource() : ", response, entity); assertEquals(response.getStatus(), Response.Status.NO_CONTENT.getStatusCode(), "Unexpected response code."); } catch (Exception e) { e.printStackTrace(); fail(); } } }
public List<String> getResourceList(final Token p_pat, String p_umaRegisterResourcePath) { final List<String> result = new ArrayList<String>(); try { Builder request = ResteasyClientBuilder.newClient().target(baseUri.toString() + p_umaRegisterResourcePath) .request(); request.header("Accept", UmaConstants.JSON_MEDIA_TYPE); request.header("Authorization", "Bearer " + p_pat.getAccessToken()); Response response = request.get(); String entity = response.readEntity(String.class); BaseTest.showResponse("UMA : TRegisterResource.getResourceList() : ", response, entity); assertEquals(response.getStatus(), 200, "Unexpected response code."); List<String> list = TUma.readJsonValue(entity, List.class); if (list != null) { result.addAll(list); } } catch (Exception e) { e.printStackTrace(); fail(); } return result; }
@Test(dependsOnMethods = "requestTokenToIntrospect") @Parameters({ "introspectionPath" }) public void introspection(final String introspectionPath) throws Exception { Builder request = ResteasyClientBuilder.newClient().target(url.toString() + introspectionPath).request(); request.header("Accept", "application/json"); request.header("Authorization", "Bearer " + authorization.getAccessToken()); Response response = request.post(Entity.form(new Form("token", tokenToIntrospect.getAccessToken()))); String entity = response.readEntity(String.class); showResponse("introspection", response, entity); assertEquals(response.getStatus(), 200); try { final IntrospectionResponse t = ServerUtil.createJsonMapper().readValue(entity, IntrospectionResponse.class); assertTrue(t != null && t.isActive()); } catch (Exception e) { e.printStackTrace(); fail(); } }
/** * Get resources */ @Test(dependsOnMethods = {"getOneResource"}) public void getResources() throws Exception { showTitle("getResources"); List<String> resources = null; try { resources = getResourceService().getResourceList("Bearer " + pat.getAccessToken(), ""); } catch (ClientResponseFailure ex) { System.err.println(ex.getResponse().getEntity(String.class)); throw ex; } assertNotNull(resources, "Resources is null"); assertTrue(resources.contains(this.resourceId), "Resource list doesn't contain added resource"); }
@Test @Parameters({"umaPatClientId", "umaPatClientSecret"}) public void bearer(final String umaPatClientId, final String umaPatClientSecret) throws Exception { final Token authorization = UmaClient.requestPat(tokenEndpoint, umaPatClientId, umaPatClientSecret); final Token tokenToIntrospect = UmaClient.requestPat(tokenEndpoint, umaPatClientId, umaPatClientSecret); final IntrospectionService introspectionService = ClientFactory.instance().createIntrospectionService(introspectionEndpoint); final IntrospectionResponse introspectionResponse = introspectionService.introspectToken("Bearer " + authorization.getAccessToken(), tokenToIntrospect.getAccessToken()); Assert.assertTrue(introspectionResponse != null && introspectionResponse.isActive()); }
private UmaResourceResponse registerResourceInternal(final Token pat, String umaRegisterResourcePath, final UmaResource resource) throws Exception { String path = umaRegisterResourcePath; System.out.println("Path: " + path); System.out.println("PAT: " + pat.getAccessToken()); Builder request = ResteasyClientBuilder.newClient().target(baseUri.toString() + path).request(); request.header("Accept", UmaConstants.JSON_MEDIA_TYPE); request.header("Authorization", "Bearer " + pat.getAccessToken()); String json = null; try { // final String json = "{\"resource\":{\"name\":\"Server Photo // Album22\",\"iconUri\":\"http://www.example.com/icons/flower.png\",\"scopes\":[\"http://photoz.example.com/dev/scopes/view\",\"http://photoz.example.com/dev/scopes/all\"]}}"; // final String json = // ServerUtil.jsonMapperWithWrapRoot().writeValueAsString(resource); json = ServerUtil.createJsonMapper().writeValueAsString(resource); System.out.println("Json: " + json); } catch (Exception e) { e.printStackTrace(); fail(); } Response response = request.post(Entity.json(json)); String entity = response.readEntity(String.class); BaseTest.showResponse("UMA : TRegisterResource.registerResourceInternal() : ", response, entity); assertEquals(response.getStatus(), Response.Status.CREATED.getStatusCode(), "Unexpected response code."); registerStatus = TUma.readJsonValue(entity, UmaResourceResponse.class); UmaTestUtil.assert_(registerStatus); return registerStatus; }
/** * RPT status request */ @Test(dependsOnMethods = {"successfulRptRequest"}) @Parameters() public void rptStatus() throws Exception { showTitle("rptStatus"); assert_(this.rptStatusService.requestRptStatus("Bearer " + pat.getAccessToken(), rpt, "")); }
/** * Get resource */ @Test(dependsOnMethods = {"modifyResource"}) public void getOneResource() throws Exception { showTitle("getOneResource"); try { UmaResourceWithId resource = getResourceService().getResource("Bearer " + pat.getAccessToken(), this.resourceId); assertEquals(resource.getType(), "myType"); UmaResourceWithId resourceWithExpression = getResourceService().getResource("Bearer " + pat.getAccessToken(), this.resourceIdWithScopeExpression); assertEquals(resourceWithExpression.getScopeExpression(), MODIFY_SCOPE_EXPRESSION); } catch (ClientResponseFailure ex) { System.err.println(ex.getResponse().getEntity(String.class)); throw ex; } }
private UmaResourceResponse modifyResourceInternal(final Token p_pat, String umaRegisterResourcePath, final String p_rsId, final UmaResource resource) throws Exception { String path = umaRegisterResourcePath + "/" + p_rsId + "/"; Builder request = ResteasyClientBuilder.newClient().target(baseUri.toString() + path).request(); request.header("Accept", UmaConstants.JSON_MEDIA_TYPE); request.header("Authorization", "Bearer " + p_pat.getAccessToken()); String json = null; try { // final String json = // ServerUtil.jsonMapperWithWrapRoot().writeValueAsString(resource); json = ServerUtil.createJsonMapper().writeValueAsString(resource); } catch (Exception e) { e.printStackTrace(); fail(); } Response response = request.put(Entity.json(json)); String entity = response.readEntity(String.class); BaseTest.showResponse("UMA : TRegisterResource.modifyResourceInternal() : ", response, entity); assertEquals(response.getStatus(), Response.Status.OK.getStatusCode(), "Unexpected response code."); modifyStatus = TUma.readJsonValue(entity, UmaResourceResponse.class); UmaTestUtil.assert_(modifyStatus); return modifyStatus; }
/** * Delete resource */ @Test(dependsOnMethods = {"getResources"}) public void deleteResource() throws Exception { showTitle("testDeleteResource"); try { getResourceService().deleteResource("Bearer " + pat.getAccessToken(), this.resourceId); } catch (ClientResponseFailure ex) { System.err.println(ex.getResponse().getEntity(String.class)); throw ex; } } }
Builder request = ResteasyClientBuilder.newClient().target(baseUri.toString() + path).request(); request.header("Accept", UmaConstants.JSON_MEDIA_TYPE); request.header("Authorization", "Bearer " + p_pat.getAccessToken());
@Test @Parameters({"umaPatClientId", "umaPatClientSecret"}) public void introspectWithValidAuthorizationButInvalidTokenShouldReturnActiveFalse(final String umaPatClientId, final String umaPatClientSecret) throws Exception { final Token authorization = UmaClient.requestPat(tokenEndpoint, umaPatClientId, umaPatClientSecret, clientExecutor(true)); final IntrospectionService introspectionService = ClientFactory.instance().createIntrospectionService(introspectionEndpoint, clientExecutor(true)); final IntrospectionResponse introspectionResponse = introspectionService.introspectToken("Bearer " + authorization.getAccessToken(), "invalid_token"); assertNotNull(introspectionResponse); assertFalse(introspectionResponse.isActive()); }
/** * 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"); }
/** * 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 @Parameters({"umaPatClientId", "umaPatClientSecret"}) public void basicAuthentication(final String umaPatClientId, final String umaPatClientSecret) throws Exception { final Token tokenToIntrospect = UmaClient.requestPat(tokenEndpoint, umaPatClientId, umaPatClientSecret, clientExecutor(true)); final IntrospectionService introspectionService = ClientFactory.instance().createIntrospectionService(introspectionEndpoint, clientExecutor(true)); final IntrospectionResponse introspectionResponse = introspectionService.introspectToken("Basic " + BaseRequest.getEncodedCredentials(umaPatClientId, umaPatClientSecret), tokenToIntrospect.getAccessToken()); Assert.assertTrue(introspectionResponse != null && introspectionResponse.isActive()); }
/** * Test for registering permissions for resource */ @Test public void testRegisterPermissionForInvalidResource() throws Exception { showTitle("testRegisterPermissionForInvalidResource"); UmaPermission permission = new UmaPermission(); permission.setResourceId(this.registerResourceTest.resourceId + "1"); permission.setScopes(Arrays.asList("http://photoz.example.com/dev/scopes/view", "http://photoz.example.com/dev/scopes/all")); PermissionTicket ticket = null; try { ticket = getPermissionService().registerPermission( "Bearer " + this.registerResourceTest.pat.getAccessToken(), UmaPermissionList.instance(permission)); } catch (ClientResponseFailure ex) { System.err.println(ex.getResponse().getEntity(String.class)); assertTrue(ex.getResponse().getStatus() != Response.Status.CREATED.getStatusCode() && ex.getResponse().getStatus() != Response.Status.OK.getStatusCode() , "Unexpected response status"); } assertNull(ticket, "Resource permission is not null"); } }
resource.setType("myType"); resourceStatus = getResourceService().updateResource("Bearer " + pat.getAccessToken(), this.resourceId, resource); } catch (ClientResponseFailure ex) { System.err.println(ex.getResponse().getEntity(String.class)); resource.setType("myType"); resourceStatus = getResourceService().updateResource("Bearer " + pat.getAccessToken(), this.resourceIdWithScopeExpression, resource); } catch (ClientResponseFailure ex) { System.err.println(ex.getResponse().getEntity(String.class));
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; } }
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; } }
public String registerResourcePermission(String resourceId, List<String> scopes) throws Exception { UmaPermission permission = new UmaPermission(); permission.setResourceId(resourceId); permission.setScopes(scopes); PermissionTicket ticket = getPermissionService().registerPermission( "Bearer " + this.registerResourceTest.pat.getAccessToken(), UmaPermissionList.instance(permission)); UmaTestUtil.assert_(ticket); this.ticket = ticket.getTicket(); return ticket.getTicket(); }