use of com.globo.globodns.client.model.Record in project cloudstack by apache.
the class GloboDnsResourceTest method testCreateRecordAndReverseWithSuccessWhenDomainExistsAndRecordDoesntExistAndOverrideIsTrue.
/////////////////////////
// Create Record tests //
/////////////////////////
@Test
@SuppressWarnings("unused")
public void testCreateRecordAndReverseWithSuccessWhenDomainExistsAndRecordDoesntExistAndOverrideIsTrue() throws Exception {
String recordName = "recordname";
String recordIp = "40.30.20.10";
String domainName = "domain.name.com";
String reverseDomainName = "20.30.40.in-addr.arpa";
String reverseRecordName = "10";
String reverseRecordContent = recordName + "." + domainName;
Domain domain = generateFakeDomain(domainName, false);
Record record = generateFakeRecord(domain, recordName, recordIp, false);
Domain reverseDomain = generateFakeDomain(reverseDomainName, true);
Record reverseRecord = generateFakeRecord(reverseDomain, reverseRecordName, reverseRecordContent, true);
when(_recordApi.createRecord(eq(domain.getId()), eq(recordName), eq(recordIp), eq("A"))).thenReturn(record);
when(_recordApi.createRecord(eq(reverseDomain.getId()), eq(reverseRecordName), eq(reverseRecordContent), eq("PTR"))).thenReturn(record);
Answer answer = _globoDnsResource.execute(new CreateOrUpdateRecordAndReverseCommand(recordName, recordIp, domainName, TEMPLATE_ID, true));
assertNotNull(answer);
assertEquals(true, answer.getResult());
verify(_exportApi, times(1)).scheduleExport();
}
use of com.globo.globodns.client.model.Record in project cloudstack by apache.
the class GloboDnsResourceTest method testRemoveDomainWithSuccessWhenDomainExistsAndThereAreOnlyNSRecordsAndOverrideIsFalse.
@Test
public void testRemoveDomainWithSuccessWhenDomainExistsAndThereAreOnlyNSRecordsAndOverrideIsFalse() throws Exception {
String domainName = "domain.name.com";
Domain domain = generateFakeDomain(domainName, false);
List<Record> recordList = new ArrayList<Record>();
for (int i = 0; i < 10; i++) {
Record record = new Record();
record.getTypeNSRecordAttributes().setDomainId(domain.getId());
record.getTypeNSRecordAttributes().setId(sequenceId++);
record.getTypeNSRecordAttributes().setType("NS");
recordList.add(record);
}
when(_recordApi.listAll(domain.getId())).thenReturn(recordList);
Answer answer = _globoDnsResource.execute(new RemoveDomainCommand(domainName, false));
assertEquals(true, answer.getResult());
verify(_domainApi, times(1)).removeDomain(eq(domain.getId()));
verify(_exportApi, times(1)).scheduleExport();
}
use of com.globo.globodns.client.model.Record in project cloudstack by apache.
the class GloboDnsResourceTest method generateFakeRecord.
private Record generateFakeRecord(Domain domain, String recordName, String recordContent, boolean reverse) {
Record record = new Record();
if (reverse) {
record.getTypePTRRecordAttributes().setName(recordName);
record.getTypePTRRecordAttributes().setContent(recordContent);
record.getTypePTRRecordAttributes().setDomainId(domain.getId());
record.getTypePTRRecordAttributes().setId(sequenceId++);
} else {
record.getTypeARecordAttributes().setName(recordName);
record.getTypeARecordAttributes().setContent(recordContent);
record.getTypeARecordAttributes().setDomainId(domain.getId());
record.getTypeARecordAttributes().setId(sequenceId++);
}
List<Record> recordList = new ArrayList<Record>();
recordList.add(record);
when(_recordApi.listByQuery(eq(domain.getId()), eq(recordName))).thenReturn(recordList);
return record;
}
use of com.globo.globodns.client.model.Record in project cloudstack by apache.
the class GloboDnsResourceTest method testCreateRecordAndReverseWhenDomainDoesNotExist.
@Test
public void testCreateRecordAndReverseWhenDomainDoesNotExist() throws Exception {
String recordName = "recordname";
String recordIp = "40.30.20.10";
String domainName = "domain.name.com";
String reverseDomainName = "20.30.40.in-addr.arpa";
String reverseRecordName = "10";
String reverseRecordContent = recordName + "." + domainName;
Domain domain = new Domain();
domain.getDomainAttributes().setId(sequenceId++);
Domain reverseDomain = new Domain();
reverseDomain.getDomainAttributes().setId(sequenceId++);
Record record = new Record();
when(_domainApi.listByQuery(domainName)).thenReturn(new ArrayList<Domain>());
when(_domainApi.createDomain(eq(domainName), eq(TEMPLATE_ID), eq("M"))).thenReturn(domain);
when(_recordApi.createRecord(eq(domain.getId()), eq(recordName), eq(recordIp), eq("A"))).thenReturn(record);
when(_domainApi.createReverseDomain(eq(reverseDomainName), eq(TEMPLATE_ID), eq("M"))).thenReturn(reverseDomain);
when(_recordApi.createRecord(eq(reverseDomain.getId()), eq(reverseRecordName), eq(reverseRecordContent), eq("PTR"))).thenReturn(record);
Answer answer = _globoDnsResource.execute(new CreateOrUpdateRecordAndReverseCommand(recordName, recordIp, domainName, TEMPLATE_ID, true));
assertNotNull(answer);
assertEquals(true, answer.getResult());
verify(_exportApi, times(1)).scheduleExport();
}
use of com.globo.globodns.client.model.Record in project cloudstack by apache.
the class GloboDnsResourceTest method testCreateRecordAndReverseWillFailWhenReverseRecordAlreadyExistsAndOverrideIsFalse.
@Test
@SuppressWarnings("unused")
public void testCreateRecordAndReverseWillFailWhenReverseRecordAlreadyExistsAndOverrideIsFalse() throws Exception {
String recordName = "recordname";
String recordIp = "40.30.20.10";
String domainName = "domain.name.com";
String reverseDomainName = "20.30.40.in-addr.arpa";
String reverseRecordName = "10";
Domain domain = generateFakeDomain(domainName, false);
Record record = generateFakeRecord(domain, recordName, recordIp, false);
Domain reverseDomain = generateFakeDomain(reverseDomainName, true);
Record reverseRecord = generateFakeRecord(reverseDomain, reverseRecordName, "X", true);
Answer answer = _globoDnsResource.execute(new CreateOrUpdateRecordAndReverseCommand(recordName, recordIp, domainName, TEMPLATE_ID, false));
assertNotNull(answer);
assertEquals(false, answer.getResult());
}
Aggregations