@ -9,7 +9,7 @@
all ( ) - >
[ default_repo , repo_merging , repo_replacing ,
auth_merging , organization_merging , { group , resolve_version } ] .
auth_merging , auth_config_errors , organization_merging, { group , resolve_version } ] .
groups ( ) - >
[ { resolve_version , [ use_first_repo_match , use_exact_with_hash , fail_repo_update ,
@ -119,7 +119,8 @@ init_per_testcase(optional_prereleases, Config) ->
fun ( _ State ) - > true end ) ,
[ { state , State } | Config ] ;
init_per_testcase ( auth_merging , Config ) - >
init_per_testcase ( Case , Config ) when Case =:= auth_merging ;
Case =:= auth_config_errors - >
meck : new ( file , [ passthrough , no_link , unstick ] ) ,
meck : new ( rebar_packages , [ passthrough , no_link ] ) ,
Config ;
@ -131,6 +132,7 @@ init_per_testcase(_, Config) ->
Config .
end_per_testcase ( Case , _ Config ) when Case =:= auth_merging ;
Case =:= auth_config_errors ;
Case =:= organization_merging - >
meck : unload ( file ) ,
meck : unload ( rebar_packages ) ;
@ -234,6 +236,41 @@ auth_merging(_Config) ->
ok .
auth_config_errors ( _ Config ) - >
Repo1 = #{ name = > < < " repo-1 " > > ,
api_url = > < < " repo-1/api " > > } ,
Repo2 = #{ name = > < < " repo-2 " > > ,
repo_url = > < < " repo-2/repo " > > ,
repo_verify = > false } ,
State = rebar_state : new ( [ { hex , [ { repos , [ Repo1 , Repo2 ] } ] } ] ) ,
meck : expect ( file , consult ,
fun ( _ ) - >
{ error , { 3 , erl_parse , [ " syntax error before: " , " '=>' " ] } }
end ) ,
? assertThrow ( rebar_abort , rebar_pkg_resource : init ( pkg , State ) ) ,
meck : expect ( file , consult ,
fun ( _ ) - >
{ error , enoent }
end ) ,
{ ok , #resource { state = #{ repos : = [
UpdatedRepo1 ,
UpdatedRepo2 ,
DefaultRepo
] } } } = rebar_pkg_resource : init ( pkg , State ) ,
? assertEqual ( undefined , maps : get ( write_key , UpdatedRepo1 , undefined ) ) ,
? assertEqual ( undefined , maps : get ( read_key , UpdatedRepo1 , undefined ) ) ,
? assertEqual ( undefined , maps : get ( repos_key , UpdatedRepo1 , undefined ) ) ,
? assertEqual ( undefined , maps : get ( write_key , UpdatedRepo2 , undefined ) ) ,
? assertEqual ( undefined , maps : get ( repos_key , UpdatedRepo2 , undefined ) ) ,
? assertEqual ( undefined , maps : get ( read_key , UpdatedRepo2 , undefined ) ) ,
? assertEqual ( undefined , maps : get ( write_key , DefaultRepo , undefined ) ) ,
ok .
organization_merging ( _ Config ) - >
Repo1 = #{ name = > < < " hexpm:repo-1 " > > ,
api_url = > < < " repo-1/api " > > } ,