@@ -68,6 +68,106 @@ def test_quotas_defaults(self):
6868 self .assertEqual (req ['method' ], 'GET' )
6969 self .assertEqual (req ['path' ], '/%s' % PATH )
7070
71+ def test_list_zones_defaults (self ):
72+ from gcloud .dns .zone import ManagedZone
73+ PROJECT = 'PROJECT'
74+ ID_1 = '123'
75+ ZONE_1 = 'zone_one'
76+ DNS_1 = 'one.example.com'
77+ ID_2 = '234'
78+ ZONE_2 = 'zone_two'
79+ DNS_2 = 'two.example.com'
80+ PATH = 'projects/%s/managedZones' % PROJECT
81+ TOKEN = 'TOKEN'
82+ DATA = {
83+ 'nextPageToken' : TOKEN ,
84+ 'managedZones' : [
85+ {'kind' : 'dns#managedZone' ,
86+ 'id' : ID_1 ,
87+ 'name' : ZONE_1 ,
88+ 'dnsName' : DNS_1 },
89+ {'kind' : 'dns#managedZone' ,
90+ 'id' : ID_2 ,
91+ 'name' : ZONE_2 ,
92+ 'dnsName' : DNS_2 },
93+ ]
94+ }
95+ creds = _Credentials ()
96+ client = self ._makeOne (PROJECT , creds )
97+ conn = client .connection = _Connection (DATA )
98+
99+ zones , token = client .list_zones ()
100+
101+ self .assertEqual (len (zones ), len (DATA ['managedZones' ]))
102+ for found , expected in zip (zones , DATA ['managedZones' ]):
103+ self .assertTrue (isinstance (found , ManagedZone ))
104+ self .assertEqual (found .zone_id , expected ['id' ])
105+ self .assertEqual (found .name , expected ['name' ])
106+ self .assertEqual (found .dns_name , expected ['dnsName' ])
107+ self .assertEqual (token , TOKEN )
108+
109+ self .assertEqual (len (conn ._requested ), 1 )
110+ req = conn ._requested [0 ]
111+ self .assertEqual (req ['method' ], 'GET' )
112+ self .assertEqual (req ['path' ], '/%s' % PATH )
113+
114+ def test_list_zones_explicit (self ):
115+ from gcloud .dns .zone import ManagedZone
116+ PROJECT = 'PROJECT'
117+ ID_1 = '123'
118+ ZONE_1 = 'zone_one'
119+ DNS_1 = 'one.example.com'
120+ ID_2 = '234'
121+ ZONE_2 = 'zone_two'
122+ DNS_2 = 'two.example.com'
123+ PATH = 'projects/%s/managedZones' % PROJECT
124+ TOKEN = 'TOKEN'
125+ DATA = {
126+ 'managedZones' : [
127+ {'kind' : 'dns#managedZone' ,
128+ 'id' : ID_1 ,
129+ 'name' : ZONE_1 ,
130+ 'dnsName' : DNS_1 },
131+ {'kind' : 'dns#managedZone' ,
132+ 'id' : ID_2 ,
133+ 'name' : ZONE_2 ,
134+ 'dnsName' : DNS_2 },
135+ ]
136+ }
137+ creds = _Credentials ()
138+ client = self ._makeOne (PROJECT , creds )
139+ conn = client .connection = _Connection (DATA )
140+
141+ zones , token = client .list_zones (max_results = 3 , page_token = TOKEN )
142+
143+ self .assertEqual (len (zones ), len (DATA ['managedZones' ]))
144+ for found , expected in zip (zones , DATA ['managedZones' ]):
145+ self .assertTrue (isinstance (found , ManagedZone ))
146+ self .assertEqual (found .zone_id , expected ['id' ])
147+ self .assertEqual (found .name , expected ['name' ])
148+ self .assertEqual (found .dns_name , expected ['dnsName' ])
149+ self .assertEqual (token , None )
150+
151+ self .assertEqual (len (conn ._requested ), 1 )
152+ req = conn ._requested [0 ]
153+ self .assertEqual (req ['method' ], 'GET' )
154+ self .assertEqual (req ['path' ], '/%s' % PATH )
155+ self .assertEqual (req ['query_params' ],
156+ {'maxResults' : 3 , 'pageToken' : TOKEN })
157+
158+ def test_zone (self ):
159+ from gcloud .dns .zone import ManagedZone
160+ PROJECT = 'PROJECT'
161+ ZONE_NAME = 'zone-name'
162+ DNS_NAME = 'test.example.com'
163+ creds = _Credentials ()
164+ client = self ._makeOne (PROJECT , creds )
165+ dataset = client .zone (ZONE_NAME , DNS_NAME )
166+ self .assertTrue (isinstance (dataset , ManagedZone ))
167+ self .assertEqual (dataset .name , ZONE_NAME )
168+ self .assertEqual (dataset .dns_name , DNS_NAME )
169+ self .assertTrue (dataset ._client is client )
170+
71171
72172class _Credentials (object ):
73173
0 commit comments