@@ -84,15 +84,17 @@ func TestPackageContainer(t *testing.T) {
8484 Token string `json:"token"`
8585 }
8686
87- authenticate := []string {`Bearer realm="` + setting .AppURL + `v2/token",service="container_registry",scope="*"` }
87+ wwwAuthenticateValues := func () []string {
88+ return []string {`Bearer realm="` + setting .AppURL + `v2/token",service="container_registry",scope="*"` }
89+ }
8890
8991 t .Run ("Anonymous" , func (t * testing.T ) {
9092 defer tests .PrintCurrentTest (t )()
9193
9294 req := NewRequest (t , "GET" , fmt .Sprintf ("%sv2" , setting .AppURL ))
9395 resp := MakeRequest (t , req , http .StatusUnauthorized )
9496
95- assert .ElementsMatch (t , authenticate , resp .Header ().Values ("WWW-Authenticate" ))
97+ assert .ElementsMatch (t , wwwAuthenticateValues () , resp .Header ().Values ("WWW-Authenticate" ))
9698
9799 req = NewRequest (t , "GET" , fmt .Sprintf ("%sv2/token" , setting .AppURL ))
98100 resp = MakeRequest (t , req , http .StatusOK )
@@ -115,6 +117,12 @@ func TestPackageContainer(t *testing.T) {
115117
116118 req = NewRequest (t , "GET" , fmt .Sprintf ("%sv2/token" , setting .AppURL ))
117119 MakeRequest (t , req , http .StatusUnauthorized )
120+
121+ defer test .MockVariableValue (& setting .AppURL , "http://domain/sub-path/" )()
122+ defer test .MockVariableValue (& setting .AppSubURL , "/sub-path" )()
123+ req = NewRequest (t , "GET" , fmt .Sprintf ("/v2" ))
124+ resp = MakeRequest (t , req , http .StatusUnauthorized )
125+ assert .Equal (t , `Bearer realm="http://domain/v2/token",service="container_registry",scope="*"` , resp .Header ().Get ("WWW-Authenticate" ))
118126 })
119127
120128 t .Run ("User" , func (t * testing.T ) {
@@ -123,7 +131,7 @@ func TestPackageContainer(t *testing.T) {
123131 req := NewRequest (t , "GET" , fmt .Sprintf ("%sv2" , setting .AppURL ))
124132 resp := MakeRequest (t , req , http .StatusUnauthorized )
125133
126- assert .ElementsMatch (t , authenticate , resp .Header ().Values ("WWW-Authenticate" ))
134+ assert .ElementsMatch (t , wwwAuthenticateValues () , resp .Header ().Values ("WWW-Authenticate" ))
127135
128136 req = NewRequest (t , "GET" , fmt .Sprintf ("%sv2/token" , setting .AppURL )).
129137 AddBasicAuth (user .Name )
0 commit comments