File tree Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Original file line number Diff line number Diff line change @@ -2224,6 +2224,36 @@ credential-provider = ['c', 'd']
22242224 // expect: no merge happens; config CLI takes precedence
22252225 assert_eq ! ( provider. path. raw_value( ) , "cli" ) ;
22262226 assert_eq ! ( provider. args, [ "cli-arg" ] ) ;
2227+
2228+ let env = "CARGO_REGISTRIES_EXAMPLE_CREDENTIAL_PROVIDER" ;
2229+ let gctx = GlobalContextBuilder :: new ( )
2230+ . env ( env, "env env-arg" )
2231+ . cwd ( "foo" )
2232+ . build ( ) ;
2233+ let provider = gctx
2234+ . get :: < Option < RegistryConfig > > ( & format ! ( "registries.example" ) )
2235+ . unwrap ( )
2236+ . unwrap ( )
2237+ . credential_provider
2238+ . unwrap ( ) ;
2239+ // expect: no merge happens; env takes precedence over files
2240+ assert_eq ! ( provider. path. raw_value( ) , "env" ) ;
2241+ assert_eq ! ( provider. args, [ "env-arg" ] ) ;
2242+
2243+ let gctx = GlobalContextBuilder :: new ( )
2244+ . env ( env, "env env-arg" )
2245+ . config_arg ( cli_arg)
2246+ . cwd ( "foo" )
2247+ . build ( ) ;
2248+ let provider = gctx
2249+ . get :: < Option < RegistryConfig > > ( & format ! ( "registries.example" ) )
2250+ . unwrap ( )
2251+ . unwrap ( )
2252+ . credential_provider
2253+ . unwrap ( ) ;
2254+ // expect: no merge happens; cli takes precedence over files and env
2255+ assert_eq ! ( provider. path. raw_value( ) , "env" ) ;
2256+ assert_eq ! ( provider. args, [ "env-arg" ] ) ;
22272257}
22282258
22292259#[ cargo_test]
You can’t perform that action at this time.
0 commit comments