@Test @Parameters("basedir") void testConvertRequestFileContent(String basedir) throws IOException { File file = new File(basedir, "target/testfiles/hoot"); file.getParentFile().mkdirs(); Files.write("hoot!".getBytes(Charsets.UTF_8), file); HttpRequest request = HttpRequest.builder() .method(HttpMethod.GET) .endpoint(endPoint) .payload(file).build(); testHoot(request); }
@Test void shouldReplacePercentage3FWithQuestionMarkAtUrl() { StringBuilder path = new StringBuilder("nodes/"); path.append("test/cookbooks/myCookBook%3Fnum_versions=5"); HttpRequest request = HttpRequest.builder().method(HttpMethod.GET) .endpoint("http://localhost/" + path.toString()).payload(BODY).build(); request = signing_obj.filter(request); assertTrue(request.getRequestLine().contains("?num_versions=5")); }
@Test void shouldReplacePercentage3FWithQuestionMarkAtUrl() { StringBuilder path = new StringBuilder("nodes/"); path.append("test/cookbooks/myCookBook%3Fnum_versions=5"); HttpRequest request = HttpRequest.builder().method(HttpMethod.GET) .endpoint("http://localhost/" + path.toString()).payload(BODY).build(); request = signing_obj.filter(request); assertTrue(request.getRequestLine().contains("?num_versions=5")); }
@Test void shouldNotChokeWhenSigningARequestForAResourceWithALongName() { StringBuilder path = new StringBuilder("nodes/"); for (int i = 0; i < 100; i++) path.append('A'); HttpRequest request = HttpRequest.builder().method(HttpMethod.PUT) .endpoint("http://localhost/" + path.toString()).payload(BODY).build(); signing_obj.filter(request); }
public void testBackupServer() { ServerAdminApi api = requestsSendResponses( keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, authenticatedGET().endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v2/3456/servers/1/action").method("POST") .payload(payloadFromStringWithContentType("{\"createBackup\":{\"backup_type\":\"weekly\",\"rotation\":3,\"name\":\"mybackup\",\"metadata\":{\"some\":\"data or other\"}}}", MediaType.APPLICATION_JSON)).build(), HttpResponse.builder().statusCode(202).addHeader("Location", "http://172.16.89.149:8774/v2/images/1976b3b3-409a-468d-b16c-a9172c341b46").build() ).getServerAdminApi("az-1.region-a.geo-1").get(); String imageId = api.createBackup("1", "mybackup", BackupType.WEEKLY, 3, CreateBackupOfServerOptions.Builder.metadata(ImmutableMap.of("some", "data or other"))); assertEquals(imageId, "1976b3b3-409a-468d-b16c-a9172c341b46"); }
public void testSetExtraSpec() { URI endpoint = URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v2/3456/flavors/5/os-extra_specs/test1"); FlavorExtraSpecsApi api = requestsSendResponses( keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, authenticatedGET().endpoint(endpoint) .method("PUT") .payload(payloadFromStringWithContentType("{\"test1\":\"somevalue\"}", MediaType.APPLICATION_JSON)).build(), HttpResponse.builder().statusCode(200).build() ).getFlavorExtraSpecsApi("az-1.region-a.geo-1").get(); api.updateMetadataEntry("5", "test1", "somevalue"); }
public void testSetAllExtraSpecs() { URI endpoint = URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v2/3456/flavors/9/os-extra_specs"); FlavorExtraSpecsApi api = requestsSendResponses( keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, authenticatedGET().endpoint(endpoint) .method("POST") .payload(payloadFromStringWithContentType("{\"extra_specs\":{\"test1\":\"somevalue\"}}", MediaType.APPLICATION_JSON)).build(), HttpResponse.builder().statusCode(200).build() ).getFlavorExtraSpecsApi("az-1.region-a.geo-1").get(); api.updateMetadata("9", ImmutableMap.of("test1", "somevalue")); }
public void testRemoveHost() { URI endpoint = URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v2/3456/os-aggregates/1/action"); HostAggregateApi api = requestsSendResponses(keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, authenticatedGET().endpoint(endpoint).method("POST") .payload(payloadFromStringWithContentType("{\"remove_host\":{\"host\":\"ubuntu\"}}", MediaType.APPLICATION_JSON)).build(), HttpResponse.builder().statusCode(200).payload(payloadFromResource("/host_aggregate_details.json")).build()).getHostAggregateApi("az-1.region-a.geo-1").get(); assertEquals(api.removeHost("1", "ubuntu"), exampleHostAggregate()); }
public void testEnableConnectionLogging() { URI endpoint = URI.create("https://dfw.loadbalancers.api.rackspacecloud.com/v1.0/123123/loadbalancers/2000/connectionlogging"); ConnectionApi api = requestsSendResponses( rackspaceAuthWithUsernameAndApiKey, responseWithAccess, authenticatedGET().method(PUT).endpoint(endpoint).payload(payloadFromResource("/connectionlogging-enable.json")).build(), HttpResponse.builder().statusCode(OK.getStatusCode()).build() ).getConnectionApi("DFW", 2000); api.enableConnectionLogging(); }
@Test public void testPassWithMinimumDetailsAndPayload5GB() { HttpRequest request = HttpRequest.builder().method("PUT").endpoint("http://localhost").build(); Payload payload = Payloads .newStringPayload("<CompleteMultipartUpload><Part><PartNumber>1</PartNumber><ETag>\"a54357aff0632cce46d942af68356b38\"</ETag></Part></CompleteMultipartUpload>"); payload.getContentMetadata().setContentType(MediaType.TEXT_XML); request = binder.bindToRequest(request, ImmutableMap.<Integer, String> of(1, "\"a54357aff0632cce46d942af68356b38\"")); assertEquals(request.getPayload().getRawContent(), payload.getRawContent()); assertEquals(request, HttpRequest.builder().method("PUT").endpoint("http://localhost").payload( payload).build()); }
public void testSetAllExtraSpecs() { URI endpoint = URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v2/3456/os-volume-types/9/extra_specs"); VolumeTypeApi api = requestsSendResponses( keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, authenticatedGET().endpoint(endpoint) .method("POST") .payload(payloadFromStringWithContentType("{\"extra_specs\":{\"test1\":\"somevalue\"}}", MediaType.APPLICATION_JSON)).build(), HttpResponse.builder().statusCode(200).build() ).getVolumeTypeApi("az-1.region-a.geo-1").get(); api.updateExtraSpecs("9", ImmutableMap.of("test1", "somevalue")); }
public void testAddFormParamAddsAnotherValue() { HttpRequest request = HttpRequest.builder().method("GET").endpoint("http://foo") .payload("foo=bar").build(); Payload payload = Payloads.newStringPayload("foo=bar&foo=baz"); payload.getContentMetadata().setContentType(FORM_DATA.toString()); assertEquals(request.toBuilder().addFormParams(ImmutableMultimap.of("foo", "baz")).build(), HttpRequest .builder().method("GET").endpoint("http://foo").payload(payload).build()); }
public void testCreateVirtualIPs() { URI endpoint = URI.create("https://dfw.loadbalancers.api.rackspacecloud.com/v1.0/123123/loadbalancers/2000/virtualips"); VirtualIPApi api = requestsSendResponses( rackspaceAuthWithUsernameAndApiKey, responseWithAccess, authenticatedGET().method(POST).endpoint(endpoint).payload(payloadFromResource("/virtualips-create.json")).build(), HttpResponse.builder().statusCode(OK.getStatusCode()).payload(payloadFromResource("/virtualips-create-response.json")).build() ).getVirtualIPApi("DFW", 2000); api.create(VirtualIP.publicIPv6()); }
public void testCreateHealthMonitor() { URI endpoint = URI.create("https://dfw.loadbalancers.api.rackspacecloud.com/v1.0/123123/loadbalancers/2000/healthmonitor"); HealthMonitorApi api = requestsSendResponses( rackspaceAuthWithUsernameAndApiKey, responseWithAccess, authenticatedGET().method(PUT).endpoint(endpoint).payload(payloadFromResource("/healthmonitor-create.json")).build(), HttpResponse.builder().statusCode(OK.getStatusCode()).build() ).getHealthMonitorApi("DFW", 2000); api.createOrUpdate(getConnectHealthMonitor()); }
public void testDisableContentCaching() { URI endpoint = URI.create("https://dfw.loadbalancers.api.rackspacecloud.com/v1.0/123123/loadbalancers/2000/contentcaching"); ContentCachingApi api = requestsSendResponses( rackspaceAuthWithUsernameAndApiKey, responseWithAccess, authenticatedGET().method(PUT).endpoint(endpoint).payload(payloadFromResource("/contentcaching-disable.json")).build(), HttpResponse.builder().statusCode(OK.getStatusCode()).build() ).getContentCachingApi("DFW", 2000); api.disable(); } }
public HttpRequest initialAuthWithUsernameAndPassword(String username, String password) { return HttpRequest.builder().method("POST") .endpoint("http://localhost:5000/v2.0/tokens") .addHeader(HttpHeaders.ACCEPT, "application/json") .payload( payloadFromStringWithContentType( format( "{\"auth\":{\"passwordCredentials\":{\"username\":\"%s\",\"password\":\"%s\"}}}", username, password), "application/json")).build(); }
protected HttpRequest requestForScopes(String... scopes) { String claims = String.format(CLAIMS_TEMPLATE, Joiner.on(",").join(scopes)); String payload = "grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer&" + // Base64 Encoded Header "assertion=" + base64Url().omitPadding().encode(header.getBytes(UTF_8)) + "." + // Base64 Encoded Claims base64Url().omitPadding().encode(claims.getBytes(UTF_8)) + "."; return HttpRequest.builder().method("POST").endpoint(URI.create("https://accounts.google.com/o/oauth2/token")) .addHeader("Accept", MediaType.APPLICATION_JSON) .payload(payloadFromStringWithContentType(payload, "application/x-www-form-urlencoded")).build(); }
public void testAddHost() { URI endpoint = URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v2/3456/os-aggregates/1/action"); HostAggregateApi api = requestsSendResponses(keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, authenticatedGET().endpoint(endpoint).method("POST") .payload(payloadFromStringWithContentType("{\"add_host\":{\"host\":\"ubuntu\"}}", MediaType.APPLICATION_JSON)).build(), HttpResponse.builder().statusCode(200).payload(payloadFromResource("/host_aggregate_details.json")).build()).getHostAggregateApi("az-1.region-a.geo-1").get(); assertEquals(api.addHost("1", "ubuntu"), exampleHostAggregate()); }
@Test @Parameters("basedir") void testConvertRequestFileContent(String basedir) throws IOException { File file = new File(basedir, "target/testfiles/hoot"); file.getParentFile().mkdirs(); Files.write("hoot!".getBytes(Charsets.UTF_8), file); HttpRequest request = HttpRequest.builder() .method(HttpMethod.GET) .endpoint(endPoint) .payload(file).build(); testHoot(request); }