Add JUnit tests for model classes: RecordEntityTest, ZoneEntityTest, BatchEntryTest, RecordTypeTest, and update PagingRequestTest.
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
package codes.thischwa.cf.model;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
public class BatchEntryTest {
|
||||
|
||||
@Test
|
||||
void testBatchEntry() {
|
||||
BatchEntry entry = new BatchEntry();
|
||||
assertEquals("", entry.getId());
|
||||
|
||||
List<RecordEntity> patches = new ArrayList<>();
|
||||
List<RecordEntity> posts = new ArrayList<>();
|
||||
List<RecordEntity> puts = new ArrayList<>();
|
||||
List<RecordEntity> deletes = new ArrayList<>();
|
||||
|
||||
entry.setPatches(patches);
|
||||
entry.setPosts(posts);
|
||||
entry.setPuts(puts);
|
||||
entry.setDeletes(deletes);
|
||||
|
||||
assertSame(patches, entry.getPatches());
|
||||
assertSame(posts, entry.getPosts());
|
||||
assertSame(puts, entry.getPuts());
|
||||
assertSame(deletes, entry.getDeletes());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testLombokMethods() {
|
||||
BatchEntry entry1 = new BatchEntry();
|
||||
BatchEntry entry2 = new BatchEntry();
|
||||
assertEquals(entry1, entry2);
|
||||
assertEquals(entry1.hashCode(), entry2.hashCode());
|
||||
|
||||
List<RecordEntity> patches = List.of(new RecordEntity());
|
||||
entry1.setPatches(patches);
|
||||
assertNotEquals(entry1, entry2);
|
||||
|
||||
entry2.setPatches(patches);
|
||||
assertEquals(entry1, entry2);
|
||||
|
||||
assertTrue(entry1.toString().contains("patches="));
|
||||
}
|
||||
}
|
||||
@@ -7,15 +7,37 @@ import static org.junit.jupiter.api.Assertions.*;
|
||||
public class PagingRequestTest {
|
||||
|
||||
@Test
|
||||
public void testBuildPath() {
|
||||
void testBuildPath() {
|
||||
String result = PagingRequest.defaultPaging().addQueryString("/zones");
|
||||
assertEquals("/zones?page=1&perPage=5000000", result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBuildPathAdditional() {
|
||||
void testBuildPathAdditional() {
|
||||
String result = new PagingRequest( 10, 100).addQueryString("/zones?foo=bar");
|
||||
assertEquals("/zones?foo=bar&page=10&perPage=100", result);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testGetPagingParams() {
|
||||
PagingRequest request = PagingRequest.of(2, 50);
|
||||
java.util.Map<String, String> params = request.getPagingParams();
|
||||
assertEquals("2", params.get("page"));
|
||||
assertEquals("50", params.get("perPage"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void testLombokMethods() {
|
||||
PagingRequest req1 = PagingRequest.of(1, 10);
|
||||
PagingRequest req2 = PagingRequest.of(1, 10);
|
||||
assertEquals(req1, req2);
|
||||
assertEquals(req1.hashCode(), req2.hashCode());
|
||||
assertTrue(req1.toString().contains("page=1"));
|
||||
|
||||
req1.setPage(5);
|
||||
assertEquals(5, req1.getPage());
|
||||
req1.setPerPage(20);
|
||||
assertEquals(20, req1.getPerPage());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
package codes.thischwa.cf.model;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
public class RecordEntityTest {
|
||||
|
||||
@Test
|
||||
void testBuildWithAttributes() {
|
||||
RecordEntity rec = RecordEntity.build("example.com", RecordType.A, 120, "1.2.3.4");
|
||||
assertEquals("example.com", rec.getName());
|
||||
assertEquals("A", rec.getType());
|
||||
assertEquals(120, rec.getTtl());
|
||||
assertEquals("1.2.3.4", rec.getContent());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testBuildWithIdAndContent() {
|
||||
RecordEntity rec = RecordEntity.build("id-123", "1.2.3.4");
|
||||
assertEquals("id-123", rec.getId());
|
||||
assertEquals("1.2.3.4", rec.getContent());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testBuildWithIdAndAttributes() {
|
||||
RecordEntity rec = RecordEntity.build("id-123", "example.com", "A", 120, "1.2.3.4");
|
||||
assertEquals("id-123", rec.getId());
|
||||
assertEquals("example.com", rec.getName());
|
||||
assertEquals("A", rec.getType());
|
||||
assertEquals(120, rec.getTtl());
|
||||
assertEquals("1.2.3.4", rec.getContent());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testBuildWithInvalidType() {
|
||||
assertThrows(IllegalArgumentException.class, () ->
|
||||
RecordEntity.build("id-123", "example.com", "INVALID", 120, "1.2.3.4")
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testGetSld() {
|
||||
RecordEntity rec = new RecordEntity();
|
||||
assertNull(rec.getSld());
|
||||
|
||||
rec.setName("sub.example.com");
|
||||
assertEquals("sub", rec.getSld());
|
||||
|
||||
rec.setName("example.com");
|
||||
assertEquals("example", rec.getSld());
|
||||
|
||||
rec.setName("host");
|
||||
assertEquals("host", rec.getSld());
|
||||
|
||||
rec.setName(".dotstart");
|
||||
assertEquals(".dotstart", rec.getSld());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testGetSldWithZoneName() {
|
||||
RecordEntity rec = new RecordEntity();
|
||||
rec.setName("sub.example.com");
|
||||
rec.setZoneName("example.com");
|
||||
assertEquals("sub", rec.getSld());
|
||||
|
||||
rec.setName("my.sub.example.com");
|
||||
rec.setZoneName("example.com");
|
||||
assertEquals("my.sub", rec.getSld());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package codes.thischwa.cf.model;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
public class RecordTypeTest {
|
||||
|
||||
@Test
|
||||
void testGetType() {
|
||||
assertEquals("A", RecordType.A.getType());
|
||||
assertEquals("AAAA", RecordType.AAAA.getType());
|
||||
assertEquals("CNAME", RecordType.CNAME.getType());
|
||||
assertEquals("TXT", RecordType.TXT.getType());
|
||||
assertEquals("SRV", RecordType.SRV.getType());
|
||||
assertEquals("LOC", RecordType.LOC.getType());
|
||||
assertEquals("MX", RecordType.MX.getType());
|
||||
assertEquals("NS", RecordType.NS.getType());
|
||||
assertEquals("CAA", RecordType.CAA.getType());
|
||||
assertEquals("CERT", RecordType.CERT.getType());
|
||||
assertEquals("DNSKEY", RecordType.DNSKEY.getType());
|
||||
assertEquals("DS", RecordType.DS.getType());
|
||||
assertEquals("NAPTR", RecordType.NAPTR.getType());
|
||||
assertEquals("SMIMEA", RecordType.SMIMEA.getType());
|
||||
assertEquals("SSHFP", RecordType.SSHFP.getType());
|
||||
assertEquals("TLSA", RecordType.TLSA.getType());
|
||||
assertEquals("URI", RecordType.URI.getType());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testToString() {
|
||||
assertEquals("A", RecordType.A.toString());
|
||||
assertEquals("CNAME", RecordType.CNAME.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testValueOf() {
|
||||
assertEquals(RecordType.A, RecordType.valueOf("A"));
|
||||
assertEquals(RecordType.CNAME, RecordType.valueOf("CNAME"));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package codes.thischwa.cf.model;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Set;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class ZoneEntityTest {
|
||||
|
||||
@Test
|
||||
void testZoneEntity() {
|
||||
ZoneEntity zone = new ZoneEntity();
|
||||
zone.setId("zone-id");
|
||||
zone.setName("example.com");
|
||||
zone.setDevelopmentMode(7200);
|
||||
Set<String> ns = Set.of("ns1.cloudflare.com", "ns2.cloudflare.com");
|
||||
zone.setNameServers(ns);
|
||||
zone.setOriginalNameServers(ns);
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
zone.setCreatedOn(now);
|
||||
zone.setModifiedOn(now);
|
||||
zone.setActivatedOn(now);
|
||||
zone.setStatus("active");
|
||||
zone.setPaused(false);
|
||||
zone.setType("full");
|
||||
|
||||
assertEquals("zone-id", zone.getId());
|
||||
assertEquals("example.com", zone.getName());
|
||||
assertEquals(7200, zone.getDevelopmentMode());
|
||||
assertEquals(ns, zone.getNameServers());
|
||||
assertEquals(ns, zone.getOriginalNameServers());
|
||||
assertEquals(now, zone.getCreatedOn());
|
||||
assertEquals(now, zone.getModifiedOn());
|
||||
assertEquals(now, zone.getActivatedOn());
|
||||
assertEquals("active", zone.getStatus());
|
||||
assertFalse(zone.getPaused());
|
||||
assertEquals("full", zone.getType());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user