@@ -23,6 +23,7 @@ func TestAdminUserCreate(t *testing.T) {
2323 reset := func () {
2424 require .NoError (t , db .TruncateBeans (db .DefaultContext , & user_model.User {}))
2525 require .NoError (t , db .TruncateBeans (db .DefaultContext , & user_model.EmailAddress {}))
26+ require .NoError (t , db .TruncateBeans (db .DefaultContext , & auth_model.AccessToken {}))
2627 }
2728
2829 t .Run ("MustChangePassword" , func (t * testing.T ) {
@@ -66,15 +67,30 @@ func TestAdminUserCreate(t *testing.T) {
6667 })
6768
6869 t .Run ("AccessToken" , func (t * testing.T ) {
70+ // no generated access token
6971 reset ()
7072 assert .NoError (t , createUser ("u" , "--random-password" ))
7173 assert .Equal (t , 0 , unittest .GetCount (t , & auth_model.AccessToken {}))
7274
75+ // using "--access-token" only means "all" access
76+ reset ()
77+ assert .NoError (t , createUser ("u" , "--random-password --access-token" ))
78+ assert .Equal (t , 1 , unittest .GetCount (t , & auth_model.AccessToken {}))
79+ accessToken := unittest .AssertExistsAndLoadBean (t , & auth_model.AccessToken {Name : "gitea-admin" })
80+ hasScopes , err := accessToken .Scope .HasScope (auth_model .AccessTokenScopeWriteAdmin , auth_model .AccessTokenScopeWriteRepository )
81+ assert .NoError (t , err )
82+ assert .True (t , hasScopes )
83+
84+ // using "--access-token" with name & scopes
7385 reset ()
7486 assert .NoError (t , createUser ("u" , "--random-password --access-token --access-token-name new-token-name --access-token-scopes read:issue,read:user" ))
75- a := unittest .AssertExistsAndLoadBean (t , & auth_model.AccessToken {Name : "new-token-name" })
76- hasScopes , err := a .Scope .HasScope (auth_model .AccessTokenScopeReadIssue , auth_model .AccessTokenScopeReadUser )
87+ assert .Equal (t , 1 , unittest .GetCount (t , & auth_model.AccessToken {}))
88+ accessToken = unittest .AssertExistsAndLoadBean (t , & auth_model.AccessToken {Name : "new-token-name" })
89+ hasScopes , err = accessToken .Scope .HasScope (auth_model .AccessTokenScopeReadIssue , auth_model .AccessTokenScopeReadUser )
7790 assert .NoError (t , err )
7891 assert .True (t , hasScopes )
92+ hasScopes , err = accessToken .Scope .HasScope (auth_model .AccessTokenScopeWriteAdmin , auth_model .AccessTokenScopeWriteRepository )
93+ assert .NoError (t , err )
94+ assert .False (t , hasScopes )
7995 })
8096}
0 commit comments