2018-11-15 02:00:04 +01:00
// Copyright 2018 The Gogs Authors. All rights reserved.
2022-11-27 13:20:29 -05:00
// SPDX-License-Identifier: MIT
2018-11-15 02:00:04 +01:00
2021-01-26 23:36:53 +08:00
package forms
2018-11-15 02:00:04 +01:00
import (
2023-01-17 16:46:03 -05:00
"strconv"
2018-11-15 02:00:04 +01:00
"testing"
2023-01-17 16:46:03 -05:00
auth_model "code.gitea.io/gitea/models/auth"
2018-11-15 02:00:04 +01:00
"code.gitea.io/gitea/modules/setting"
"github.com/stretchr/testify/assert"
)
2021-02-14 23:31:29 +00:00
func TestRegisterForm_IsDomainAllowed_Empty ( t * testing . T ) {
2018-11-15 02:00:04 +01:00
_ = setting . Service
setting . Service . EmailDomainWhitelist = [ ] string { }
form := RegisterForm { }
2021-02-14 23:31:29 +00:00
assert . True ( t , form . IsEmailDomainAllowed ( ) )
2018-11-15 02:00:04 +01:00
}
2021-02-14 23:31:29 +00:00
func TestRegisterForm_IsDomainAllowed_InvalidEmail ( t * testing . T ) {
2018-11-15 02:00:04 +01:00
_ = setting . Service
setting . Service . EmailDomainWhitelist = [ ] string { "gitea.io" }
tt := [ ] struct {
email string
} {
{ "securitygieqqq" } ,
{ "hdudhdd" } ,
}
for _ , v := range tt {
form := RegisterForm { Email : v . email }
2021-02-14 23:31:29 +00:00
assert . False ( t , form . IsEmailDomainAllowed ( ) )
2018-11-15 02:00:04 +01:00
}
}
2021-02-14 23:31:29 +00:00
func TestRegisterForm_IsDomainAllowed_WhitelistedEmail ( t * testing . T ) {
2018-11-15 02:00:04 +01:00
_ = setting . Service
setting . Service . EmailDomainWhitelist = [ ] string { "gitea.io" }
tt := [ ] struct {
email string
valid bool
} {
{ "security@gitea.io" , true } ,
{ "security@gITea.io" , true } ,
{ "hdudhdd" , false } ,
{ "seee@example.com" , false } ,
}
for _ , v := range tt {
form := RegisterForm { Email : v . email }
2021-02-14 23:31:29 +00:00
assert . Equal ( t , v . valid , form . IsEmailDomainAllowed ( ) )
}
}
func TestRegisterForm_IsDomainAllowed_BlocklistedEmail ( t * testing . T ) {
_ = setting . Service
setting . Service . EmailDomainWhitelist = [ ] string { }
setting . Service . EmailDomainBlocklist = [ ] string { "gitea.io" }
tt := [ ] struct {
email string
valid bool
} {
{ "security@gitea.io" , false } ,
{ "security@gitea.example" , true } ,
{ "hdudhdd" , true } ,
}
for _ , v := range tt {
form := RegisterForm { Email : v . email }
assert . Equal ( t , v . valid , form . IsEmailDomainAllowed ( ) )
2018-11-15 02:00:04 +01:00
}
}
2023-01-17 16:46:03 -05:00
func TestNewAccessTokenForm_GetScope ( t * testing . T ) {
tests := [ ] struct {
form NewAccessTokenForm
scope auth_model . AccessTokenScope
expectedErr error
} {
{
form : NewAccessTokenForm { Name : "test" , Scope : [ ] string { "repo" } } ,
scope : "repo" ,
} ,
{
form : NewAccessTokenForm { Name : "test" , Scope : [ ] string { "repo" , "user" } } ,
scope : "repo,user" ,
} ,
}
for i , test := range tests {
t . Run ( strconv . Itoa ( i ) , func ( t * testing . T ) {
scope , err := test . form . GetScope ( )
assert . Equal ( t , test . expectedErr , err )
assert . Equal ( t , test . scope , scope )
} )
}
}