• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2016 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *       http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.google.cloud.dns;
18 
19 import static org.junit.Assert.assertEquals;
20 import static org.junit.Assert.assertTrue;
21 
22 import com.google.cloud.dns.spi.v1.DnsRpc;
23 import org.junit.Test;
24 
25 public class DnsTest {
26 
27   private static final Integer PAGE_SIZE = 20;
28   private static final String PAGE_TOKEN = "page token";
29   private static final String DNS_NAME = "www.example.com.";
30 
31   @Test
testRecordSetListOption()32   public void testRecordSetListOption() {
33     // dns name
34     String dnsName = "some name";
35     Dns.RecordSetListOption recordSetListOption = Dns.RecordSetListOption.dnsName(dnsName);
36     assertEquals(dnsName, recordSetListOption.getValue());
37     assertEquals(DnsRpc.Option.NAME, recordSetListOption.getRpcOption());
38     // page token
39     recordSetListOption = Dns.RecordSetListOption.pageToken(PAGE_TOKEN);
40     assertEquals(PAGE_TOKEN, recordSetListOption.getValue());
41     assertEquals(DnsRpc.Option.PAGE_TOKEN, recordSetListOption.getRpcOption());
42     // page size
43     recordSetListOption = Dns.RecordSetListOption.pageSize(PAGE_SIZE);
44     assertEquals(PAGE_SIZE, recordSetListOption.getValue());
45     assertEquals(DnsRpc.Option.PAGE_SIZE, recordSetListOption.getRpcOption());
46     // record type
47     RecordSet.Type recordType = RecordSet.Type.AAAA;
48     recordSetListOption = Dns.RecordSetListOption.type(recordType);
49     assertEquals(recordType.name(), recordSetListOption.getValue());
50     assertEquals(DnsRpc.Option.DNS_TYPE, recordSetListOption.getRpcOption());
51     // fields
52     recordSetListOption =
53         Dns.RecordSetListOption.fields(Dns.RecordSetField.NAME, Dns.RecordSetField.TTL);
54     assertEquals(DnsRpc.Option.FIELDS, recordSetListOption.getRpcOption());
55     assertTrue(recordSetListOption.getValue() instanceof String);
56     assertTrue(
57         ((String) recordSetListOption.getValue()).contains(Dns.RecordSetField.NAME.getSelector()));
58     assertTrue(
59         ((String) recordSetListOption.getValue()).contains(Dns.RecordSetField.TTL.getSelector()));
60     assertTrue(
61         ((String) recordSetListOption.getValue()).contains(Dns.RecordSetField.NAME.getSelector()));
62   }
63 
64   @Test
testZoneOption()65   public void testZoneOption() {
66     Dns.ZoneOption fields =
67         Dns.ZoneOption.fields(Dns.ZoneField.CREATION_TIME, Dns.ZoneField.DESCRIPTION);
68     assertEquals(DnsRpc.Option.FIELDS, fields.getRpcOption());
69     assertTrue(fields.getValue() instanceof String);
70     assertTrue(((String) fields.getValue()).contains(Dns.ZoneField.CREATION_TIME.getSelector()));
71     assertTrue(((String) fields.getValue()).contains(Dns.ZoneField.DESCRIPTION.getSelector()));
72   }
73 
74   @Test
testZoneList()75   public void testZoneList() {
76     // fields
77     Dns.ZoneListOption fields =
78         Dns.ZoneListOption.fields(Dns.ZoneField.CREATION_TIME, Dns.ZoneField.DESCRIPTION);
79     assertEquals(DnsRpc.Option.FIELDS, fields.getRpcOption());
80     assertTrue(fields.getValue() instanceof String);
81     assertTrue(((String) fields.getValue()).contains(Dns.ZoneField.CREATION_TIME.getSelector()));
82     assertTrue(((String) fields.getValue()).contains(Dns.ZoneField.DESCRIPTION.getSelector()));
83     assertTrue(((String) fields.getValue()).contains(Dns.ZoneField.NAME.getSelector()));
84     // page token
85     Dns.ZoneListOption option = Dns.ZoneListOption.pageToken(PAGE_TOKEN);
86     assertEquals(PAGE_TOKEN, option.getValue());
87     assertEquals(DnsRpc.Option.PAGE_TOKEN, option.getRpcOption());
88     // page size
89     option = Dns.ZoneListOption.pageSize(PAGE_SIZE);
90     assertEquals(PAGE_SIZE, option.getValue());
91     assertEquals(DnsRpc.Option.PAGE_SIZE, option.getRpcOption());
92     // dnsName filter
93     option = Dns.ZoneListOption.dnsName(DNS_NAME);
94     assertEquals(DNS_NAME, option.getValue());
95     assertEquals(DnsRpc.Option.DNS_NAME, option.getRpcOption());
96   }
97 
98   @Test
testProjectGetOption()99   public void testProjectGetOption() {
100     // fields
101     Dns.ProjectOption fields = Dns.ProjectOption.fields(Dns.ProjectField.QUOTA);
102     assertEquals(DnsRpc.Option.FIELDS, fields.getRpcOption());
103     assertTrue(fields.getValue() instanceof String);
104     assertTrue(((String) fields.getValue()).contains(Dns.ProjectField.QUOTA.getSelector()));
105     assertTrue(((String) fields.getValue()).contains(Dns.ProjectField.PROJECT_ID.getSelector()));
106   }
107 
108   @Test
testChangeRequestOption()109   public void testChangeRequestOption() {
110     // fields
111     Dns.ChangeRequestOption fields =
112         Dns.ChangeRequestOption.fields(
113             Dns.ChangeRequestField.START_TIME, Dns.ChangeRequestField.STATUS);
114     assertEquals(DnsRpc.Option.FIELDS, fields.getRpcOption());
115     assertTrue(fields.getValue() instanceof String);
116     assertTrue(
117         ((String) fields.getValue()).contains(Dns.ChangeRequestField.START_TIME.getSelector()));
118     assertTrue(((String) fields.getValue()).contains(Dns.ChangeRequestField.STATUS.getSelector()));
119     assertTrue(((String) fields.getValue()).contains(Dns.ChangeRequestField.ID.getSelector()));
120   }
121 
122   @Test
testChangeRequestListOption()123   public void testChangeRequestListOption() {
124     // fields
125     Dns.ChangeRequestListOption fields =
126         Dns.ChangeRequestListOption.fields(
127             Dns.ChangeRequestField.START_TIME, Dns.ChangeRequestField.STATUS);
128     assertEquals(DnsRpc.Option.FIELDS, fields.getRpcOption());
129     assertTrue(fields.getValue() instanceof String);
130     assertTrue(
131         ((String) fields.getValue()).contains(Dns.ChangeRequestField.START_TIME.getSelector()));
132     assertTrue(((String) fields.getValue()).contains(Dns.ChangeRequestField.STATUS.getSelector()));
133     assertTrue(((String) fields.getValue()).contains(Dns.ChangeRequestField.ID.getSelector()));
134     // page token
135     Dns.ChangeRequestListOption option = Dns.ChangeRequestListOption.pageToken(PAGE_TOKEN);
136     assertEquals(PAGE_TOKEN, option.getValue());
137     assertEquals(DnsRpc.Option.PAGE_TOKEN, option.getRpcOption());
138     // page size
139     option = Dns.ChangeRequestListOption.pageSize(PAGE_SIZE);
140     assertEquals(PAGE_SIZE, option.getValue());
141     assertEquals(DnsRpc.Option.PAGE_SIZE, option.getRpcOption());
142     // sort order
143     option = Dns.ChangeRequestListOption.sortOrder(Dns.SortingOrder.ASCENDING);
144     assertEquals(DnsRpc.Option.SORTING_ORDER, option.getRpcOption());
145     assertEquals(Dns.SortingOrder.ASCENDING.selector(), option.getValue());
146   }
147 }
148