@@ -50,17 +50,17 @@ func TestAdminUserCreate(t *testing.T) {
50
50
assert .Equal (t , check {IsAdmin : false , MustChangePassword : false }, createCheck ("u5" , "--must-change-password=false" ))
51
51
})
52
52
53
- createUser := func (name , args string ) error {
54
- return app .Run (strings . Fields ( fmt . Sprintf ( "./gitea admin user create --username %s --email %s @gitea.local %s" , name , name , args ) ))
53
+ createUser := func (name string , args ... string ) error {
54
+ return app .Run (append ([] string { "./gitea" , " admin" , " user" , " create" , " --username" , name , " --email" , name + " @gitea.local" }, args ... ))
55
55
}
56
56
57
57
t .Run ("UserType" , func (t * testing.T ) {
58
58
reset ()
59
- assert .ErrorContains (t , createUser ("u" , "--user-type invalid" ), "invalid user type" )
60
- assert .ErrorContains (t , createUser ("u" , "--user-type bot --password 123" ), "can only be set for individual users" )
61
- assert .ErrorContains (t , createUser ("u" , "--user-type bot --must-change-password" ), "can only be set for individual users" )
59
+ assert .ErrorContains (t , createUser ("u" , "--user-type" , " invalid" ), "invalid user type" )
60
+ assert .ErrorContains (t , createUser ("u" , "--user-type" , " bot" , " --password" , " 123" ), "can only be set for individual users" )
61
+ assert .ErrorContains (t , createUser ("u" , "--user-type" , " bot" , " --must-change-password" ), "can only be set for individual users" )
62
62
63
- assert .NoError (t , createUser ("u" , "--user-type bot" ))
63
+ assert .NoError (t , createUser ("u" , "--user-type" , " bot" ))
64
64
u := unittest .AssertExistsAndLoadBean (t , & user_model.User {LowerName : "u" })
65
65
assert .Equal (t , user_model .UserTypeBot , u .Type )
66
66
assert .Empty (t , u .Passwd )
@@ -75,7 +75,7 @@ func TestAdminUserCreate(t *testing.T) {
75
75
76
76
// using "--access-token" only means "all" access
77
77
reset ()
78
- assert .NoError (t , createUser ("u" , "--random-password --access-token" ))
78
+ assert .NoError (t , createUser ("u" , "--random-password" , " --access-token" ))
79
79
assert .Equal (t , 1 , unittest .GetCount (t , & user_model.User {}))
80
80
assert .Equal (t , 1 , unittest .GetCount (t , & auth_model.AccessToken {}))
81
81
accessToken := unittest .AssertExistsAndLoadBean (t , & auth_model.AccessToken {Name : "gitea-admin" })
@@ -85,7 +85,7 @@ func TestAdminUserCreate(t *testing.T) {
85
85
86
86
// using "--access-token" with name & scopes
87
87
reset ()
88
- assert .NoError (t , createUser ("u" , "--random-password --access-token --access-token-name new-token-name --access-token-scopes read:issue,read:user" ))
88
+ assert .NoError (t , createUser ("u" , "--random-password" , " --access-token" , " --access-token-name" , " new-token-name" , " --access-token-scopes" , " read:issue,read:user" ))
89
89
assert .Equal (t , 1 , unittest .GetCount (t , & user_model.User {}))
90
90
assert .Equal (t , 1 , unittest .GetCount (t , & auth_model.AccessToken {}))
91
91
accessToken = unittest .AssertExistsAndLoadBean (t , & auth_model.AccessToken {Name : "new-token-name" })
@@ -98,23 +98,38 @@ func TestAdminUserCreate(t *testing.T) {
98
98
99
99
// using "--access-token-name" without "--access-token"
100
100
reset ()
101
- err = createUser ("u" , "--random-password --access-token-name new-token-name" )
101
+ err = createUser ("u" , "--random-password" , " --access-token-name" , " new-token-name" )
102
102
assert .Equal (t , 0 , unittest .GetCount (t , & user_model.User {}))
103
103
assert .Equal (t , 0 , unittest .GetCount (t , & auth_model.AccessToken {}))
104
104
assert .ErrorContains (t , err , "access-token-name and access-token-scopes flags are only valid when access-token flag is set" )
105
105
106
106
// using "--access-token-scopes" without "--access-token"
107
107
reset ()
108
- err = createUser ("u" , "--random-password --access-token-scopes read:issue" )
108
+ err = createUser ("u" , "--random-password" , " --access-token-scopes" , " read:issue" )
109
109
assert .Equal (t , 0 , unittest .GetCount (t , & user_model.User {}))
110
110
assert .Equal (t , 0 , unittest .GetCount (t , & auth_model.AccessToken {}))
111
111
assert .ErrorContains (t , err , "access-token-name and access-token-scopes flags are only valid when access-token flag is set" )
112
112
113
113
// empty permission
114
114
reset ()
115
- err = createUser ("u" , "--random-password --access-token --access-token-scopes public-only" )
115
+ err = createUser ("u" , "--random-password" , " --access-token" , " --access-token-scopes" , " public-only" )
116
116
assert .Equal (t , 0 , unittest .GetCount (t , & user_model.User {}))
117
117
assert .Equal (t , 0 , unittest .GetCount (t , & auth_model.AccessToken {}))
118
118
assert .ErrorContains (t , err , "access token does not have any permission" )
119
119
})
120
+
121
+ t .Run ("UserFields" , func (t * testing.T ) {
122
+ reset ()
123
+ assert .NoError (t , createUser ("u-FullNameWithSpace" , "--random-password" , "--fullname" , "First O'Middle Last" ))
124
+ unittest .AssertExistsAndLoadBean (t , & user_model.User {
125
+ Name : "u-FullNameWithSpace" ,
126
+ LowerName : "u-fullnamewithspace" ,
127
+ FullName : "First O'Middle Last" ,
128
+
129
+ })
130
+
131
+ assert .NoError (t , createUser ("u-FullNameEmpty" , "--random-password" , "--fullname" , "" ))
132
+ u := unittest .AssertExistsAndLoadBean (t , & user_model.User {LowerName : "u-fullnameempty" })
133
+ assert .Empty (t , u .FullName )
134
+ })
120
135
}
0 commit comments