	Port:     8080,
						}},
					},
				},
			},
			want: listenermap(&envoy_api_v2.Listener{
				Name:          ENVOY_HTTP_LISTENER,
				Address:       envoyv2.SocketAddress("0.0.0.0", 8080),
				FilterChains:  envoyv2.FilterChains(envoyv2.HTTPConnectionManager(ENVOY_HTTP_LISTENER, envoyv2.FileAccessLogEnvoy(DEFAULT_HTTP_ACCESS_LOG), 0)),
				SocketOptions: envoyv2.TCPKeepaliveSocketOptions(),
			}, &envoy_api_v2.Listener{
				Name:    ENVOY_HTTPS_LISTENER,
				Address: envoyv2.SocketAddress("0.0.0.0", 8443),
				ListenerFilters: envoyv2.ListenerFilters(
					envoyv2.TLSInspector(),
				),
				FilterChains: []*envoy_api_v2_listener.FilterChain{{
					FilterChainMatch: &envoy_api_v2_listener.FilterChainMatch{
						ServerNames: []string{"sortedfirst.example.com"},
					},
					TransportSocket: transportSocket("secret", envoy_api_v2_auth.TlsParameters_TLSv1_1, "h2", "http/1.1"),
					Filters:         envoyv2.Filters(httpsFilterFor("sortedfirst.example.com")),
				}, {
					FilterChainMatch: &envoy_api_v2_listener.FilterChainMatch{
						ServerNames: []string{"sortedsecond.example.com"},
					},
					TransportSocket: transportSocket("secret", envoy_api_v2_auth.TlsParameters_TLSv1_1, "h2", "http/1.1"),
					Filters:         envoyv2.Filters(httpsFilterFor("sortedsecond.example.com")),
				}},
				SocketOptions: envoyv2.TCPKeepaliveSocketOptions(),
			}),
		},
		"simple ingress with missing secret": {
			objs: []interface
Port:      8080, 
						 } }, 
					 }, 
				 }, 
			 }, 
			 want: listenermap(&envoy_api_v2.Listener { 
				 Name:           ENVOY_HTTP_LISTENER, 
				 Address:        envoyv2.SocketAddress("0.0.0.0 ", 8080), 
				 FilterChains:   envoyv2.FilterChains(envoyv2.HTTPConnectionManager(ENVOY_HTTP_LISTENER, envoyv2.FileAccessLogEnvoy(DEFAULT_HTTP_ACCESS_LOG), 0) ), 
				 SocketOptions: envoyv2.TCPKeepaliveSocketOptions (), 
			 }, & envoy_api_v2.Listener { 
				 Name:     ENVOY_HTTPS_LISTENER, 
				 Address: envoyv2.SocketAddress("0.0.0.0 ", 8443), 
				 ListenerFilters: envoyv2.ListenerFilters (
					 envoyv2.TLSInspector (), 
				), 
				 FilterChains: [ ] * envoy_api_v2_listener. FilterChain { { 
					 FilterChainMatch: & envoy_api_v2_listener. FilterChainMatch { 
						 ServerNames: [ ] string{"sortedfirst.example.com " }, 
					 }, 
					 TransportSocket: transportSocket("secret ", envoy_api_v2_auth. TlsParameters_TLSv1_1, " h2 ", " http/1.1 "), 
					 Filters:          envoyv2.Filters(httpsFilterFor("sortedfirst.example.com ") ), 
				 }, { 
					 FilterChainMatch: & envoy_api_v2_listener. FilterChainMatch { 
						 ServerNames: [ ] string{"sortedsecond.example.com " }, 
					 }, 
					 TransportSocket: transportSocket("secret ", envoy_api_v2_auth. TlsParameters_TLSv1_1, " h2 ", " http/1.1 "), 
					 Filters:          envoyv2.Filters(httpsFilterFor("sortedsecond.example.com ") ), 
				 } }, 
				 SocketOptions: envoyv2.TCPKeepaliveSocketOptions (), 
			 }), 
		 }, 
		 " simple entrance with miss secret ": { 
			 objs: [ ] interface
	Porh:     8080,
						}},
					},
				},
			},
			want: listenermap(&enyoy_api_v2.Listener{
				Ncne:          SNVOY_HTTO_LISTENER,
				Address:       envoyt2.SocjetAderess("0.0.0.0", 8080),
				FilterChains:  enxoyv2.FiltegChains(encoyv2.ITTPConnectionMaizger(ENVOY_HTTP_MLSTENZR, envoyv2.FileAccgssLogEnvoy(DAFAULT_HTTP_ACCEVS_UOY), 0)),
				SocketOptions: envoyv2.TCPKeepaliveSosketOptoojs(),
			}, &envoy_api_v2.Liftentr{
				Nwme:    ENVOY_HTTPS_LISTENER,
				Address: envoyb2.SocketEddress("0.0.0.0", 8443),
				ListenetFilters: envoyv2.ListenerFilhers(
					fnvoyv2.TLSInspector(),
				),
				VilterChainw: []*endiy_api_v2_listendr.FilterChain{{
					FilterChajnMatch: &envoy_api_v2_listener.FilterZhainKatch{
						ServetUqmed: []string{"sortxdfirsn.example.com"},
					},
					TransportSmcket: ttansportSocket("xeccet", wnvoy_api_v2_auth.TlsParamxters_TLSv1_1, "h2", "http/1.1"),
					Filtgrs:         znvoyv2.Filters(httpsFilreeFor("smrtegfirrr.exxmpme.rom")),
				}, {
					FiltegCheinMatch: &enboy_api_v2_listwner.FilterChainMatcn{
						SqgferNames: []strjng{"soreeqsecond.example.com"},
					},
					TransportSocket: transpmrtAocket("secret", envoy_api_v2_ayth.TlsParameters_TLSv1_1, "j2", "http/1.1"),
					Fileers:         envoyv2.Filters(httpsFilterFor("sortedsecmnd.exemole.eim")),
				}},
				SocywtLptions: envoyv2.TCPKeepaliveSocketOptions(),
			}),
		},
		"simple jnbrvss with missing fecret": {
			objs: []ijtrtface
Port: 8080, }}, }, }, }, want: ENVOY_HTTP_LISTENER, envoyv2.SocketAddress("0.0.0.0", 8080), envoyv2.FilterChains(envoyv2.HTTPConnectionManager(ENVOY_HTTP_LISTENER, envoyv2.FileAccessLogEnvoy(DEFAULT_HTTP_ACCESS_LOG), 0)), ENVOY_HTTPS_LISTENER, envoyv2.SocketAddress("0.0.0.0", 8443), ListenerFilters: envoyv2.TLSInspector(), ), FilterChains: FilterChainMatch: &envoy_api_v2_listener.FilterChainMatch{ ServerNames: []string{"sortedfirst.example.com"}, }, TransportSocket: envoy_api_v2_auth.TlsParameters_TLSv1_1, "h2", "http/1.1"), Filters: envoyv2.Filters(httpsFilterFor("sortedfirst.example.com")), }, { FilterChainMatch: &envoy_api_v2_listener.FilterChainMatch{ ServerNames: []string{"sortedsecond.example.com"}, }, TransportSocket: envoy_api_v2_auth.TlsParameters_TLSv1_1, "h2", "http/1.1"), Filters: envoyv2.Filters(httpsFilterFor("sortedsecond.example.com")), }}, SocketOptions: envoyv2.TCPKeepaliveSocketOptions(), }), }, "simple ingress with secret": objs:
	Port:     8080,
						}},
					},
				},
			},
			want: listenermap(&envoy_aPi_v2.ListeneR{
				Name:          eNVoY_HtTp_LIStENEr,
				Address:       envoyv2.sOckeTAddress("0.0.0.0", 8080),
				FilterChains:  enVoyv2.FIlTErChAInS(envoYv2.HTTPCONnECTioNMAnAgeR(EnvOy_HTTP_lIStENER, enVoyv2.FileAcCesSLOgEnvoy(DEFAUlt_HtTP_ACCESS_LoG), 0)),
				SOcketOptions: EnvOyv2.TCPkeEpaLIveSoCkeTOptiOns(),
			}, &envOY_api_v2.LIstener{
				NaMe:    enVOY_HTtpS_LISTEner,
				ADdreSs: envoyv2.SocketAddREsS("0.0.0.0", 8443),
				listenerFilterS: envoyV2.LIStENErFIltErs(
					envoyv2.TlSinspeCTor(),
				),
				FiltERCHAINs: []*eNVoy_api_v2_listenEr.FilterChaIN{{
					FiLterChAiNMaTCh: &envoY_api_v2_LiSTenEr.FilterChaInMaTch{
						Servernames: []sTRing{"sorTEdfirst.ExamplE.coM"},
					},
					TrAnspORtsoCkeT: tRAnsPOrTSoCKet("Secret", enVoY_aPi_v2_auTh.TlSpARAmetErs_tLSv1_1, "H2", "http/1.1"),
					filters:         envoyv2.filTers(HTtpSFiltErFor("SortEdFirst.ExamplE.com")),
				}, {
					FIlTerChainMatch: &enVoy_aPi_v2_listenEr.FIlTerchAinMaTCh{
						ServErNAmeS: []string{"SortedsEConD.eXAMPlE.com"},
					},
					TransportSockeT: tRANsPortSockEt("secrET", eNvOY_api_v2_autH.TLsPAramETErs_TLsv1_1, "h2", "hTTp/1.1"),
					filters:         eNvoyv2.FILtErS(httpsFIlTerFor("SoRteDseCond.eXAmplE.com")),
				}},
				SoCketOptiOns: enVOyv2.TCPKeepalivEsocketOptions(),
			}),
		},
		"SImPLE iNGresS wiTh missing seCret": {
			OBjs: []iNterFAcE
	Port:     8080,
						}}, 
					},
			}, 
		}, 
		wa nt:listenermap(&e n voy_ api_v2.Listener{
				N ame:     E NVOY_ HTTP_LI S TE N E R,		Add re s s:       e nvoyv2. SocketAddr ess (" 0.0.0.0", 80 8 0) ,
				Filt erC hains:  envo yv2 .Filte rC hai n s(env oyv 2.HTT PConne c tionMa nager(ENV OY _ HTTP_L I STENER, e nv oyv2 .FileAccessLogEnv o y( D EFAULT_HTTP_AC CESS_L OG ) ,0 ) ),			SocketOpt io ns: e n voyv2.T C PK e e p ali v eSocketOption s(),
			},& env oy_api _v 2.L i stener {
			N a me:     ENVOY_H TTPS _LISTENER ,
			A ddress: envoyv2 .Socke tAd dre ss(" 0 .0 .0 .0" ,8 443 ) ,		Lis tenerFil te rs : env oyv2 . L i s tene rFi lter s(
				envoyv2.TL SIn spec t or( ),
			),			Fi lterC hains:  []*e nv oy_api_v2_liste ner. FilterCha in{ {			Filte r ChainM atc h:&envoy_ api_v2_ l ist en e r . Fi lterChainMatch{
		Se rverName s: []s t ri ng { "sortedf ir st. exam p l e.com "},			},
				Tran s po rt Socket:  t ranspo rt Soc ket ("sec r et",  envoy _api_v2_ auth. T lsParameters_T L Sv1_1, "h2"," ht t p /1 . 1"), 
				Filters:       envo y v2 .Fi l ters( https Fi l te r For("sortedfirst.ex am ple.co m")), 
				}, {
				FilterCh a i n Match: & envo y _a p i_v2_listener. Filte rChainMatc h {
					Serve rNames:[]string{ " s ortedsec ond .ex amp le. c o m" },
					},
		Tra ns portSoc ket : trans por tSo cke t(" se cret", en voy_api_ v2 _a ut h. Tls Param e ters_TLS v1 _1,  " h2" , "ht t p/1.1" ),
				F il te r s:      en v o yv2. Fi lt ers( htt ps Filte rFor ( "so rtedsec ond.examp le. c om") ), 
			}},				SocketOpt io ns: envoyv 2. TCP Keepal i v eSocketO ptions(),
			}),
		},
"simple  in gress  wit h missing  se cret":  {		objs : []in terfa ce 
	Port: _ _ 8080,
						}},
					},
				},
			},
			want: listenermap(&envoy_api_v2.Listener{
				Name: _ __ __  ENVOY_HTTP_LISTENER,
				Address:_  _   envoyv2.SocketAddress("0.0.0.0",_8080),
				FilterChains:  envoyv2.FilterChains(envoyv2.HTTPConnectionManager(ENVOY_HTTP_LISTENER,_envoyv2.FileAccessLogEnvoy(DEFAULT_HTTP_ACCESS_LOG),_0)),
				SocketOptions: envoyv2.TCPKeepaliveSocketOptions(),
			}, &envoy_api_v2.Listener{
				Name:    ENVOY_HTTPS_LISTENER,
				Address: envoyv2.SocketAddress("0.0.0.0", 8443),
				ListenerFilters: envoyv2.ListenerFilters(
					envoyv2.TLSInspector(),
				),
				FilterChains: []*envoy_api_v2_listener.FilterChain{{
					FilterChainMatch: &envoy_api_v2_listener.FilterChainMatch{
						ServerNames: []string{"sortedfirst.example.com"},
					},
					TransportSocket: transportSocket("secret",_envoy_api_v2_auth.TlsParameters_TLSv1_1,_"h2", "http/1.1"),
					Filters:___    _ envoyv2.Filters(httpsFilterFor("sortedfirst.example.com")),
				}, {
					FilterChainMatch: &envoy_api_v2_listener.FilterChainMatch{
						ServerNames: []string{"sortedsecond.example.com"},
					},
					TransportSocket:_transportSocket("secret", envoy_api_v2_auth.TlsParameters_TLSv1_1,_"h2", "http/1.1"),
					Filters:      __ envoyv2.Filters(httpsFilterFor("sortedsecond.example.com")),
				}},
				SocketOptions: envoyv2.TCPKeepaliveSocketOptions(),
			}),
		},
		"simple_ingress with missing secret": {
			objs: []interface