public void testBucketWithHostnameStyle() throws IOException, SecurityException, NoSuchMethodException { HttpRequest request = HttpRequest.builder().method("GET").endpoint("http://euc/services/Walrus").build(); BindAsHostPrefixIfConfigured binder = injector.getInstance(BindAsHostPrefixIfConfigured.class); request = binder.bindToRequest(request, "testbucket.example.com"); assertEquals(request.getRequestLine(), "GET http://euc/services/Walrus/testbucket.example.com HTTP/1.1"); Invokable<?, ?> method = method(S3AsyncClient.class, "deleteObject", String.class, String.class); request = processor.createRequest(method, ImmutableList.<Object> of("testbucket.example.com", "test.jpg")); assertRequestLineEquals(request, "DELETE http://euc/services/Walrus/testbucket.example.com/test.jpg HTTP/1.1"); }
public void testListVolumes() throws SecurityException, NoSuchMethodException, IOException { Invokable<?, ?> method = method(VolumeAsyncClient.class, "listVolumes", ListVolumesOptions[].class); GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.of()); assertRequestLineEquals(httpRequest, "GET http://localhost:8080/client/api?response=json&command=listVolumes&listAll=true HTTP/1.1"); assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); assertPayloadEquals(httpRequest, null, null, false); assertSaxResponseParserClassEquals(method, null); assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class); checkFilters(httpRequest); }
public void testListServerInfo() throws SecurityException, NoSuchMethodException, IOException { Invokable<?, ?> method = method(ElasticStackAsyncClient.class, "listServerInfo"); GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.of()); assertRequestLineEquals(httpRequest, "GET https://api-lon-p.elastichosts.com/servers/info HTTP/1.1"); assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n"); assertPayloadEquals(httpRequest, null, null, false); assertResponseParserClassEquals(method, httpRequest, ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet.class); assertSaxResponseParserClassEquals(method, null); assertFallbackClassEquals(method, null); checkFilters(httpRequest); }
public void testShutdownServer() throws SecurityException, NoSuchMethodException, IOException { Invokable<?, ?> method = method(ElasticStackAsyncClient.class, "shutdownServer", String.class); GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of("uuid")); assertRequestLineEquals(httpRequest, "POST https://api-lon-p.elastichosts.com/servers/uuid/shutdown HTTP/1.1"); assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n"); assertPayloadEquals(httpRequest, null, null, false); assertResponseParserClassEquals(method, httpRequest, ReleasePayloadAndReturn.class); assertSaxResponseParserClassEquals(method, null); assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class); checkFilters(httpRequest); }
public void testStartVirtualMachine() throws SecurityException, NoSuchMethodException, IOException { Invokable<?, ?> method = method(VirtualMachineAsyncClient.class, "startVirtualMachine", String.class); GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of(5)); assertRequestLineEquals(httpRequest, "GET http://localhost:8080/client/api?response=json&command=startVirtualMachine&id=5 HTTP/1.1"); assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); assertPayloadEquals(httpRequest, null, null, false); assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); assertSaxResponseParserClassEquals(method, null); assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class); checkFilters(httpRequest); }
public void testDeleteLoadBalancerRule() throws SecurityException, NoSuchMethodException, IOException { Invokable<?, ?> method = method(LoadBalancerAsyncClient.class, "deleteLoadBalancerRule", String.class); GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of(5)); assertRequestLineEquals(httpRequest, "GET http://localhost:8080/client/api?response=json&command=deleteLoadBalancerRule&id=5 HTTP/1.1"); assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); assertPayloadEquals(httpRequest, null, null, false); assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); assertSaxResponseParserClassEquals(method, null); assertFallbackClassEquals(method, NullOnNotFoundOr404.class); checkFilters(httpRequest); }
public void testSetBucketPayerRequester() throws SecurityException, NoSuchMethodException, IOException { Invokable<?, ?> method = method(S3AsyncClient.class, "setBucketPayer", String.class, Payer.class); GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of("bucket", Payer.REQUESTER)); assertRequestLineEquals(request, "PUT https://bucket." + url + "/?requestPayment HTTP/1.1"); assertNonPayloadHeadersEqual(request, "Host: bucket." + url + "\n"); assertPayloadEquals(request, "<RequestPaymentConfiguration xmlns=\"http://" + url + "/doc/2006-03-01/\"><Payer>Requester</Payer></RequestPaymentConfiguration>", "text/xml", false); assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class); assertSaxResponseParserClassEquals(method, null); assertFallbackClassEquals(method, null); checkFilters(request); }
public void testDeleteBucketIfEmpty() throws SecurityException, NoSuchMethodException, IOException { Invokable<?, ?> method = method(S3AsyncClient.class, "deleteBucketIfEmpty", String.class); GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of("bucket")); assertRequestLineEquals(request, "DELETE https://bucket." + url + "/ HTTP/1.1"); assertNonPayloadHeadersEqual(request, "Host: bucket." + url + "\n"); assertPayloadEquals(request, null, null, false); assertResponseParserClassEquals(method, request, ReturnTrueIf2xx.class); assertSaxResponseParserClassEquals(method, null); assertFallbackClassEquals(method, TrueOn404OrNotFoundFalseOnIllegalState.class); checkFilters(request); }
public void testHeadObject() throws SecurityException, NoSuchMethodException, IOException { Invokable<?, ?> method = method(S3AsyncClient.class, "headObject", String.class, String.class); GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of("bucket", "object")); assertRequestLineEquals(request, "HEAD https://bucket." + url + "/object HTTP/1.1"); assertNonPayloadHeadersEqual(request, "Host: bucket." + url + "\n"); assertPayloadEquals(request, null, null, false); assertResponseParserClassEquals(method, request, ParseObjectMetadataFromHeaders.class); assertSaxResponseParserClassEquals(method, null); assertFallbackClassEquals(method, NullOnKeyNotFound.class); checkFilters(request); }
public void testDisableBucketLogging() throws SecurityException, NoSuchMethodException, IOException { Invokable<?, ?> method = method(S3AsyncClient.class, "disableBucketLogging", String.class); GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of("bucket")); assertRequestLineEquals(request, "PUT https://bucket." + url + "/?logging HTTP/1.1"); assertNonPayloadHeadersEqual(request, "Host: bucket." + url + "\n"); assertPayloadEquals(request, "<BucketLoggingStatus xmlns=\"http://" + url + "/doc/2006-03-01/\"/>", "text/xml", false); assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class); assertSaxResponseParserClassEquals(method, null); assertFallbackClassEquals(method, null); checkFilters(request); }
public void testDeleteVolume() throws SecurityException, NoSuchMethodException, IOException { Invokable<?, ?> method = method(ElasticBlockStoreAsyncClient.class, "deleteVolumeInRegion", String.class, String.class); GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, "id")); assertRequestLineEquals(request, "POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1"); assertNonPayloadHeadersEqual(request, "Host: ec2.us-east-1.amazonaws.com\n"); assertPayloadEquals(request, "Action=DeleteVolume&VolumeId=id", "application/x-www-form-urlencoded", false); assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class); assertSaxResponseParserClassEquals(method, null); assertFallbackClassEquals(method, null); checkFilters(request); }
public void testListOSTypes() throws SecurityException, NoSuchMethodException, IOException { Invokable<?, ?> method = method(GuestOSAsyncClient.class, "listOSTypes", ListOSTypesOptions[].class); GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.of()); assertRequestLineEquals(httpRequest, "GET http://localhost:8080/client/api?response=json&command=listOsTypes&listAll=true HTTP/1.1"); assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); assertPayloadEquals(httpRequest, null, null, false); assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); assertSaxResponseParserClassEquals(method, null); assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class); checkFilters(httpRequest); }
public void testListTemplates() throws SecurityException, NoSuchMethodException, IOException { Invokable<?, ?> method = method(TemplateAsyncClient.class, "listTemplates"); GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.of()); assertRequestLineEquals(httpRequest, "GET http://localhost:8080/client/api?response=json&command=listTemplates&listAll=true&templatefilter=executable HTTP/1.1"); assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); assertPayloadEquals(httpRequest, null, null, false); assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); assertSaxResponseParserClassEquals(method, null); assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class); checkFilters(httpRequest); }
public void testUpdateTemplatePermissions() throws NoSuchMethodException { Invokable<?, ?> method = method(TemplateAsyncClient.class, "updateTemplatePermissions", String.class, UpdateTemplatePermissionsOptions[].class); GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of(17)); assertRequestLineEquals(httpRequest, "GET http://localhost:8080/client/api?response=json&command=updateTemplatePermissions&id=17 HTTP/1.1"); assertNonPayloadHeadersEqual(httpRequest, ""); assertPayloadEquals(httpRequest, null, null, false); assertResponseParserClassEquals(method, httpRequest, ReleasePayloadAndReturn.class); assertSaxResponseParserClassEquals(method, null); assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class); checkFilters(httpRequest); }
public void testListNetworks() throws SecurityException, NoSuchMethodException, IOException { Invokable<?, ?> method = method(NetworkAsyncClient.class, "listNetworks", ListNetworksOptions[].class); GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.of()); assertRequestLineEquals(httpRequest, "GET http://localhost:8080/client/api?response=json&command=listNetworks&listAll=true HTTP/1.1"); assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); assertPayloadEquals(httpRequest, null, null, false); assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); assertSaxResponseParserClassEquals(method, null); assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class); checkFilters(httpRequest); }
public void testResetServer() throws SecurityException, NoSuchMethodException, IOException { Invokable<?, ?> method = method(CloudSigmaAsyncClient.class, "resetServer", String.class); GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of("uuid")); assertRequestLineEquals(httpRequest, "POST https://api.cloudsigma.com/servers/uuid/reset HTTP/1.1"); assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n"); assertPayloadEquals(httpRequest, null, null, false); assertResponseParserClassEquals(method, httpRequest, ReleasePayloadAndReturn.class); assertSaxResponseParserClassEquals(method, null); assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class); checkFilters(httpRequest); }
public void testGetKernelForInstanceInRegion() throws SecurityException, NoSuchMethodException, IOException { Invokable<?, ?> method = method(InstanceAsyncClient.class, "getKernelForInstanceInRegion", String.class, String.class); GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList(null, "1")); assertRequestLineEquals(request, "POST https://ec2.us-east-1.amazonaws.com/ HTTP/1.1"); assertNonPayloadHeadersEqual(request, "Host: ec2.us-east-1.amazonaws.com\n"); assertPayloadEquals(request, "Action=DescribeInstanceAttribute&Attribute=kernel&InstanceId=1", "application/x-www-form-urlencoded", false); assertResponseParserClassEquals(method, request, ParseSax.class); assertSaxResponseParserClassEquals(method, StringValueHandler.class); assertFallbackClassEquals(method, null); checkFilters(request); }
public void testDeleteISOOptions() throws NoSuchMethodException { Invokable<?, ?> method = method(ISOAsyncClient.class, "deleteISO", String.class, DeleteISOOptions[].class); GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of(3, DeleteISOOptions.Builder.zoneId("5"))); assertRequestLineEquals(httpRequest, "GET http://localhost:8080/client/api?response=json&command=deleteIso&id=3&zoneid=5 HTTP/1.1"); assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); assertPayloadEquals(httpRequest, null, null, false); assertResponseParserClassEquals(method, httpRequest, UnwrapOnlyJsonValue.class); assertSaxResponseParserClassEquals(method, null); assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class); checkFilters(httpRequest); }
public void testExtractISO() throws NoSuchMethodException { Invokable<?, ?> method = method(ISOAsyncClient.class, "extractISO", String.class, ExtractMode.class, String.class, ExtractISOOptions[].class); GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of(3, ExtractMode.HTTP_DOWNLOAD, 5)); assertRequestLineEquals(httpRequest, extractIso.getRequestLine()); assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); assertPayloadEquals(httpRequest, null, null, false); assertResponseParserClassEquals(method, httpRequest, UnwrapOnlyJsonValue.class); assertSaxResponseParserClassEquals(method, null); assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class); checkFilters(httpRequest); }
public void testUpdateTemplatePermissionsOptions() throws NoSuchMethodException { Invokable<?, ?> method = method(TemplateAsyncClient.class, "updateTemplatePermissions", String.class, UpdateTemplatePermissionsOptions[].class); GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of(17, UpdateTemplatePermissionsOptions.Builder.accounts(ImmutableSet.of("5", "6")).isExtractable(true).isFeatured(true).isPublic(true).op(UpdateTemplatePermissionsOptions.Operation.add))); assertRequestLineEquals(httpRequest, "GET http://localhost:8080/client/api?response=json&command=updateTemplatePermissions&id=17&accounts=5,6&isextractable=true&isfeatured=true&ispublic=true&op=add HTTP/1.1"); assertNonPayloadHeadersEqual(httpRequest, ""); assertPayloadEquals(httpRequest, null, null, false); assertResponseParserClassEquals(method, httpRequest, ReleasePayloadAndReturn.class); assertSaxResponseParserClassEquals(method, null); assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class); checkFilters(httpRequest); }