1616
1717package com .google .gcloud .dns ;
1818
19+ import static com .google .gcloud .dns .DnsRecord .builder ;
1920import static org .junit .Assert .assertEquals ;
2021import static org .junit .Assert .assertNotEquals ;
2122import static org .junit .Assert .assertTrue ;
2223import static org .junit .Assert .fail ;
2324
2425import org .junit .Test ;
2526
27+ import java .util .concurrent .TimeUnit ;
28+
2629public class DnsRecordTest {
2730
2831 private static final String NAME = "example.com." ;
2932 private static final Integer TTL = 3600 ;
33+ private static final TimeUnit UNIT = TimeUnit .HOURS ;
34+ private static final Integer UNIT_TTL = 1 ;
3035 private static final DnsRecord .Type TYPE = DnsRecord .Type .AAAA ;
31- private static final DnsRecord record = DnsRecord . builder (NAME , TYPE )
32- .ttl (TTL )
36+ private static final DnsRecord record = builder (NAME , TYPE )
37+ .ttl (UNIT_TTL , UNIT )
3338 .build ();
3439
3540 @ Test
3641 public void testDefaultDnsRecord () {
37- DnsRecord record = DnsRecord . builder (NAME , TYPE ).build ();
42+ DnsRecord record = builder (NAME , TYPE ).build ();
3843 assertEquals (0 , record .records ().size ());
3944 assertEquals (TYPE , record .type ());
4045 assertEquals (NAME , record .name ());
@@ -61,13 +66,21 @@ public void testBuilder() {
6166 @ Test
6267 public void testValidTtl () {
6368 try {
64- DnsRecord . builder (NAME , TYPE ).ttl (-1 );
69+ builder (NAME , TYPE ).ttl (-1 , TimeUnit . SECONDS );
6570 fail ("A negative value is not acceptable for ttl." );
6671 } catch (IllegalArgumentException e ) {
6772 // expected
6873 }
69- DnsRecord .builder (NAME , TYPE ).ttl (0 );
70- DnsRecord .builder (NAME , TYPE ).ttl (Integer .MAX_VALUE );
74+ builder (NAME , TYPE ).ttl (0 , TimeUnit .SECONDS );
75+ builder (NAME , TYPE ).ttl (Integer .MAX_VALUE , TimeUnit .SECONDS );
76+ try {
77+ builder (NAME , TYPE ).ttl (Integer .MAX_VALUE , TimeUnit .HOURS );
78+ fail ("This value is too large for int." );
79+ } catch (IllegalArgumentException e ) {
80+ // expected
81+ }
82+ DnsRecord record = DnsRecord .builder (NAME , TYPE ).ttl (UNIT_TTL , UNIT ).build ();
83+ assertEquals (TTL , record .ttl ());
7184 }
7285
7386 @ Test
@@ -79,7 +92,7 @@ public void testEqualsAndNotEquals() {
7992 String differentName = "totally different name" ;
8093 clone = record .toBuilder ().name (differentName ).build ();
8194 assertNotEquals (record , clone );
82- clone = record .toBuilder ().ttl (record .ttl () + 1 ).build ();
95+ clone = record .toBuilder ().ttl (record .ttl () + 1 , TimeUnit . SECONDS ).build ();
8396 assertNotEquals (record , clone );
8497 clone = record .toBuilder ().type (DnsRecord .Type .TXT ).build ();
8598 assertNotEquals (record , clone );
@@ -95,22 +108,22 @@ public void testSameHashCodeOnEquals() {
95108 @ Test
96109 public void testToAndFromPb () {
97110 assertEquals (record , DnsRecord .fromPb (record .toPb ()));
98- DnsRecord partial = DnsRecord . builder (NAME , TYPE ).build ();
111+ DnsRecord partial = builder (NAME , TYPE ).build ();
99112 assertEquals (partial , DnsRecord .fromPb (partial .toPb ()));
100- partial = DnsRecord . builder (NAME , TYPE ).addRecord ("test" ).build ();
113+ partial = builder (NAME , TYPE ).addRecord ("test" ).build ();
101114 assertEquals (partial , DnsRecord .fromPb (partial .toPb ()));
102- partial = DnsRecord . builder (NAME , TYPE ).ttl (15 ).build ();
115+ partial = builder (NAME , TYPE ).ttl (15 , TimeUnit . SECONDS ).build ();
103116 assertEquals (partial , DnsRecord .fromPb (partial .toPb ()));
104117 }
105118
106119 @ Test
107120 public void testToBuilder () {
108121 assertEquals (record , record .toBuilder ().build ());
109- DnsRecord partial = DnsRecord . builder (NAME , TYPE ).build ();
122+ DnsRecord partial = builder (NAME , TYPE ).build ();
110123 assertEquals (partial , partial .toBuilder ().build ());
111- partial = DnsRecord . builder (NAME , TYPE ).addRecord ("test" ).build ();
124+ partial = builder (NAME , TYPE ).addRecord ("test" ).build ();
112125 assertEquals (partial , partial .toBuilder ().build ());
113- partial = DnsRecord . builder (NAME , TYPE ).ttl (15 ).build ();
126+ partial = builder (NAME , TYPE ).ttl (15 , TimeUnit . SECONDS ).build ();
114127 assertEquals (partial , partial .toBuilder ().build ());
115128 }
116129
0 commit comments