@@ -47,6 +47,27 @@ func TestAPIAdminDeleteMissingSSHKey(t *testing.T) {
47
47
// user1 is an admin user
48
48
session := loginUser (t , "user1" )
49
49
50
- req := NewRequestf (t , "DELETE" , "/api/v1/admin/users/user1/keys/99999" )
50
+ req := NewRequestf (t , "DELETE" , "/api/v1/admin/users/user1/keys/%d" , models . NonexistentID )
51
51
session .MakeRequest (t , req , http .StatusNotFound )
52
52
}
53
+
54
+ func TestAPIAdminDeleteUnauthorizedKey (t * testing.T ) {
55
+ prepareTestEnv (t )
56
+ adminUsername := "user1"
57
+ normalUsername := "user2"
58
+ session := loginUser (t , adminUsername )
59
+
60
+ urlStr := fmt .Sprintf ("/api/v1/admin/users/%s/keys" , adminUsername )
61
+ req := NewRequestWithValues (t , "POST" , urlStr , map [string ]string {
62
+ "key" : "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDAu7tvIvX6ZHrRXuZNfkR3XLHSsuCK9Zn3X58lxBcQzuo5xZgB6vRwwm/QtJuF+zZPtY5hsQILBLmF+BZ5WpKZp1jBeSjH2G7lxet9kbcH+kIVj0tPFEoyKI9wvWqIwC4prx/WVk2wLTJjzBAhyNxfEq7C9CeiX9pQEbEqJfkKCQ== nocomment\n " ,
63
+ "title" : "test-key" ,
64
+ })
65
+ resp := session .MakeRequest (t , req , http .StatusCreated )
66
+ var newPublicKey api.PublicKey
67
+ DecodeJSON (t , resp , & newPublicKey )
68
+
69
+ session = loginUser (t , normalUsername )
70
+ req = NewRequestf (t , "DELETE" , "/api/v1/admin/users/%s/keys/%d" ,
71
+ adminUsername , newPublicKey .ID )
72
+ session .MakeRequest (t , req , http .StatusForbidden )
73
+ }
0 commit comments