@@ -569,12 +569,6 @@ func TestParseFlags(t *testing.T) {
569569 }
570570}
571571
572- func TestParseFlagsCobraExecuteError (t * testing.T ) {
573- cfg := NewConfig ()
574- err := cfg .ParseFlags ([]string {"--cli-backend=cobra" , "--unknown-flag" })
575- require .Error (t , err )
576- }
577-
578572func TestParseFlagsKingpinParseError (t * testing.T ) {
579573 cfg := NewConfig ()
580574 err := cfg .ParseFlags ([]string {"--unknown-flag" })
@@ -620,61 +614,7 @@ func TestParseFlagsDefaultKingpin(t *testing.T) {
620614 assert .Equal (t , "default" , cfg .OCPRouterName )
621615}
622616
623- // When EXTERNAL_DNS_CLI=cobra is set, cobra path should parse the subset of
624- // flags it currently binds, yielding parity with kingpin for those fields.
625- func TestParseFlagsCobraSwitchParitySubset (t * testing.T ) {
626- args := []string {
627- "--provider=aws" ,
628- "--source=service" ,
629- "--source=ingress" ,
630- "--server=http://127.0.0.1:8080" ,
631- "--kubeconfig=/some/path" ,
632- "--request-timeout=2s" ,
633- "--namespace=ns" ,
634- "--domain-filter=example.org" ,
635- "--domain-filter=company.com" ,
636- "--openshift-router-name=default" ,
637- }
638-
639- // Kingpin baseline
640- cfgK := NewConfig ()
641- require .NoError (t , cfgK .ParseFlags (args ))
642-
643- // Cobra path via env switch
644- t .Setenv ("EXTERNAL_DNS_CLI" , "cobra" )
645- cfgC := NewConfig ()
646- require .NoError (t , cfgC .ParseFlags (args ))
647-
648- // Compare selected fields bound in cobra
649- assert .Equal (t , cfgK .Provider , cfgC .Provider )
650- assert .ElementsMatch (t , cfgK .Sources , cfgC .Sources )
651- assert .Equal (t , cfgK .APIServerURL , cfgC .APIServerURL )
652- assert .Equal (t , cfgK .KubeConfig , cfgC .KubeConfig )
653- assert .Equal (t , cfgK .KubeAPIRequestTimeout , cfgC .KubeAPIRequestTimeout )
654- assert .Equal (t , cfgK .Namespace , cfgC .Namespace )
655- assert .ElementsMatch (t , cfgK .DomainFilter , cfgC .DomainFilter )
656- assert .Equal (t , cfgK .OCPRouterName , cfgC .OCPRouterName )
657- }
658-
659- func TestParseFlagsCliFlagOverridesEnv (t * testing.T ) {
660- // Env requests cobra; CLI flag forces kingpin.
661- t .Setenv ("EXTERNAL_DNS_CLI" , "cobra" )
662- args := []string {
663- "--provider=aws" ,
664- "--source=service" ,
665- // Flag not bound in Cobra newCobraCommand path; will error if cobra is used.
666- "--log-format=json" ,
667- }
668-
669- cfg := NewConfig ()
670- require .NoError (t , cfg .ParseFlags (args ))
671- assert .Equal (t , ProviderAWS , cfg .Provider )
672- assert .ElementsMatch (t , []string {"service" }, cfg .Sources )
673- assert .Equal (t , "json" , cfg .LogFormat )
674- }
675-
676617func TestParseFlagsCliFlagSeparatedValue (t * testing.T ) {
677- // Support "--cli-backend", "cobra" form as well.
678618 args := []string {
679619 "--provider=aws" ,
680620 "--source=service" ,
0 commit comments