GleSYS provider: updating DomainClient for GleSYS api Beta v0.1.7 changes

This commit is contained in:
Adam Lowe 2012-01-31 12:29:47 +00:00
parent 131e61d9c2
commit fe6c37f9bf
12 changed files with 122 additions and 106 deletions

View File

@ -35,13 +35,13 @@ public class Domain implements Comparable<Domain> {
} }
public static class Builder { public static class Builder {
private String domain; private String domainName;
private Date createTime; private Date createTime;
private int recordCount; private int recordCount;
private boolean glesysNameServer; private boolean useGlesysNameServer;
public Builder domain(String domain) { public Builder domainName(String domainName) {
this.domain = domain; this.domainName = domainName;
return this; return this;
} }
@ -55,38 +55,39 @@ public class Domain implements Comparable<Domain> {
return this; return this;
} }
public Builder glesysNameServer(boolean glesysNameServer) { public Builder useGlesysNameServer(boolean useGlesysNameServer) {
this.glesysNameServer = glesysNameServer; this.useGlesysNameServer = useGlesysNameServer;
return this; return this;
} }
public Domain build() { public Domain build() {
return new Domain(domain, createTime, recordCount, glesysNameServer); return new Domain(domainName, createTime, recordCount, useGlesysNameServer);
} }
public Builder fromDomain(Domain in) { public Builder fromDomain(Domain in) {
return new Builder(); return new Builder().domainName(in.getDomainName()).createTime(in.getCreateTime()).recordCount(in.getRecordCount()).useGlesysNameServer(in.isGlesysNameServer());
} }
} }
private final String domain; @SerializedName("domainname")
@SerializedName("create_time") private final String domainName;
@SerializedName("createtime")
private final Date createTime; private final Date createTime;
@SerializedName("count") @SerializedName("recordcount")
private final int recordCount; private final int recordCount;
@SerializedName("glesysnameserver") @SerializedName("usingglesysnameserver")
private final boolean glesysNameServer; private final boolean useGlesysNameServer;
public Domain(String domain, Date createTime, int recordCount, boolean glesysNameServer) { public Domain(String domainName, Date createTime, int recordCount, boolean useGlesysNameServer) {
this.domain = domain; this.domainName = domainName;
this.createTime = createTime; this.createTime = createTime;
this.recordCount = recordCount; this.recordCount = recordCount;
this.glesysNameServer = glesysNameServer; this.useGlesysNameServer = useGlesysNameServer;
} }
/** @return the domain name, ex. "jclouds.org" */ /** @return the domain name, ex. "jclouds.org" */
public String getDomain() { public String getDomainName() {
return domain; return domainName;
} }
/** @return the date the domain was registered with GleSYS */ /** @return the date the domain was registered with GleSYS */
@ -100,18 +101,18 @@ public class Domain implements Comparable<Domain> {
} }
/** @return true if a GleSYS nameserver holds the records */ /** @return true if a GleSYS nameserver holds the records */
public boolean getGlesysNameServer() { public boolean isGlesysNameServer() {
return glesysNameServer; return useGlesysNameServer;
} }
@Override @Override
public int hashCode() { public int hashCode() {
return Objects.hashCode(domain); return Objects.hashCode(domainName);
} }
@Override @Override
public int compareTo(Domain other) { public int compareTo(Domain other) {
return domain.compareTo(other.getDomain()); return domainName.compareTo(other.getDomainName());
} }
@Override @Override
@ -120,7 +121,7 @@ public class Domain implements Comparable<Domain> {
return true; return true;
} }
if (object instanceof Domain) { if (object instanceof Domain) {
return Objects.equal(domain, ((Domain) object).domain); return Objects.equal(domainName, ((Domain) object).domainName);
} else { } else {
return false; return false;
} }
@ -128,7 +129,7 @@ public class Domain implements Comparable<Domain> {
@Override @Override
public String toString() { public String toString() {
return String.format("[domain=%s, createTime=%s, count=%d, glesysnameserver=%b]", domain, createTime, recordCount, glesysNameServer); return String.format("[domainname=%s, createtime=%s, count=%d, useglesysnameserver=%b]", domainName, createTime, recordCount, useGlesysNameServer);
} }
} }

View File

@ -33,7 +33,7 @@ public class DomainRecord implements Comparable<DomainRecord> {
public static class Builder { public static class Builder {
private String id; private String id;
private String zone; private String domainname;
private String host; private String host;
private String type; private String type;
private String data; private String data;
@ -44,9 +44,8 @@ public class DomainRecord implements Comparable<DomainRecord> {
return this; return this;
} }
public Builder domainname(String domainname) {
public Builder zone(String zone) { this.domainname = domainname;
this.zone = zone;
return this; return this;
} }
@ -71,24 +70,24 @@ public class DomainRecord implements Comparable<DomainRecord> {
} }
public DomainRecord build() { public DomainRecord build() {
return new DomainRecord(id, zone, host, type, data, ttl); return new DomainRecord(id, domainname, host, type, data, ttl);
} }
public Builder fromDomainRecord(DomainRecord in) { public Builder fromDomainRecord(DomainRecord in) {
return new Builder().id(in.getId()).zone(in.getZone()).host(in.getHost()).type(in.getType()).data(in.getData()).ttl(in.getTtl()); return new Builder().id(in.getId()).domainname(in.getDomainName()).host(in.getHost()).type(in.getType()).data(in.getData()).ttl(in.getTtl());
} }
} }
private final String id; private final String id;
private final String zone; private final String domainname;
private final String host; private final String host;
private final String type; private final String type;
private final String data; private final String data;
private final int ttl; private final int ttl;
public DomainRecord(String id, String zone, String host, String type, String data, int ttl) { public DomainRecord(String id, String domainname, String host, String type, String data, int ttl) {
this.id = id; this.id = id;
this.zone = zone; this.domainname = domainname;
this.host = host; this.host = host;
this.type = type; this.type = type;
this.data = data; this.data = data;
@ -106,8 +105,8 @@ public class DomainRecord implements Comparable<DomainRecord> {
/** /**
* @return the zone content of the record * @return the zone content of the record
*/ */
public String getZone() { public String getDomainName() {
return zone; return domainname;
} }
/** /**
@ -163,7 +162,7 @@ public class DomainRecord implements Comparable<DomainRecord> {
@Override @Override
public String toString() { public String toString() {
return String.format("[id=%s, zone=%s, host=%s, type=%s, data=%s, ttl=%d]", id, zone, host, type, data, ttl); return String.format("[id=%s, domainname=%s, host=%s, type=%s, data=%s, ttl=%d]", id, domainname, host, type, data, ttl);
} }
} }

View File

@ -64,14 +64,14 @@ public interface DomainAsyncClient {
*/ */
@POST @POST
@Path("/domain/add/format/json") @Path("/domain/add/format/json")
ListenableFuture<Void> addDomain(@FormParam("name") String name, AddDomainOptions... options); ListenableFuture<Void> addDomain(@FormParam("domainname") String name, AddDomainOptions... options);
/** /**
* @see DomainClient#editDomain * @see DomainClient#editDomain
*/ */
@POST @POST
@Path("/domain/edit/format/json") @Path("/domain/edit/format/json")
ListenableFuture<Void> editDomain(@FormParam("domain") String domain, DomainOptions... options); ListenableFuture<Void> editDomain(@FormParam("domainname") String domain, DomainOptions... options);
/** /**
@ -79,23 +79,23 @@ public interface DomainAsyncClient {
*/ */
@POST @POST
@Path("/domain/delete/format/json") @Path("/domain/delete/format/json")
ListenableFuture<Void> deleteDomain(@FormParam("domain") String domain); ListenableFuture<Void> deleteDomain(@FormParam("domainname") String domain);
/** /**
* @see DomainClient#listRecords * @see DomainClient#listRecords
*/ */
@POST @POST
@Path("/domain/list_records/format/json") @Path("/domain/listrecords/format/json")
@SelectJson("records") @SelectJson("records")
@Consumes(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON)
ListenableFuture<Set<DomainRecord>> listRecords(@FormParam("domain") String domain); ListenableFuture<Set<DomainRecord>> listRecords(@FormParam("domainname") String domain);
/** /**
* @see DomainClient#addRecord * @see DomainClient#addRecord
*/ */
@POST @POST
@Path("/domain/add_record/format/json") @Path("/domain/addrecord/format/json")
ListenableFuture<Void> addRecord(@FormParam("domain") String domain, @FormParam("host") String host, ListenableFuture<Void> addRecord(@FormParam("domainname") String domain, @FormParam("host") String host,
@FormParam("type") String type, @FormParam("data") String data, @FormParam("type") String type, @FormParam("data") String data,
AddRecordOptions... options); AddRecordOptions... options);
@ -103,14 +103,14 @@ public interface DomainAsyncClient {
* @see DomainClient#editRecord * @see DomainClient#editRecord
*/ */
@POST @POST
@Path("/domain/update_record/format/json") @Path("/domain/updaterecord/format/json")
ListenableFuture<Void> editRecord(@FormParam("record_id") String record_id, EditRecordOptions... options); ListenableFuture<Void> editRecord(@FormParam("recordid") String record_id, EditRecordOptions... options);
/** /**
* @see DomainClient#deleteRecord * @see DomainClient#deleteRecord
*/ */
@POST @POST
@Path("/domain/delete_record/format/json") @Path("/domain/deleterecord/format/json")
ListenableFuture<Void> deleteRecord(@FormParam("record_id") String recordId); ListenableFuture<Void> deleteRecord(@FormParam("recordid") String recordId);
} }

View File

@ -26,6 +26,8 @@ import java.util.Date;
import javax.inject.Singleton; import javax.inject.Singleton;
import com.google.inject.Inject;
import org.jclouds.date.DateService;
import org.jclouds.json.config.GsonModule; import org.jclouds.json.config.GsonModule;
import com.google.common.base.Throwables; import com.google.common.base.Throwables;
@ -34,27 +36,43 @@ import com.google.gson.stream.JsonWriter;
/** /**
* Parser for Glesys Date formats * Parser for Glesys Date formats
* *
* @deprecated this should be replaced by standard ISO8601 parser in the next week or so
*
* @author Adam Lowe * @author Adam Lowe
*/ */
@Singleton @Singleton
public class GlesysDateAdapter extends GsonModule.DateAdapter { public class GlesysDateAdapter extends GsonModule.DateAdapter {
private final DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); private final DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
private final DateService standardDateService;
@Inject
public GlesysDateAdapter(DateService service) {
this.standardDateService = service;
}
public void write(JsonWriter writer, Date value) throws IOException { public void write(JsonWriter writer, Date value) throws IOException {
synchronized (dateFormat) { try {
writer.value(dateFormat.format(value)); writer.value(standardDateService.iso8601SecondsDateFormat(value));
} catch (Exception ex) {
synchronized (dateFormat) {
writer.value(dateFormat.format(value));
}
} }
} }
public Date read(JsonReader reader) throws IOException { public Date read(JsonReader reader) throws IOException {
String toParse = reader.nextString(); String toParse = reader.nextString();
try { try {
synchronized (dateFormat) { return standardDateService.iso8601SecondsDateParse(toParse);
return dateFormat.parse(toParse); } catch (Exception ex) {
try {
synchronized (dateFormat) {
return dateFormat.parse(toParse);
}
} catch (ParseException e) {
throw Throwables.propagate(e);
} }
} catch (ParseException e) {
throw Throwables.propagate(e);
} }
} }
} }

View File

@ -85,7 +85,7 @@ public class AddDomainOptions extends DomainOptions {
* Ensure only NS and SOA records will be created by default, when this option is not used a number of default records will be created on the domain. * Ensure only NS and SOA records will be created by default, when this option is not used a number of default records will be created on the domain.
*/ */
public DomainOptions minimalRecords() { public DomainOptions minimalRecords() {
formParameters.put("create_records", "0"); formParameters.put("createrecords", "0");
return this; return this;
} }

View File

@ -33,14 +33,6 @@ public class AddRecordOptions extends BaseHttpRequestOptions {
AddRecordOptions options = new AddRecordOptions(); AddRecordOptions options = new AddRecordOptions();
return options.ttl(ttl); return options.ttl(ttl);
} }
/**
* @see AddRecordOptions#mxPriority
*/
public static AddRecordOptions mxPriority(int mxPriority) {
AddRecordOptions options = new AddRecordOptions();
return options.mxPriority(mxPriority);
}
} }
/** Configure TTL/Time-to-live for record */ /** Configure TTL/Time-to-live for record */
@ -48,11 +40,4 @@ public class AddRecordOptions extends BaseHttpRequestOptions {
formParameters.put("ttl", Integer.toString(ttl)); formParameters.put("ttl", Integer.toString(ttl));
return this; return this;
} }
/** Configure the priority of an MX record */
public AddRecordOptions mxPriority(int mxPriority) {
formParameters.put("mx_priority", Integer.toString(mxPriority));
return this;
}
} }

View File

@ -86,7 +86,7 @@ public class DomainOptions extends BaseHttpRequestOptions {
* Configure the primary DNS server for this domain. * Configure the primary DNS server for this domain.
*/ */
public DomainOptions primaryNameServer(String primaryNameServer) { public DomainOptions primaryNameServer(String primaryNameServer) {
formParameters.put("primary_ns", primaryNameServer); formParameters.put("primarynameserver", primaryNameServer);
return this; return this;
} }
@ -98,7 +98,7 @@ public class DomainOptions extends BaseHttpRequestOptions {
if (!responsiblePerson.endsWith(".")) { if (!responsiblePerson.endsWith(".")) {
responsiblePerson = responsiblePerson + "."; responsiblePerson = responsiblePerson + ".";
} }
formParameters.put("resp_person", responsiblePerson); formParameters.put("responsibleperson", responsiblePerson);
return this; return this;
} }

View File

@ -51,13 +51,6 @@ public class EditRecordOptions extends AddRecordOptions {
public static EditRecordOptions ttl(int ttl) { public static EditRecordOptions ttl(int ttl) {
return EditRecordOptions.class.cast(new EditRecordOptions().ttl(ttl)); return EditRecordOptions.class.cast(new EditRecordOptions().ttl(ttl));
} }
/**
* @see EditRecordOptions#mxPriority
*/
public static EditRecordOptions mxPriority(int mxPriority) {
return EditRecordOptions.class.cast(new EditRecordOptions().mxPriority(mxPriority));
}
} }

View File

@ -21,12 +21,18 @@ package org.jclouds.glesys.features;
import com.google.common.collect.ImmutableMultimap; import com.google.common.collect.ImmutableMultimap;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.google.common.collect.ImmutableSortedSet; import com.google.common.collect.ImmutableSortedSet;
import com.google.common.collect.Iterables;
import com.google.inject.Inject;
import org.apache.log4j.helpers.ISO8601DateFormat;
import org.jclouds.date.DateService;
import org.jclouds.date.internal.SimpleDateFormatDateService;
import org.jclouds.glesys.GleSYSClient; import org.jclouds.glesys.GleSYSClient;
import org.jclouds.glesys.domain.Domain; import org.jclouds.glesys.domain.Domain;
import org.jclouds.glesys.domain.DomainRecord; import org.jclouds.glesys.domain.DomainRecord;
import org.jclouds.glesys.options.AddDomainOptions; import org.jclouds.glesys.options.AddDomainOptions;
import org.jclouds.http.HttpRequest; import org.jclouds.http.HttpRequest;
import org.jclouds.http.HttpResponse; import org.jclouds.http.HttpResponse;
import org.jclouds.json.config.GsonModule;
import org.jclouds.rest.BaseRestClientExpectTest; import org.jclouds.rest.BaseRestClientExpectTest;
import org.jclouds.rest.ResourceNotFoundException; import org.jclouds.rest.ResourceNotFoundException;
import org.testng.annotations.Test; import org.testng.annotations.Test;
@ -46,6 +52,8 @@ import static org.testng.Assert.assertTrue;
*/ */
@Test(groups = "unit", testName = "DomainClientExpectTest") @Test(groups = "unit", testName = "DomainClientExpectTest")
public class DomainClientExpectTest extends BaseRestClientExpectTest<GleSYSClient> { public class DomainClientExpectTest extends BaseRestClientExpectTest<GleSYSClient> {
private DateService dateService = new SimpleDateFormatDateService();
public DomainClientExpectTest() { public DomainClientExpectTest() {
provider = "glesys"; provider = "glesys";
} }
@ -59,10 +67,12 @@ public class DomainClientExpectTest extends BaseRestClientExpectTest<GleSYSClien
.build(), .build(),
HttpResponse.builder().statusCode(200).payload(payloadFromResource("/domain_list.json")).build()).getDomainClient(); HttpResponse.builder().statusCode(200).payload(payloadFromResource("/domain_list.json")).build()).getDomainClient();
Set<Domain> expected = ImmutableSet.of( Domain expected =
Domain.builder().domain("adamlowe.net").createTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2011-12-20 10:58:51")).build()); Domain.builder().domainName("testglesys.jclouds.org").createTime(dateService.iso8601SecondsDateParse("2012-01-31T12:19:03+01:00")).build();
assertEquals(client.listDomains(), expected); Domain actual = Iterables.getOnlyElement(client.listDomains());
assertEquals(expected.getDomainName(), actual.getDomainName());
assertEquals(expected.getCreateTime(), actual.getCreateTime());
} }
public void testListDomainsWhenResponseIs4xxReturnsEmpty() throws Exception { public void testListDomainsWhenResponseIs4xxReturnsEmpty() throws Exception {
@ -79,28 +89,38 @@ public class DomainClientExpectTest extends BaseRestClientExpectTest<GleSYSClien
public void testListDomainRecordsWhenResponseIs2xx() throws Exception { public void testListDomainRecordsWhenResponseIs2xx() throws Exception {
DomainClient client = requestSendsResponse( DomainClient client = requestSendsResponse(
HttpRequest.builder().method("POST").endpoint(URI.create("https://api.glesys.com/domain/list_records/format/json")) HttpRequest.builder().method("POST").endpoint(URI.create("https://api.glesys.com/domain/listrecords/format/json"))
.headers(ImmutableMultimap.<String, String>builder() .headers(ImmutableMultimap.<String, String>builder()
.put("Accept", "application/json") .put("Accept", "application/json")
.put("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build()) .put("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build())
.payload(newUrlEncodedFormPayload(ImmutableMultimap.<String, String>builder() .payload(newUrlEncodedFormPayload(ImmutableMultimap.<String, String>builder()
.put("domain", "adamlowe.net").build())).build(), .put("domainname", "testglesys.jclouds.org").build())).build(),
HttpResponse.builder().statusCode(200).payload(payloadFromResource("/domain_list_records.json")).build()).getDomainClient(); HttpResponse.builder().statusCode(200).payload(payloadFromResource("/domain_list_records.json")).build()).getDomainClient();
Set<DomainRecord> expected = ImmutableSortedSet.of( Set<DomainRecord> expected = ImmutableSortedSet.of(
DomainRecord.builder().id("213227").zone("adamlowe.net").host("@").type("NS").data("ns1.namesystem.se.").ttl(3600).build(), DomainRecord.builder().id("224538").domainname("testglesys.jclouds.org").host("@").type("NS").data("ns1.namesystem.se.").ttl(3600).build(),
DomainRecord.builder().id("213228").zone("adamlowe.net").host("@").type("NS").data("ns2.namesystem.se.").ttl(3600).build(), DomainRecord.builder().id("224539").domainname("testglesys.jclouds.org").host("@").type("NS").data("ns2.namesystem.se.").ttl(3600).build(),
DomainRecord.builder().id("213229").zone("adamlowe.net").host("@").type("NS").data("ns3.namesystem.se.").ttl(3600).build(), DomainRecord.builder().id("224540").domainname("testglesys.jclouds.org").host("@").type("NS").data("ns3.namesystem.se.").ttl(3600).build(),
DomainRecord.builder().id("213230").zone("adamlowe.net").host("@").type("A").data("127.0.0.1").ttl(3600).build(), DomainRecord.builder().id("224541").domainname("testglesys.jclouds.org").host("@").type("A").data("127.0.0.1").ttl(3600).build(),
DomainRecord.builder().id("213231").zone("adamlowe.net").host("www").type("A").data("127.0.0.1").ttl(3600).build(), DomainRecord.builder().id("224542").domainname("testglesys.jclouds.org").host("www").type("A").data("127.0.0.1").ttl(3600).build(),
DomainRecord.builder().id("213232").zone("adamlowe.net").host("mail").type("A").data("79.99.4.40").ttl(3600).build(), DomainRecord.builder().id("224543").domainname("testglesys.jclouds.org").host("mail").type("A").data("79.99.4.40").ttl(3600).build(),
DomainRecord.builder().id("213233").zone("adamlowe.net").host("@").type("MX").data("mx01.glesys.se.").ttl(3600).build(), DomainRecord.builder().id("224544").domainname("testglesys.jclouds.org").host("@").type("MX").data("10 mx01.glesys.se.").ttl(3600).build(),
DomainRecord.builder().id("213234").zone("adamlowe.net").host("@").type("MX").data("mx02.glesys.se.").ttl(3600).build(), DomainRecord.builder().id("224545").domainname("testglesys.jclouds.org").host("@").type("MX").data("20 mx02.glesys.se.").ttl(3600).build(),
DomainRecord.builder().id("213235").zone("adamlowe.net").host("@").type("TXT").data("v=spf1 include:spf.glesys.se -all").ttl(3600).build() DomainRecord.builder().id("224546").domainname("testglesys.jclouds.org").host("@").type("TXT").data("v=spf1 include:spf.glesys.se -all").ttl(3600).build()
); );
assertEquals(client.listRecords("adamlowe.net"), expected);
} Set<DomainRecord> actual = client.listRecords("testglesys.jclouds.org");
assertEquals(actual, expected);
for(DomainRecord result : actual) {
for(DomainRecord expect : expected) {
if (result.equals(expect)) {
assertEquals(result.toString(), expect.toString(), "Deep comparison using toString() failed!");
}
}
}
}
public void testListDomainRecordsWhenResponseIs4xxReturnsEmpty() throws Exception { public void testListDomainRecordsWhenResponseIs4xxReturnsEmpty() throws Exception {
DomainClient client = requestSendsResponse( DomainClient client = requestSendsResponse(
@ -120,7 +140,7 @@ public class DomainClientExpectTest extends BaseRestClientExpectTest<GleSYSClien
.headers(ImmutableMultimap.<String, String>builder().put( .headers(ImmutableMultimap.<String, String>builder().put(
"Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build()) "Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build())
.payload(newUrlEncodedFormPayload(ImmutableMultimap.<String, String>builder() .payload(newUrlEncodedFormPayload(ImmutableMultimap.<String, String>builder()
.put("name", "cl66666_x").build())).build(), .put("domainname", "cl66666_x").build())).build(),
HttpResponse.builder().statusCode(200).build()).getDomainClient(); HttpResponse.builder().statusCode(200).build()).getDomainClient();
client.addDomain("cl66666_x"); client.addDomain("cl66666_x");
@ -133,12 +153,12 @@ public class DomainClientExpectTest extends BaseRestClientExpectTest<GleSYSClien
.headers(ImmutableMultimap.<String, String>builder().put( .headers(ImmutableMultimap.<String, String>builder().put(
"Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build()) "Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build())
.payload(newUrlEncodedFormPayload(ImmutableMultimap.<String, String>builder() .payload(newUrlEncodedFormPayload(ImmutableMultimap.<String, String>builder()
.put("name", "cl66666_x") .put("domainname", "cl66666_x")
.put("primary_ns", "ns1.somewhere.x") .put("primarynameserver", "ns1.somewhere.x")
.put("expire", "1") .put("expire", "1")
.put("minimum", "1") .put("minimum", "1")
.put("refresh", "1") .put("refresh", "1")
.put("resp_person", "Tester.") .put("responsibleperson", "Tester.")
.put("retry", "1") .put("retry", "1")
.put("ttl", "1") .put("ttl", "1")
.build())).build(), .build())).build(),
@ -155,7 +175,7 @@ public class DomainClientExpectTest extends BaseRestClientExpectTest<GleSYSClien
.headers(ImmutableMultimap.<String, String>builder().put( .headers(ImmutableMultimap.<String, String>builder().put(
"Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build()) "Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build())
.payload(newUrlEncodedFormPayload(ImmutableMultimap.<String, String>builder() .payload(newUrlEncodedFormPayload(ImmutableMultimap.<String, String>builder()
.put("domain", "x").build())).build(), .put("domainname", "x").build())).build(),
HttpResponse.builder().statusCode(200).build()).getDomainClient(); HttpResponse.builder().statusCode(200).build()).getDomainClient();
client.editDomain("x"); client.editDomain("x");
@ -168,7 +188,7 @@ public class DomainClientExpectTest extends BaseRestClientExpectTest<GleSYSClien
.headers(ImmutableMultimap.<String, String>builder().put( .headers(ImmutableMultimap.<String, String>builder().put(
"Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build()) "Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build())
.payload(newUrlEncodedFormPayload(ImmutableMultimap.<String, String>builder() .payload(newUrlEncodedFormPayload(ImmutableMultimap.<String, String>builder()
.put("domain", "x").build())).build(), .put("domainname", "x").build())).build(),
HttpResponse.builder().statusCode(404).build()).getDomainClient(); HttpResponse.builder().statusCode(404).build()).getDomainClient();
client.editDomain("x"); client.editDomain("x");
@ -180,7 +200,7 @@ public class DomainClientExpectTest extends BaseRestClientExpectTest<GleSYSClien
.headers(ImmutableMultimap.<String, String>builder().put( .headers(ImmutableMultimap.<String, String>builder().put(
"Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build()) "Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build())
.payload(newUrlEncodedFormPayload(ImmutableMultimap.<String, String>builder() .payload(newUrlEncodedFormPayload(ImmutableMultimap.<String, String>builder()
.put("domain", "x").build())).build(), .put("domainname", "x").build())).build(),
HttpResponse.builder().statusCode(200).build()).getDomainClient(); HttpResponse.builder().statusCode(200).build()).getDomainClient();
client.deleteDomain("x"); client.deleteDomain("x");
@ -193,7 +213,7 @@ public class DomainClientExpectTest extends BaseRestClientExpectTest<GleSYSClien
.headers(ImmutableMultimap.<String, String>builder().put( .headers(ImmutableMultimap.<String, String>builder().put(
"Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build()) "Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build())
.payload(newUrlEncodedFormPayload(ImmutableMultimap.<String, String>builder() .payload(newUrlEncodedFormPayload(ImmutableMultimap.<String, String>builder()
.put("domain", "x").build())).build(), .put("domainname", "x").build())).build(),
HttpResponse.builder().statusCode(404).build()).getDomainClient(); HttpResponse.builder().statusCode(404).build()).getDomainClient();
client.deleteDomain("x"); client.deleteDomain("x");

View File

@ -88,7 +88,7 @@ public class DomainClientLiveTest extends BaseGleSYSClientLiveTest {
@Test @Test
public void testEditDomain() throws Exception { public void testEditDomain() throws Exception {
client.editDomain(testDomain, DomainOptions.Builder.responsiblePerson("tester.jclouds.org")); client.editDomain(testDomain, DomainOptions.Builder.responsiblePerson("tester.jclouds.org"));
assertTrue(client.listDomains().contains(Domain.builder().domain(testDomain).build())); assertTrue(client.listDomains().contains(Domain.builder().domainName(testDomain).build()));
} }
@Test @Test

View File

@ -1 +1 @@
{"response":{"status":{"code":"200","text":"OK"},"domains":[{"domain":"adamlowe.net","create_time":"2011-12-20 10:58:51","count":"9","glesysnameserver":false}],"debug":{"input":[]}}} {"response":{"status":{"code":200,"text":"OK"},"domains":[{"domainname":"testglesys.jclouds.org","createtime":"2012-01-31T12:19:03+01:00","recordcount":9,"usingglesysnameserver":"no"}],"debug":{"input":[]}}}

View File

@ -1 +1 @@
{"response":{"status":{"code":"200","text":"OK"},"records":[{"id":"213227","zone":"adamlowe.net","host":"@","type":"NS","data":"ns1.namesystem.se.","ttl":"3600"},{"id":"213228","zone":"adamlowe.net","host":"@","type":"NS","data":"ns2.namesystem.se.","ttl":"3600"},{"id":"213229","zone":"adamlowe.net","host":"@","type":"NS","data":"ns3.namesystem.se.","ttl":"3600"},{"id":"213230","zone":"adamlowe.net","host":"@","type":"A","data":"127.0.0.1","ttl":"3600"},{"id":"213231","zone":"adamlowe.net","host":"www","type":"A","data":"127.0.0.1","ttl":"3600"},{"id":"213232","zone":"adamlowe.net","host":"mail","type":"A","data":"79.99.4.40","ttl":"3600"},{"id":"213233","zone":"adamlowe.net","host":"@","type":"MX","data":"mx01.glesys.se.","ttl":"3600"},{"id":"213234","zone":"adamlowe.net","host":"@","type":"MX","data":"mx02.glesys.se.","ttl":"3600"},{"id":"213235","zone":"adamlowe.net","host":"@","type":"TXT","data":"v=spf1 include:spf.glesys.se -all","ttl":"3600"}],"debug":{"input":{"domain":"adamlowe.net"}}}} {"response":{"status":{"code":200,"text":"OK"},"records":[{"id":224546,"domainname":"testglesys.jclouds.org","host":"@","type":"TXT","data":"v=spf1 include:spf.glesys.se -all","ttl":3600},{"id":224545,"domainname":"testglesys.jclouds.org","host":"@","type":"MX","data":"20 mx02.glesys.se.","ttl":3600},{"id":224543,"domainname":"testglesys.jclouds.org","host":"mail","type":"A","data":"79.99.4.40","ttl":3600},{"id":224544,"domainname":"testglesys.jclouds.org","host":"@","type":"MX","data":"10 mx01.glesys.se.","ttl":3600},{"id":224542,"domainname":"testglesys.jclouds.org","host":"www","type":"A","data":"127.0.0.1","ttl":3600},{"id":224541,"domainname":"testglesys.jclouds.org","host":"@","type":"A","data":"127.0.0.1","ttl":3600},{"id":224540,"domainname":"testglesys.jclouds.org","host":"@","type":"NS","data":"ns3.namesystem.se.","ttl":3600},{"id":224539,"domainname":"testglesys.jclouds.org","host":"@","type":"NS","data":"ns2.namesystem.se.","ttl":3600},{"id":224538,"domainname":"testglesys.jclouds.org","host":"@","type":"NS","data":"ns1.namesystem.se.","ttl":3600}],"debug":{"input":{"domainname":"testglesys.jclouds.org"}}}}