@@ -25,6 +25,7 @@ import (
25
25
26
26
func TestPackageAPI (t * testing.T ) {
27
27
defer tests .PrepareTestEnv (t )()
28
+
28
29
user := unittest .AssertExistsAndLoadBean (t , & user_model.User {ID : 4 })
29
30
session := loginUser (t , user .Name )
30
31
token := getTokenForLoggedInUser (t , session )
@@ -144,6 +145,27 @@ func TestPackageAPI(t *testing.T) {
144
145
})
145
146
}
146
147
148
+ func TestPackageAccess (t * testing.T ) {
149
+ defer tests .PrepareTestEnv (t )()
150
+
151
+ admin := unittest .AssertExistsAndLoadBean (t , & user_model.User {ID : 1 })
152
+ user := unittest .AssertExistsAndLoadBean (t , & user_model.User {ID : 5 })
153
+ inactive := unittest .AssertExistsAndLoadBean (t , & user_model.User {ID : 9 })
154
+
155
+ uploadPackage := func (doer , owner * user_model.User , expectedStatus int ) {
156
+ url := fmt .Sprintf ("/api/packages/%s/generic/test-package/1.0/file.bin" , owner .Name )
157
+ req := NewRequestWithBody (t , "PUT" , url , bytes .NewReader ([]byte {1 }))
158
+ AddBasicAuthHeader (req , doer .Name )
159
+ MakeRequest (t , req , expectedStatus )
160
+ }
161
+
162
+ uploadPackage (user , inactive , http .StatusUnauthorized )
163
+ uploadPackage (inactive , inactive , http .StatusUnauthorized )
164
+ uploadPackage (inactive , user , http .StatusUnauthorized )
165
+ uploadPackage (admin , inactive , http .StatusCreated )
166
+ uploadPackage (admin , user , http .StatusCreated )
167
+ }
168
+
147
169
func TestPackageCleanup (t * testing.T ) {
148
170
defer tests .PrepareTestEnv (t )()
149
171
0 commit comments