• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1resolver_tests_common_zone_name: resolver-tests-version-4.grpctestingexp.
2resolver_component_tests:
3# Tests for which we enable SRV queries
4- expected_addrs:
5  - {address: '5.5.5.5:443', is_balancer: false}
6  do_ordered_address_comparison: false
7  expected_chosen_service_config: null
8  expected_service_config_error: null
9  expected_lb_policy: null
10  enable_srv_queries: true
11  enable_txt_queries: true
12  inject_broken_nameserver_list: false
13  record_to_resolve: no-srv-ipv4-single-target
14  records:
15    no-srv-ipv4-single-target:
16    - {TTL: '2100', data: 5.5.5.5, type: A}
17- expected_addrs:
18  - {address: '1.2.3.4:1234', is_balancer: true}
19  do_ordered_address_comparison: false
20  expected_chosen_service_config: null
21  expected_service_config_error: null
22  expected_lb_policy: null
23  enable_srv_queries: true
24  enable_txt_queries: true
25  inject_broken_nameserver_list: false
26  record_to_resolve: srv-ipv4-single-target
27  records:
28    _grpclb._tcp.srv-ipv4-single-target:
29    - {TTL: '2100', data: 0 0 1234 ipv4-single-target, type: SRV}
30    ipv4-single-target:
31    - {TTL: '2100', data: 1.2.3.4, type: A}
32- expected_addrs:
33  - {address: '1.2.3.5:1234', is_balancer: true}
34  - {address: '1.2.3.6:1234', is_balancer: true}
35  - {address: '1.2.3.7:1234', is_balancer: true}
36  do_ordered_address_comparison: false
37  expected_chosen_service_config: null
38  expected_service_config_error: null
39  expected_lb_policy: null
40  enable_srv_queries: true
41  enable_txt_queries: true
42  inject_broken_nameserver_list: false
43  record_to_resolve: srv-ipv4-multi-target
44  records:
45    _grpclb._tcp.srv-ipv4-multi-target:
46    - {TTL: '2100', data: 0 0 1234 ipv4-multi-target, type: SRV}
47    ipv4-multi-target:
48    - {TTL: '2100', data: 1.2.3.5, type: A}
49    - {TTL: '2100', data: 1.2.3.6, type: A}
50    - {TTL: '2100', data: 1.2.3.7, type: A}
51- expected_addrs:
52  - {address: '[2607:f8b0:400a:801::1001]:1234', is_balancer: true}
53  do_ordered_address_comparison: false
54  expected_chosen_service_config: null
55  expected_service_config_error: null
56  expected_lb_policy: null
57  enable_srv_queries: true
58  enable_txt_queries: true
59  inject_broken_nameserver_list: false
60  record_to_resolve: srv-ipv6-single-target
61  records:
62    _grpclb._tcp.srv-ipv6-single-target:
63    - {TTL: '2100', data: 0 0 1234 ipv6-single-target, type: SRV}
64    ipv6-single-target:
65    - {TTL: '2100', data: '2607:f8b0:400a:801::1001', type: AAAA}
66- expected_addrs:
67  - {address: '[2607:f8b0:400a:801::1002]:1234', is_balancer: true}
68  - {address: '[2607:f8b0:400a:801::1003]:1234', is_balancer: true}
69  - {address: '[2607:f8b0:400a:801::1004]:1234', is_balancer: true}
70  do_ordered_address_comparison: false
71  expected_chosen_service_config: null
72  expected_service_config_error: null
73  expected_lb_policy: null
74  enable_srv_queries: true
75  enable_txt_queries: true
76  inject_broken_nameserver_list: false
77  record_to_resolve: srv-ipv6-multi-target
78  records:
79    _grpclb._tcp.srv-ipv6-multi-target:
80    - {TTL: '2100', data: 0 0 1234 ipv6-multi-target, type: SRV}
81    ipv6-multi-target:
82    - {TTL: '2100', data: '2607:f8b0:400a:801::1002', type: AAAA}
83    - {TTL: '2100', data: '2607:f8b0:400a:801::1003', type: AAAA}
84    - {TTL: '2100', data: '2607:f8b0:400a:801::1004', type: AAAA}
85- expected_addrs:
86  - {address: '1.2.3.4:1234', is_balancer: true}
87  do_ordered_address_comparison: false
88  expected_chosen_service_config: '{"loadBalancingPolicy":"round_robin","methodConfig":[{"name":[{"method":"Foo","service":"SimpleService"}],"waitForReady":true}]}'
89  expected_service_config_error: null
90  expected_lb_policy: round_robin
91  enable_srv_queries: true
92  enable_txt_queries: true
93  inject_broken_nameserver_list: false
94  record_to_resolve: srv-ipv4-simple-service-config
95  records:
96    _grpclb._tcp.srv-ipv4-simple-service-config:
97    - {TTL: '2100', data: 0 0 1234 ipv4-simple-service-config, type: SRV}
98    ipv4-simple-service-config:
99    - {TTL: '2100', data: 1.2.3.4, type: A}
100    _grpc_config.srv-ipv4-simple-service-config:
101    - {TTL: '2100', data: 'grpc_config=[{"serviceConfig":{"loadBalancingPolicy":"round_robin","methodConfig":[{"name":[{"method":"Foo","service":"SimpleService"}],"waitForReady":true}]}}]',
102      type: TXT}
103- expected_addrs:
104  - {address: '1.2.3.4:443', is_balancer: false}
105  do_ordered_address_comparison: false
106  expected_chosen_service_config: '{"loadBalancingPolicy":"round_robin","methodConfig":[{"name":[{"method":"Foo","service":"NoSrvSimpleService"}],"waitForReady":true}]}'
107  expected_service_config_error: null
108  expected_lb_policy: round_robin
109  enable_srv_queries: true
110  enable_txt_queries: true
111  inject_broken_nameserver_list: false
112  record_to_resolve: ipv4-no-srv-simple-service-config
113  records:
114    ipv4-no-srv-simple-service-config:
115    - {TTL: '2100', data: 1.2.3.4, type: A}
116    _grpc_config.ipv4-no-srv-simple-service-config:
117    - {TTL: '2100', data: 'grpc_config=[{"serviceConfig":{"loadBalancingPolicy":"round_robin","methodConfig":[{"name":[{"method":"Foo","service":"NoSrvSimpleService"}],"waitForReady":true}]}}]',
118      type: TXT}
119- expected_addrs:
120  - {address: '1.2.3.4:443', is_balancer: false}
121  do_ordered_address_comparison: false
122  expected_chosen_service_config: null
123  expected_service_config_error: null
124  expected_lb_policy: null
125  enable_srv_queries: true
126  enable_txt_queries: true
127  inject_broken_nameserver_list: false
128  record_to_resolve: ipv4-no-config-for-cpp
129  records:
130    ipv4-no-config-for-cpp:
131    - {TTL: '2100', data: 1.2.3.4, type: A}
132    _grpc_config.ipv4-no-config-for-cpp:
133    - {TTL: '2100', data: 'grpc_config=[{"clientLanguage":["python"],"serviceConfig":{"loadBalancingPolicy":"round_robin","methodConfig":[{"name":[{"method":"Foo","service":"PythonService"}],"waitForReady":true}]}}]',
134      type: TXT}
135- expected_addrs:
136  - {address: '1.2.3.4:443', is_balancer: false}
137  do_ordered_address_comparison: false
138  expected_chosen_service_config: null
139  expected_service_config_error: null
140  expected_lb_policy: null
141  enable_srv_queries: true
142  enable_txt_queries: true
143  inject_broken_nameserver_list: false
144  record_to_resolve: ipv4-cpp-config-has-zero-percentage
145  records:
146    ipv4-cpp-config-has-zero-percentage:
147    - {TTL: '2100', data: 1.2.3.4, type: A}
148    _grpc_config.ipv4-cpp-config-has-zero-percentage:
149    - {TTL: '2100', data: 'grpc_config=[{"percentage":0,"serviceConfig":{"loadBalancingPolicy":"round_robin","methodConfig":[{"name":[{"method":"Foo","service":"CppService"}],"waitForReady":true}]}}]',
150      type: TXT}
151- expected_addrs:
152  - {address: '1.2.3.4:443', is_balancer: false}
153  do_ordered_address_comparison: false
154  expected_chosen_service_config: '{"loadBalancingPolicy":"round_robin","methodConfig":[{"name":[{"method":"Foo","service":"CppService"}],"waitForReady":true}]}'
155  expected_service_config_error: null
156  expected_lb_policy: round_robin
157  enable_srv_queries: true
158  enable_txt_queries: true
159  inject_broken_nameserver_list: false
160  record_to_resolve: ipv4-second-language-is-cpp
161  records:
162    ipv4-second-language-is-cpp:
163    - {TTL: '2100', data: 1.2.3.4, type: A}
164    _grpc_config.ipv4-second-language-is-cpp:
165    - {TTL: '2100', data: 'grpc_config=[{"clientLanguage":["go"],"serviceConfig":{"loadBalancingPolicy":"round_robin","methodConfig":[{"name":[{"method":"Foo","service":"GoService"}],"waitForReady":true}]}},{"clientLanguage":["c++"],"serviceConfig":{"loadBalancingPolicy":"round_robin","methodConfig":[{"name":[{"method":"Foo","service":"CppService"}],"waitForReady":true}]}}]',
166      type: TXT}
167- expected_addrs:
168  - {address: '1.2.3.4:443', is_balancer: false}
169  do_ordered_address_comparison: false
170  expected_chosen_service_config: '{"loadBalancingPolicy":"round_robin","methodConfig":[{"name":[{"method":"Foo","service":"AlwaysPickedService"}],"waitForReady":true}]}'
171  expected_service_config_error: null
172  expected_lb_policy: round_robin
173  enable_srv_queries: true
174  enable_txt_queries: true
175  inject_broken_nameserver_list: false
176  record_to_resolve: ipv4-config-with-percentages
177  records:
178    ipv4-config-with-percentages:
179    - {TTL: '2100', data: 1.2.3.4, type: A}
180    _grpc_config.ipv4-config-with-percentages:
181    - {TTL: '2100', data: 'grpc_config=[{"percentage":0,"serviceConfig":{"loadBalancingPolicy":"round_robin","methodConfig":[{"name":[{"method":"Foo","service":"NeverPickedService"}],"waitForReady":true}]}},{"percentage":100,"serviceConfig":{"loadBalancingPolicy":"round_robin","methodConfig":[{"name":[{"method":"Foo","service":"AlwaysPickedService"}],"waitForReady":true}]}}]',
182      type: TXT}
183- expected_addrs:
184  - {address: '1.2.3.4:1234', is_balancer: true}
185  - {address: '1.2.3.4:443', is_balancer: false}
186  do_ordered_address_comparison: false
187  expected_chosen_service_config: null
188  expected_service_config_error: null
189  expected_lb_policy: null
190  enable_srv_queries: true
191  enable_txt_queries: true
192  inject_broken_nameserver_list: false
193  record_to_resolve: srv-ipv4-target-has-backend-and-balancer
194  records:
195    _grpclb._tcp.srv-ipv4-target-has-backend-and-balancer:
196    - {TTL: '2100', data: 0 0 1234 balancer-for-ipv4-has-backend-and-balancer, type: SRV}
197    balancer-for-ipv4-has-backend-and-balancer:
198    - {TTL: '2100', data: 1.2.3.4, type: A}
199    srv-ipv4-target-has-backend-and-balancer:
200    - {TTL: '2100', data: 1.2.3.4, type: A}
201- expected_addrs:
202  - {address: '[2607:f8b0:400a:801::1002]:1234', is_balancer: true}
203  - {address: '[2607:f8b0:400a:801::1002]:443', is_balancer: false}
204  do_ordered_address_comparison: false
205  expected_chosen_service_config: null
206  expected_service_config_error: null
207  expected_lb_policy: null
208  enable_srv_queries: true
209  enable_txt_queries: true
210  inject_broken_nameserver_list: false
211  record_to_resolve: srv-ipv6-target-has-backend-and-balancer
212  records:
213    _grpclb._tcp.srv-ipv6-target-has-backend-and-balancer:
214    - {TTL: '2100', data: 0 0 1234 balancer-for-ipv6-has-backend-and-balancer, type: SRV}
215    balancer-for-ipv6-has-backend-and-balancer:
216    - {TTL: '2100', data: '2607:f8b0:400a:801::1002', type: AAAA}
217    srv-ipv6-target-has-backend-and-balancer:
218    - {TTL: '2100', data: '2607:f8b0:400a:801::1002', type: AAAA}
219- expected_addrs:
220  - {address: '1.2.3.4:443', is_balancer: false}
221  do_ordered_address_comparison: false
222  expected_chosen_service_config: '{"loadBalancingPolicy":"round_robin","methodConfig":[{"name":[{"method":"Foo","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooTwo","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooThree","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooFour","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooFive","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooSix","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooSeven","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooEight","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooNine","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooTen","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooEleven","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooTwelve","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooThirteen","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooFourteen","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooFifteen","service":"SimpleService"}],"waitForReady":true}]}'
223  expected_service_config_error: null
224  expected_lb_policy: null
225  enable_srv_queries: true
226  enable_txt_queries: true
227  inject_broken_nameserver_list: false
228  record_to_resolve: ipv4-config-causing-fallback-to-tcp
229  records:
230    ipv4-config-causing-fallback-to-tcp:
231    - {TTL: '2100', data: 1.2.3.4, type: A}
232    _grpc_config.ipv4-config-causing-fallback-to-tcp:
233    - {TTL: '2100', data: 'grpc_config=[{"serviceConfig":{"loadBalancingPolicy":"round_robin","methodConfig":[{"name":[{"method":"Foo","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooTwo","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooThree","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooFour","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooFive","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooSix","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooSeven","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooEight","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooNine","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooTen","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooEleven","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooTwelve","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooThirteen","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooFourteen","service":"SimpleService"}],"waitForReady":true},{"name":[{"method":"FooFifteen","service":"SimpleService"}],"waitForReady":true}]}}]',
234      type: TXT}
235# Tests for which we don't enable SRV queries
236- expected_addrs:
237  - {address: '2.3.4.5:443', is_balancer: false}
238  do_ordered_address_comparison: false
239  expected_chosen_service_config: null
240  expected_service_config_error: null
241  expected_lb_policy: null
242  enable_srv_queries: false
243  enable_txt_queries: true
244  inject_broken_nameserver_list: false
245  record_to_resolve: srv-ipv4-single-target-srv-disabled
246  records:
247    _grpclb._tcp.srv-ipv4-single-target-srv-disabled:
248    - {TTL: '2100', data: 0 0 1234 ipv4-single-target-srv-disabled, type: SRV}
249    ipv4-single-target-srv-disabled:
250    - {TTL: '2100', data: 1.2.3.4, type: A}
251    srv-ipv4-single-target-srv-disabled:
252    - {TTL: '2100', data: 2.3.4.5, type: A}
253- expected_addrs:
254  - {address: '9.2.3.5:443', is_balancer: false}
255  - {address: '9.2.3.6:443', is_balancer: false}
256  - {address: '9.2.3.7:443', is_balancer: false}
257  do_ordered_address_comparison: false
258  expected_chosen_service_config: null
259  expected_service_config_error: null
260  expected_lb_policy: null
261  enable_srv_queries: false
262  enable_txt_queries: true
263  inject_broken_nameserver_list: false
264  record_to_resolve: srv-ipv4-multi-target-srv-disabled
265  records:
266    _grpclb._tcp.srv-ipv4-multi-target-srv-disabled:
267    - {TTL: '2100', data: 0 0 1234 ipv4-multi-target-srv-disabled, type: SRV}
268    ipv4-multi-target-srv-disabled:
269    - {TTL: '2100', data: 1.2.3.5, type: A}
270    - {TTL: '2100', data: 1.2.3.6, type: A}
271    - {TTL: '2100', data: 1.2.3.7, type: A}
272    srv-ipv4-multi-target-srv-disabled:
273    - {TTL: '2100', data: 9.2.3.5, type: A}
274    - {TTL: '2100', data: 9.2.3.6, type: A}
275    - {TTL: '2100', data: 9.2.3.7, type: A}
276- expected_addrs:
277  - {address: '[2600::1001]:443', is_balancer: false}
278  do_ordered_address_comparison: false
279  expected_chosen_service_config: null
280  expected_service_config_error: null
281  expected_lb_policy: null
282  enable_srv_queries: false
283  enable_txt_queries: true
284  inject_broken_nameserver_list: false
285  record_to_resolve: srv-ipv6-single-target-srv-disabled
286  records:
287    _grpclb._tcp.srv-ipv6-single-target-srv-disabled:
288    - {TTL: '2100', data: 0 0 1234 ipv6-single-target-srv-disabled, type: SRV}
289    ipv6-single-target-srv-disabled:
290    - {TTL: '2100', data: '2607:f8b0:400a:801::1001', type: AAAA}
291    srv-ipv6-single-target-srv-disabled:
292    - {TTL: '2100', data: '2600::1001', type: AAAA}
293- expected_addrs:
294  - {address: '[2600::1002]:443', is_balancer: false}
295  - {address: '[2600::1003]:443', is_balancer: false}
296  - {address: '[2600::1004]:443', is_balancer: false}
297  do_ordered_address_comparison: false
298  expected_chosen_service_config: null
299  expected_service_config_error: null
300  expected_lb_policy: null
301  enable_srv_queries: false
302  enable_txt_queries: true
303  inject_broken_nameserver_list: false
304  record_to_resolve: srv-ipv6-multi-target-srv-disabled
305  records:
306    _grpclb._tcp.srv-ipv6-multi-target-srv-disabled:
307    - {TTL: '2100', data: 0 0 1234 ipv6-multi-target-srv-disabled, type: SRV}
308    ipv6-multi-target-srv-disabled:
309    - {TTL: '2100', data: '2607:f8b0:400a:801::1002', type: AAAA}
310    - {TTL: '2100', data: '2607:f8b0:400a:801::1003', type: AAAA}
311    - {TTL: '2100', data: '2607:f8b0:400a:801::1004', type: AAAA}
312    srv-ipv6-multi-target-srv-disabled:
313    - {TTL: '2100', data: '2600::1002', type: AAAA}
314    - {TTL: '2100', data: '2600::1003', type: AAAA}
315    - {TTL: '2100', data: '2600::1004', type: AAAA}
316- expected_addrs:
317  - {address: '5.5.3.4:443', is_balancer: false}
318  do_ordered_address_comparison: false
319  expected_chosen_service_config: '{"loadBalancingPolicy":"round_robin","methodConfig":[{"name":[{"method":"Foo","service":"SimpleService"}],"waitForReady":true}]}'
320  expected_service_config_error: null
321  expected_lb_policy: round_robin
322  enable_srv_queries: false
323  enable_txt_queries: true
324  inject_broken_nameserver_list: false
325  record_to_resolve: srv-ipv4-simple-service-config-srv-disabled
326  records:
327    _grpclb._tcp.srv-ipv4-simple-service-config-srv-disabled:
328    - {TTL: '2100', data: 0 0 1234 ipv4-simple-service-config-srv-disabled, type: SRV}
329    ipv4-simple-service-config-srv-disabled:
330    - {TTL: '2100', data: 1.2.3.4, type: A}
331    srv-ipv4-simple-service-config-srv-disabled:
332    - {TTL: '2100', data: 5.5.3.4, type: A}
333    _grpc_config.srv-ipv4-simple-service-config-srv-disabled:
334    - {TTL: '2100', data: 'grpc_config=[{"serviceConfig":{"loadBalancingPolicy":"round_robin","methodConfig":[{"name":[{"method":"Foo","service":"SimpleService"}],"waitForReady":true}]}}]',
335      type: TXT}
336- expected_addrs:
337  - {address: '1.2.3.4:1234', is_balancer: true}
338  do_ordered_address_comparison: false
339  expected_chosen_service_config: null
340  expected_service_config_error: null
341  expected_lb_policy: null
342  enable_srv_queries: true
343  enable_txt_queries: false
344  inject_broken_nameserver_list: false
345  record_to_resolve: srv-ipv4-simple-service-config-txt-disabled
346  records:
347    _grpclb._tcp.srv-ipv4-simple-service-config-txt-disabled:
348    - {TTL: '2100', data: 0 0 1234 ipv4-simple-service-config-txt-disabled, type: SRV}
349    ipv4-simple-service-config-txt-disabled:
350    - {TTL: '2100', data: 1.2.3.4, type: A}
351    _grpc_config.srv-ipv4-simple-service-config-txt-disabled:
352    - {TTL: '2100', data: 'grpc_config=[{"serviceConfig":{"loadBalancingPolicy":"round_robin","methodConfig":[{"name":[{"method":"Foo","service":"SimpleService"}],"waitForReady":true}]}}]',
353      type: TXT}
354- expected_addrs:
355  - {address: '1.2.3.4:443', is_balancer: false}
356  do_ordered_address_comparison: false
357  expected_chosen_service_config: null
358  expected_service_config_error: null
359  expected_lb_policy: null
360  enable_srv_queries: true
361  enable_txt_queries: false
362  inject_broken_nameserver_list: false
363  record_to_resolve: ipv4-cpp-config-has-zero-percentage-txt-disabled
364  records:
365    ipv4-cpp-config-has-zero-percentage-txt-disabled:
366    - {TTL: '2100', data: 1.2.3.4, type: A}
367    _grpc_config.ipv4-cpp-config-has-zero-percentage-txt-disabled:
368    - {TTL: '2100', data: 'grpc_config=[{"percentage":0,"serviceConfig":{"loadBalancingPolicy":"round_robin","methodConfig":[{"name":[{"method":"Foo","service":"CppService"}],"waitForReady":true}]}}]',
369      type: TXT}
370- expected_addrs:
371  - {address: '1.2.3.4:443', is_balancer: false}
372  do_ordered_address_comparison: false
373  expected_chosen_service_config: null
374  expected_service_config_error: null
375  expected_lb_policy: null
376  enable_srv_queries: true
377  enable_txt_queries: false
378  inject_broken_nameserver_list: false
379  record_to_resolve: ipv4-second-language-is-cpp-txt-disabled
380  records:
381    ipv4-second-language-is-cpp-txt-disabled:
382    - {TTL: '2100', data: 1.2.3.4, type: A}
383    _grpc_config.ipv4-second-language-is-cpp-txt-disabled:
384    - {TTL: '2100', data: 'grpc_config=[{"clientLanguage":["go"],"serviceConfig":{"loadBalancingPolicy":"round_robin","methodConfig":[{"name":[{"method":"Foo","service":"GoService"}],"waitForReady":true}]}},{"clientLanguage":["c++"],"serviceConfig":{"loadBalancingPolicy":"round_robin","methodConfig":[{"name":[{"method":"Foo","service":"CppService"}],"waitForReady":true}]}}]',
385      type: TXT}
386- expected_addrs:
387  - {address: '1.2.3.4:443', is_balancer: false}
388  do_ordered_address_comparison: false
389  expected_chosen_service_config: null
390  expected_service_config_error: 'JSON parse error'
391  expected_lb_policy: null
392  enable_srv_queries: true
393  enable_txt_queries: true
394  inject_broken_nameserver_list: false
395  record_to_resolve: ipv4-svc_cfg_bad_json
396  records:
397    ipv4-svc_cfg_bad_json:
398    - {TTL: '2100', data: 1.2.3.4, type: A}
399    _grpc_config.ipv4-svc_cfg_bad_json:
400    - {TTL: '2100', data: 'grpc_config=[{]',
401      type: TXT}
402- expected_addrs:
403  - {address: '1.2.3.4:443', is_balancer: false}
404  do_ordered_address_comparison: false
405  expected_chosen_service_config: null
406  expected_service_config_error: 'field:clientLanguage error:should be of type array'
407  expected_lb_policy: null
408  enable_srv_queries: true
409  enable_txt_queries: true
410  inject_broken_nameserver_list: false
411  record_to_resolve: ipv4-svc_cfg_bad_client_language
412  records:
413    ipv4-svc_cfg_bad_client_language:
414    - {TTL: '2100', data: 1.2.3.4, type: A}
415    _grpc_config.ipv4-svc_cfg_bad_client_language:
416    - {TTL: '2100', data: 'grpc_config=[{"clientLanguage":"go","serviceConfig":{"loadBalancingPolicy":"round_robin","methodConfig":[{"name":[{"method":"Foo","service":"GoService"}],"waitForReady":true}]}},{"clientLanguage":["c++"],"serviceConfig":{"loadBalancingPolicy":"round_robin","methodConfig":[{"name":[{"method":"Foo","service":"CppService"}],"waitForReady":true}]}}]',
417      type: TXT}
418- expected_addrs:
419  - {address: '1.2.3.4:443', is_balancer: false}
420  do_ordered_address_comparison: false
421  expected_chosen_service_config: null
422  expected_service_config_error: 'field:percentage error:should be of type number'
423  expected_lb_policy: null
424  enable_srv_queries: true
425  enable_txt_queries: true
426  inject_broken_nameserver_list: false
427  record_to_resolve: ipv4-svc_cfg_bad_percentage
428  records:
429    ipv4-svc_cfg_bad_percentage:
430    - {TTL: '2100', data: 1.2.3.4, type: A}
431    _grpc_config.ipv4-svc_cfg_bad_percentage:
432    - {TTL: '2100', data: 'grpc_config=[{"percentage":"0","serviceConfig":{"loadBalancingPolicy":"round_robin","methodConfig":[{"name":[{"method":"Foo","service":"GoService"}],"waitForReady":true}]}},{"clientLanguage":["c++"],"serviceConfig":{"loadBalancingPolicy":"round_robin","methodConfig":[{"name":[{"method":"Foo","service":"CppService"}],"waitForReady":true}]}}]',
433      type: TXT}
434- expected_addrs:
435  - {address: '1.2.3.4:443', is_balancer: false}
436  do_ordered_address_comparison: false
437  expected_chosen_service_config: null
438  expected_service_config_error: 'field:waitForReady error:Type should be true/false'
439  expected_lb_policy: null
440  enable_srv_queries: true
441  enable_txt_queries: true
442  inject_broken_nameserver_list: false
443  record_to_resolve: ipv4-svc_cfg_bad_wait_for_ready
444  records:
445    ipv4-svc_cfg_bad_wait_for_ready:
446    - {TTL: '2100', data: 1.2.3.4, type: A}
447    _grpc_config.ipv4-svc_cfg_bad_wait_for_ready:
448    - {TTL: '2100', data: 'grpc_config=[{"serviceConfig":{"methodConfig":[{"name":[{"method":"Foo","service":"CppService"}],"waitForReady":"true"}]}}]',
449      type: TXT}
450# Tests for which we also exercise the resolver's ability to skip past a broken DNS server in its nameserver list
451- expected_addrs:
452  - {address: '5.5.5.5:443', is_balancer: false}
453  do_ordered_address_comparison: false
454  expected_chosen_service_config: null
455  expected_service_config_error: null
456  expected_lb_policy: null
457  enable_srv_queries: true
458  enable_txt_queries: true
459  inject_broken_nameserver_list: true
460  record_to_resolve: no-srv-ipv4-single-target-inject-broken-nameservers
461  records:
462    no-srv-ipv4-single-target-inject-broken-nameservers:
463    - {TTL: '2100', data: 5.5.5.5, type: A}
464- expected_addrs:
465  - {address: '1.2.3.4:443', is_balancer: false}
466  do_ordered_address_comparison: false
467  expected_chosen_service_config: '{"loadBalancingPolicy":["round_robin"]}'
468  expected_service_config_error: 'field:loadBalancingPolicy error:type should be string'
469  expected_lb_policy: null
470  enable_srv_queries: true
471  enable_txt_queries: true
472  inject_broken_nameserver_list: true
473  record_to_resolve: ipv4-config-causing-fallback-to-tcp-inject-broken-nameservers
474  records:
475    ipv4-config-causing-fallback-to-tcp-inject-broken-nameservers:
476    - {TTL: '2100', data: 1.2.3.4, type: A}
477    _grpc_config.ipv4-config-causing-fallback-to-tcp-inject-broken-nameservers:
478    - {TTL: '2100', data: 'grpc_config=[{"serviceConfig":{"loadBalancingPolicy":["round_robin"]}}]',
479      type: TXT}
480# This tests that gRPCLB addresses are sorted properly per RFC 6724. Note
481# that the only assumption that this makes is that the machine that the
482# test runs on has a functioning IPv6 loopback (which by the RFC should
483# always be preferred). Note too that the ordering of the AAAA records
484# listed under the dualstack-balancer name is important in order to
485# actually test this sorting.
486- expected_addrs:
487  - {address: '[::1]:1234', is_balancer: true}
488  - {address: '[2002::1111]:1234', is_balancer: true}
489  do_ordered_address_comparison: true
490  expected_chosen_service_config: null
491  expected_service_config_error: null
492  expected_lb_policy: null
493  enable_srv_queries: true
494  enable_txt_queries: true
495  inject_broken_nameserver_list: false
496  record_to_resolve: load-balanced-name-with-dualstack-balancer
497  records:
498    _grpclb._tcp.load-balanced-name-with-dualstack-balancer:
499    - {TTL: '2100', data: 0 0 1234 dualstack-balancer, type: SRV}
500    dualstack-balancer:
501    - {TTL: '2100', data: '2002::1111', type: AAAA}
502    - {TTL: '2100', data: '::1', type: AAAA}
503