in services/apigateway/src/it/java/software/amazon/awssdk/services/apigateway/ServiceIntegrationTest.java [199:265]
public void testResourceOperations() {
GetResourcesResponse resourcesResult = apiGateway
.getResources(GetResourcesRequest.builder()
.restApiId(restApiId).build());
List<Resource> resources = resourcesResult.items();
Assert.assertEquals(resources.size(), 1);
Resource rootResource = resources.get(0);
Assert.assertNotNull(rootResource);
Assert.assertEquals(rootResource.path(), "/");
String rootResourceId = rootResource.id();
CreateResourceResponse createResourceResult = apiGateway
.createResource(CreateResourceRequest.builder()
.restApiId(restApiId)
.pathPart("fooPath")
.parentId(rootResourceId).build());
Assert.assertNotNull(createResourceResult);
Assert.assertNotNull(createResourceResult.id());
Assert.assertNotNull(createResourceResult.parentId());
Assert.assertNotNull(createResourceResult.path());
Assert.assertNotNull(createResourceResult.pathPart());
Assert.assertEquals(createResourceResult.pathPart(), "fooPath");
Assert.assertEquals(createResourceResult.parentId(), rootResourceId);
PatchOperation patch = PatchOperation.builder().op(Op.REPLACE)
.path("/pathPart").value("updatedPath").build();
apiGateway.updateResource(UpdateResourceRequest.builder()
.restApiId(restApiId)
.resourceId(createResourceResult.id())
.patchOperations(patch).build());
GetResourceResponse getResourceResult = apiGateway
.getResource(GetResourceRequest.builder()
.restApiId(restApiId)
.resourceId(createResourceResult.id()).build());
Assert.assertNotNull(getResourceResult);
Assert.assertNotNull(getResourceResult.id());
Assert.assertNotNull(getResourceResult.parentId());
Assert.assertNotNull(getResourceResult.path());
Assert.assertNotNull(getResourceResult.pathPart());
Assert.assertEquals(getResourceResult.pathPart(), "updatedPath");
Assert.assertEquals(getResourceResult.parentId(), rootResourceId);
PutMethodResponse putMethodResult = apiGateway
.putMethod(PutMethodRequest.builder().restApiId(restApiId)
.resourceId(createResourceResult.id())
.authorizationType("AWS_IAM").httpMethod("PUT").build());
Assert.assertNotNull(putMethodResult);
Assert.assertNotNull(putMethodResult.authorizationType());
Assert.assertNotNull(putMethodResult.apiKeyRequired());
Assert.assertNotNull(putMethodResult.httpMethod());
Assert.assertEquals(putMethodResult.authorizationType(), "AWS_IAM");
Assert.assertEquals(putMethodResult.httpMethod(), "PUT");
PutIntegrationResponse putIntegrationResult = apiGateway
.putIntegration(PutIntegrationRequest.builder()
.restApiId(restApiId)
.resourceId(createResourceResult.id())
.httpMethod("PUT").type(IntegrationType.MOCK)
.uri("http://foo.bar")
.integrationHttpMethod("GET").build());
Assert.assertNotNull(putIntegrationResult);
Assert.assertNotNull(putIntegrationResult.cacheNamespace());
Assert.assertNotNull(putIntegrationResult.type());
Assert.assertEquals(putIntegrationResult.type(),
IntegrationType.MOCK);
}