2016-08-19 17:14:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								package   kubernetes 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import   ( 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 "strings" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 "testing" 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									 "time" 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-01-07 14:51:32 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									 "github.com/coredns/coredns/plugin/pkg/fall" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-08-19 17:14:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									 "github.com/mholt/caddy" 
  
						 
					
						
							
								
									
										
										
										
											2017-09-29 15:58:50 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									 meta   "k8s.io/apimachinery/pkg/apis/meta/v1" 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func   TestKubernetesParse ( t   * testing . T )   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 tests   :=   [ ] struct   { 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 input                   string          // Corefile data as string 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 shouldErr               bool            // true if test case is exected to produce an error. 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 expectedErrContent      string          // substring from the expected error. Empty for positive cases. 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 expectedZoneCount       int             // expected count of defined zones. 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 expectedNSCount         int             // expected count of namespaces. 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 expectedResyncPeriod    time . Duration   // expected resync period value 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 expectedLabelSelector   string          // expected label selector value 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 expectedPodMode         string 
  
						 
					
						
							
								
									
										
										
										
											2018-01-07 14:51:32 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 expectedFallthrough     fall . F 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 expectedUpstreams       [ ] string 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									 } { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 // positive 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 ` kubernetes coredns.local ` , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 22:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 podModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-09 22:29:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 fall . Zero , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 ` kubernetes coredns.local test.local ` , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 2 , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 22:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 podModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-09 22:29:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 fall . Zero , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 22:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 podModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-09 22:29:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 fall . Zero , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
									
										
										
										
											2018-01-28 16:40:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									 endpoint   http : //localhost:9090 http://localhost:9091 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 22:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 podModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-09 22:29:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 fall . Zero , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 namespaces   demo 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 22:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 podModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-09 22:29:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 fall . Zero , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 namespaces   demo   test 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 2 , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 22:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 podModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-09 22:29:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 fall . Zero , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     resyncperiod   30 s 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 30   *   time . Second , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 22:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 podModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-09 22:29:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 fall . Zero , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     resyncperiod   15 m 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 15   *   time . Minute , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 22:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 podModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-09 22:29:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 fall . Zero , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     labels   environment = prod 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "environment=prod" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 22:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 podModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-09 22:29:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 fall . Zero , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     labels   environment   in   ( production ,   staging ,   qa ) , application = nginx 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "application=nginx,environment in (production,qa,staging)" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 22:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 podModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-09 22:29:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 fall . Zero , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   test . local   { 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								     resyncperiod   15 m 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									 endpoint   http : //localhost:8080 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 namespaces   demo   test 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								     labels   environment   in   ( production ,   staging ,   qa ) , application = nginx 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								     fallthrough 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 2 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 2 , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 15   *   time . Minute , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "application=nginx,environment in (production,qa,staging)" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 22:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 podModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-09 22:29:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 fall . Root , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 22:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 // negative 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     endpoint 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 true , 
  
						 
					
						
							
								
									
										
										
										
											2017-06-14 09:37:10 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "rong argument count or unexpected line ending" , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											 - 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 - 1 , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 22:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 podModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-09 22:29:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 fall . Zero , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 namespaces 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 true , 
  
						 
					
						
							
								
									
										
										
										
											2017-06-14 09:37:10 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "rong argument count or unexpected line ending" , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 - 1 , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											 - 1 , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 22:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 podModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-09 22:29:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 fall . Zero , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     resyncperiod 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 true , 
  
						 
					
						
							
								
									
										
										
										
											2017-06-14 09:37:10 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "rong argument count or unexpected line ending" , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 - 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0   *   time . Minute , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 22:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 podModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-09 22:29:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 fall . Zero , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     resyncperiod   15 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 true , 
  
						 
					
						
							
								
									
										
										
										
											2017-06-14 09:37:10 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "unable to parse resync duration value" , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 - 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0   *   time . Second , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 22:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 podModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-09 22:29:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 fall . Zero , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     resyncperiod   abc 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 true , 
  
						 
					
						
							
								
									
										
										
										
											2017-06-14 09:37:10 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "unable to parse resync duration value" , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 - 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0   *   time . Second , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 22:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 podModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-09 22:29:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 fall . Zero , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     labels 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 true , 
  
						 
					
						
							
								
									
										
										
										
											2017-06-14 09:37:10 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "rong argument count or unexpected line ending" , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 - 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0   *   time . Second , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 22:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 podModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-09 22:29:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 fall . Zero , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     labels   environment   in   ( production ,   qa 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 true , 
  
						 
					
						
							
								
									
										
										
										
											2017-06-14 09:37:10 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "unable to parse label selector" , 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 - 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0   *   time . Second , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 22:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 podModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-09 22:29:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 fall . Zero , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 // pods disabled 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 pods   disabled 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 22:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 podModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-09 22:29:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 fall . Zero , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 // pods insecure 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 pods   insecure 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 22:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 podModeInsecure , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-09 22:29:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 fall . Zero , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 // pods verified 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 pods   verified 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 22:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 podModeVerified , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-09 22:29:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 fall . Zero , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 // pods invalid 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 pods   giant_seed 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 true , 
  
						 
					
						
							
								
									
										
										
										
											2017-06-14 09:37:10 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "rong value for pods" , 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 - 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 22:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 podModeVerified , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-09 22:29:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 fall . Zero , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-06 14:52:09 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 // fallthrough with zones 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
									
										
										
										
											2018-01-06 14:52:09 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									 fallthrough   ip6 . arpa   inaddr . arpa   foo . com 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-06 14:52:09 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
									
										
										
										
											2017-06-14 09:37:10 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 "rong argument count" , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-06 14:52:09 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 22:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 podModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-07 14:51:32 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 fall . F { Zones :   [ ] string { "ip6.arpa." ,   "inaddr.arpa." ,   "foo.com." } } , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 // Valid upstream 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 upstream   13.14 .15 .16 : 53 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 22:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 podModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-09 22:29:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 fall . Zero , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 [ ] string { "13.14.15.16:53" } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 // Invalid upstream 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 upstream   13.14 .15 .16 orange 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 true , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "not an IP address or file: \"13.14.15.16orange\"" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 - 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 22:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 podModeDisabled , 
  
						 
					
						
							
								
									
										
										
										
											2018-01-09 22:29:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 fall . Zero , 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
									
										
										
										
											2018-02-07 11:31:08 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 // More than one Kubernetes not allowed 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								kubernetes   cluster . local ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 true , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "only one kubernetes section allowed per server block" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 - 1 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 0 , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 defaultResyncPeriod , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 podModeDisabled , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 fall . Zero , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 nil , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 for   i ,   test   :=   range   tests   { 
  
						 
					
						
							
								
									
										
										
										
											2016-08-19 17:14:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 c   :=   caddy . NewTestController ( "dns" ,   test . input ) 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 21:52:18 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 k8sController ,   opts ,   err   :=   kubernetesParse ( c ) 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 if   test . shouldErr   &&   err   ==   nil   { 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 t . Errorf ( "Test %d: Expected error, but did not find error for input '%s'. Error was: '%v'" ,   i ,   test . input ,   err ) 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 if   err   !=   nil   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 if   ! test . shouldErr   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 t . Errorf ( "Test %d: Expected no error but found one for input %s. Error was: %v" ,   i ,   test . input ,   err ) 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												 continue 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 if   test . shouldErr   &&   ( len ( test . expectedErrContent )   <   1 )   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 t . Fatalf ( "Test %d: Test marked as expecting an error, but no expectedErrContent provided for input '%s'. Error was: '%v'" ,   i ,   test . input ,   err ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 if   test . shouldErr   &&   ( test . expectedZoneCount   >=   0 )   { 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												 t . Errorf ( "Test %d: Test marked as expecting an error, but provides value for expectedZoneCount!=-1 for input '%s'. Error was: '%v'" ,   i ,   test . input ,   err ) 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 if   ! strings . Contains ( err . Error ( ) ,   test . expectedErrContent )   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 t . Errorf ( "Test %d: Expected error to contain: %v, found error: %v, input: %s" ,   i ,   test . expectedErrContent ,   err ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 } 
  
						 
					
						
							
								
									
										
										
										
											2016-08-05 18:19:51 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 continue 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 // No error was raised, so validate initialization of k8sController 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 //     Zones 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 foundZoneCount   :=   len ( k8sController . Zones ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 if   foundZoneCount   !=   test . expectedZoneCount   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 t . Errorf ( "Test %d: Expected kubernetes controller to be initialized with %d zones, instead found %d zones: '%v' for input '%s'" ,   i ,   test . expectedZoneCount ,   foundZoneCount ,   k8sController . Zones ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 //    Namespaces 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 foundNSCount   :=   len ( k8sController . Namespaces ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 if   foundNSCount   !=   test . expectedNSCount   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 t . Errorf ( "Test %d: Expected kubernetes controller to be initialized with %d namespaces. Instead found %d namespaces: '%v' for input '%s'" ,   i ,   test . expectedNSCount ,   foundNSCount ,   k8sController . Namespaces ,   test . input ) 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 //    ResyncPeriod 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 21:52:18 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 foundResyncPeriod   :=   opts . resyncPeriod 
  
						 
					
						
							
								
									
										
										
										
											2016-08-08 14:30:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 if   foundResyncPeriod   !=   test . expectedResyncPeriod   { 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 t . Errorf ( "Test %d: Expected kubernetes controller to be initialized with resync period '%s'. Instead found period '%s' for input '%s'" ,   i ,   test . expectedResyncPeriod ,   foundResyncPeriod ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 //    Labels 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 21:52:18 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 if   opts . labelSelector   !=   nil   { 
  
						 
					
						
							
								
									
										
										
										
											2017-09-29 15:58:50 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 foundLabelSelectorString   :=   meta . FormatLabelSelector ( opts . labelSelector ) 
  
						 
					
						
							
								
									
										
										
										
											2016-08-12 20:44:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											 if   foundLabelSelectorString   !=   test . expectedLabelSelector   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 t . Errorf ( "Test %d: Expected kubernetes controller to be initialized with label selector '%s'. Instead found selector '%s' for input '%s'" ,   i ,   test . expectedLabelSelector ,   foundLabelSelectorString ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 } 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										 } 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 //    Pods 
  
						 
					
						
							
								
									
										
										
										
											2017-08-22 22:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 foundPodMode   :=   k8sController . podMode 
  
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:51:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 if   foundPodMode   !=   test . expectedPodMode   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 t . Errorf ( "Test %d: Expected kubernetes controller to be initialized with pod mode '%s'. Instead found pod mode '%s' for input '%s'" ,   i ,   test . expectedPodMode ,   foundPodMode ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 // fallthrough 
  
						 
					
						
							
								
									
										
										
										
											2018-01-07 14:51:32 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 if   ! k8sController . Fall . Equal ( test . expectedFallthrough )   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 t . Errorf ( "Test %d: Expected kubernetes controller to be initialized with fallthrough '%v'. Instead found fallthrough '%v' for input '%s'" ,   i ,   test . expectedFallthrough ,   k8sController . Fall ,   test . input ) 
  
						 
					
						
							
								
									
										
										
										
											2017-04-19 16:08:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 } 
  
						 
					
						
							
								
									
										
										
										
											2017-05-30 08:20:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										 // upstream 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 foundUpstreams   :=   k8sController . Proxy . Upstreams 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 if   test . expectedUpstreams   ==   nil   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 if   foundUpstreams   !=   nil   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 t . Errorf ( "Test %d: Expected kubernetes controller to not be initialized with upstreams for input '%s'" ,   i ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 }   else   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 if   foundUpstreams   ==   nil   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 t . Errorf ( "Test %d: Expected kubernetes controller to be initialized with upstreams for input '%s'" ,   i ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 }   else   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 if   len ( * foundUpstreams )   !=   len ( test . expectedUpstreams )   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													 t . Errorf ( "Test %d: Expected kubernetes controller to be initialized with %d upstreams. Instead found %d upstreams for input '%s'" ,   i ,   len ( test . expectedUpstreams ) ,   len ( * foundUpstreams ) ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 for   j ,   want   :=   range   test . expectedUpstreams   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													 got   :=   ( * foundUpstreams ) [ j ] . Select ( ) . Name 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													 if   got   !=   want   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														 t . Errorf ( "Test %d: Expected kubernetes controller to be initialized with upstream '%s'. Instead found upstream '%s' for input '%s'" ,   i ,   want ,   got ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } 
  
						 
					
						
							
								
									
										
										
										
											2016-07-22 16:07:27 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} 
  
						 
					
						
							
								
									
										
										
										
											2017-11-08 08:07:10 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func   TestKubernetesEndpointsParse ( t   * testing . T )   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 tests   :=   [ ] struct   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 input                  string   // Corefile data as string 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 shouldErr              bool     // true if test case is exected to produce an error. 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 expectedErrContent     string   // substring from the expected error. Empty for positive cases. 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 expectedEndpointMode   bool 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 } { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 // valid endpoints mode 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 endpoint_pod_names 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 true , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 // endpoints invalid 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 endpoint_pod_names   giant_seed 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 true , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "rong argument count or unexpected" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 // endpoint not set 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 ` kubernetes   coredns . local   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ` , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 "" , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 false , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 for   i ,   test   :=   range   tests   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 c   :=   caddy . NewTestController ( "dns" ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 k8sController ,   _ ,   err   :=   kubernetesParse ( c ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 if   test . shouldErr   &&   err   ==   nil   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 t . Errorf ( "Test %d: Expected error, but did not find error for input '%s'. Error was: '%v'" ,   i ,   test . input ,   err ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 if   err   !=   nil   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 if   ! test . shouldErr   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 t . Errorf ( "Test %d: Expected no error but found one for input %s. Error was: %v" ,   i ,   test . input ,   err ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 continue 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 if   ! strings . Contains ( err . Error ( ) ,   test . expectedErrContent )   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 t . Errorf ( "Test %d: Expected error to contain: %v, found error: %v, input: %s" ,   i ,   test . expectedErrContent ,   err ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 continue 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 // Endpoints 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 foundEndpointNameMode   :=   k8sController . endpointNameMode 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 if   foundEndpointNameMode   !=   test . expectedEndpointMode   { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 t . Errorf ( "Test %d: Expected kubernetes controller to be initialized with endpoints mode '%v'. Instead found endpoints mode '%v' for input '%s'" ,   i ,   test . expectedEndpointMode ,   foundEndpointNameMode ,   test . input ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 } 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}