public void testMappingOrdersLexicographically() { Map<String, BlockDevice> mapping = Maps.newLinkedHashMap(); mapping.put("apple", new BlockDevice("appleId", true)); Date date = new Date(999999l); mapping.put("cranberry", new BlockDevice("cranberry", Status.ATTACHED, date, false)); HttpRequest request = HttpRequest.builder().method("POST").endpoint("http://localhost") .addFormParam("InstanceId", "i-foo").build(); request = binder.bindToRequest(request, mapping); assertEquals( request.getPayload().getRawContent(), "Action=ModifyInstanceAttribute&BlockDeviceMapping.1.DeviceName=apple&BlockDeviceMapping.1.Ebs.DeleteOnTermination=true&BlockDeviceMapping.1.Ebs.VolumeId=appleId&BlockDeviceMapping.2.DeviceName=cranberry&BlockDeviceMapping.2.Ebs.DeleteOnTermination=false&BlockDeviceMapping.2.Ebs.VolumeId=cranberry&InstanceId=i-foo"); }
@Test public void testCloneServerWhenResponseIs2xx() throws Exception { ServerApi api = requestSendsResponse( HttpRequest.builder().method("POST").endpoint("https://api.glesys.com/server/clone/format/json") .addHeader("Accept", "application/json") .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==") .addFormParam("serverid", "xm3276891") .addFormParam("hostname", "hostname1").build(), HttpResponse.builder().statusCode(200).payload(payloadFromResource("/server_details.json")).build()).getServerApi(); assertEquals(api.clone("xm3276891", "hostname1"), expectedServerDetails()); }
@Test(expectedExceptions = {ResourceNotFoundException.class}) public void testDeleteDomainWhenResponseIs4xxThrows() throws Exception { DomainApi api = requestSendsResponse( HttpRequest.builder().method("POST").endpoint("https://api.glesys.com/domain/delete/format/json") .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==") .addFormParam("domainname", "x").build(), HttpResponse.builder().statusCode(404).build()).getDomainApi(); api.delete("x"); } }
public void testDeleteDomainWhenResponseIs2xx() throws Exception { DomainApi api = requestSendsResponse( HttpRequest.builder().method("POST").endpoint("https://api.glesys.com/domain/delete/format/json") .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==") .addFormParam("domainname", "x").build(), HttpResponse.builder().statusCode(200).build()).getDomainApi(); api.delete("x"); }
public void testUpdateDomainWhenResponseIs2xx() throws Exception { DomainApi api = requestSendsResponse( HttpRequest.builder().method("POST").endpoint("https://api.glesys.com/domain/edit/format/json") .addHeader("Accept", "application/json") .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==") .addFormParam("domainname", "x") .addFormParam("expire", "1").build(), HttpResponse.builder().statusCode(200) .payload(payloadFromResourceWithContentType("/domain_details.json", MediaType.APPLICATION_JSON)).build()) .getDomainApi(); assertEquals(api.update("x", DomainOptions.Builder.expire(1)), domainInDomainDetails()); }
public void testGetDomainWhenResponseIs4xx() throws Exception { DomainApi api = requestSendsResponse( HttpRequest.builder().method("POST").endpoint("https://api.glesys.com/domain/details/format/json") .addHeader("Accept", "application/json") .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==") .addFormParam("domainname", "cl66666_x").build(), HttpResponse.builder().statusCode(404).build()) .getDomainApi(); assertNull(api.get("cl66666_x")); }
public void testResetPrtWhenResponseIs2xx() { IpApi api = requestSendsResponse( HttpRequest.builder().method("POST").endpoint("https://api.glesys.com/ip/resetptr/format/json") .addHeader("Accept", "application/json") .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==") .addFormParam("ipaddress", "31.192.227.37").build(), HttpResponse.builder().statusCode(200).payload(payloadFromResourceWithContentType("/ip_get_details.json", MediaType.APPLICATION_JSON)).build()) .getIpApi(); assertEquals(api.resetPtr("31.192.227.37"), getIpInIpDetails()); }
@Test(expectedExceptions = {ResourceNotFoundException.class}) public void testChangeArchivePasswordWhenResponseIs4xxThrows() throws Exception { ArchiveApi api = requestSendsResponse( HttpRequest.builder().method("POST") .endpoint("https://api.glesys.com/archive/changepassword/format/json") .addHeader("Accept", "application/json") .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==") .addFormParam("username", "username") .addFormParam("password", "newpass").build(), HttpResponse.builder().statusCode(404).build()).getArchiveApi(); api.changePassword("username", "newpass"); }
public void testArchiveDetailsWhenResponseIs4xxReturnsNull() { ArchiveApi api = requestSendsResponse( HttpRequest.builder().method("POST").endpoint("https://api.glesys.com/archive/details/format/json") .addHeader("Accept", "application/json") .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==") .addFormParam("username", "xxxxxx_test1").build(), HttpResponse.builder().statusCode(404).build()) .getArchiveApi(); assertNull(api.get("xxxxxx_test1")); }
@Test(expectedExceptions = {ResourceNotFoundException.class}) public void testUpdateDomainWhenResponseIs4xxThrows() throws Exception { DomainApi api = requestSendsResponse( HttpRequest.builder().method("POST").endpoint("https://api.glesys.com/domain/edit/format/json") .addHeader("Accept", "application/json") .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==") .addFormParam("domainname", "x") .addFormParam("expire", "1").build(), HttpResponse.builder().statusCode(404).build()).getDomainApi(); api.update("x", DomainOptions.Builder.expire(1)); }
public void testAddDomainWhenResponseIs2xx() throws Exception { DomainApi api = requestSendsResponse( HttpRequest.builder().method("POST").endpoint("https://api.glesys.com/domain/add/format/json") .addHeader("Accept", "application/json") .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==") .addFormParam("domainname", "cl66666_x").build(), HttpResponse.builder().statusCode(200) .payload(payloadFromResourceWithContentType("/domain_details.json", MediaType.APPLICATION_JSON)).build()) .getDomainApi(); assertEquals(api.create("cl66666_x"), domainInDomainDetails()); }
public void testDestroyServerWhenResponseIs2xx() throws Exception { ServerApi api = requestSendsResponse( HttpRequest.builder().method("POST").endpoint("https://api.glesys.com/server/destroy/format/json") .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==") .addFormParam("serverid", "server777") .addFormParam("keepip", "true").build(), HttpResponse.builder().statusCode(200).build()) .getServerApi(); api.destroy("server777", DestroyServerOptions.Builder.keepIp()); }
@Test(expectedExceptions = {AuthorizationException.class}) public void testRebootServerWhenResponseIs4xx() throws Exception { ServerApi api = requestSendsResponse( HttpRequest.builder().method("POST").endpoint("https://api.glesys.com/server/reboot/format/json") .addHeader("Accept", "application/json") .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==") .addFormParam("serverid", "server777").build(), HttpResponse.builder().statusCode(401).build()) .getServerApi(); api.reboot("server777"); }
@Test(expectedExceptions = {AuthorizationException.class}) public void testStopServerWhenResponseIs4xx() throws Exception { ServerApi api = requestSendsResponse( HttpRequest.builder().method("POST").endpoint("https://api.glesys.com/server/stop/format/json") .addHeader("Accept", "application/json") .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==") .addFormParam("serverid", "server777").build(), HttpResponse.builder().statusCode(401).build()) .getServerApi(); api.stop("server777"); }
public void testGetServerStatusWhenResponseIs2xx() throws Exception { ServerApi api = requestSendsResponse( HttpRequest.builder().method("POST").endpoint("https://api.glesys.com/server/status/format/json") .addHeader("Accept", "application/json") .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==") .addFormParam("serverid", "xm3276891").build(), HttpResponse.builder().statusCode(206).payload(payloadFromResource("/server_status.json")).build()) .getServerApi(); assertEquals(api.getStatus("xm3276891"), expectedServerStatus()); }
public void testRemoveAndReleaseWhenResponseIs2xx() { IpApi api = requestSendsResponse( HttpRequest.builder().method("POST").endpoint("https://api.glesys.com/ip/remove/format/json") .addHeader("Accept", "application/json") .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==") .addFormParam("release", "true") .addFormParam("ipaddress", "31.192.227.37") .addFormParam("serverid", "vz1946889").build(), HttpResponse.builder().statusCode(200).build()) .getIpApi(); api.removeFromServerAndRelease("31.192.227.37", "vz1946889"); }
@Test(expectedExceptions = AuthorizationException.class) public void testAddWhenResponseIs4xxThrowsHttpException() { IpApi api = requestSendsResponse( HttpRequest.builder().method("POST").endpoint("https://api.glesys.com/ip/add/format/json") .addHeader("Accept", "application/json") .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==") .addFormParam("ipaddress", "31.192.227.37") .addFormParam("serverid", "vz1946889").build(), HttpResponse.builder().statusCode(401).build()) .getIpApi(); api.addToServer("31.192.227.37", "vz1946889"); }
public void testTakeWhenResponseIs2xx() { IpApi api = requestSendsResponse( HttpRequest.builder().method("POST").endpoint("https://api.glesys.com/ip/take/format/json") .addHeader("Accept", "application/json") .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==") .addFormParam("ipaddress", "46.21.105.186").build(), HttpResponse.builder().statusCode(200).payload(payloadFromResource("/ip_take.json")).build()) .getIpApi(); api.take("46.21.105.186"); }
public void testChangeArchivePasswordWhenResponseIs2xx() throws Exception { ArchiveApi api = requestSendsResponse( HttpRequest.builder().method("POST") .endpoint("https://api.glesys.com/archive/changepassword/format/json") .addHeader("Accept", "application/json") .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==") .addFormParam("username", "username") .addFormParam("password", "newpass").build(), HttpResponse.builder().statusCode(200).payload(payloadFromResource("/archive_details.json")).build()).getArchiveApi(); assertEquals(api.changePassword("username", "newpass"), detailsInArchiveDetails()); }
public void testListAliasesWhenResponseIs2xx() throws Exception { EmailAccountApi api = requestSendsResponse( HttpRequest.builder().method("POST").endpoint("https://api.glesys.com/email/list/format/json") .addHeader("Accept", "application/json") .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==") .addFormParam("domainname", "cl13016.test.jclouds.org").build(), HttpResponse.builder().statusCode(200).payload(payloadFromResource("/email_list.json")).build()).getEmailAccountApi(); EmailAlias expected = EmailAlias.builder().alias("test2@cl13016.test.jclouds.org").forwardTo("test2@cl13016.test.jclouds.org").build(); EmailAlias actual = Iterables.getOnlyElement(api.listAliasesInDomain("cl13016.test.jclouds.org")); assertEquals(actual, expected); }