@ -15,8 +15,11 @@ import (
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/test"
"code.gitea.io/gitea/modules/translation"
"code.gitea.io/gitea/modules/web"
"code.gitea.io/gitea/services/context"
"code.gitea.io/gitea/tests"
"github.com/markbates/goth"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
@ -98,6 +101,11 @@ func TestSigninWithRememberMe(t *testing.T) {
func TestEnablePasswordSignInForm ( t * testing . T ) {
defer tests . PrepareTestEnv ( t ) ( )
mockLinkAccount := func ( ctx * context . Context ) {
gothUser := goth . User { Email : "invalid-email" , Name : "." }
_ = ctx . Session . Set ( "linkAccountGothUser" , gothUser )
}
t . Run ( "EnablePasswordSignInForm=false" , func ( t * testing . T ) {
defer tests . PrintCurrentTest ( t ) ( )
defer test . MockVariableValue ( & setting . Service . EnablePasswordSignInForm , false ) ( )
@ -108,6 +116,12 @@ func TestEnablePasswordSignInForm(t *testing.T) {
req = NewRequest ( t , "POST" , "/user/login" )
MakeRequest ( t , req , http . StatusForbidden )
req = NewRequest ( t , "GET" , "/user/link_account" )
defer web . RouteMockReset ( )
web . RouteMock ( web . MockAfterMiddlewares , mockLinkAccount )
resp = MakeRequest ( t , req , http . StatusOK )
NewHTMLParser ( t , resp . Body ) . AssertElement ( t , "form[action='/user/link_account_signin']" , false )
} )
t . Run ( "EnablePasswordSignInForm=true" , func ( t * testing . T ) {
@ -120,5 +134,11 @@ func TestEnablePasswordSignInForm(t *testing.T) {
req = NewRequest ( t , "POST" , "/user/login" )
MakeRequest ( t , req , http . StatusOK )
req = NewRequest ( t , "GET" , "/user/link_account" )
defer web . RouteMockReset ( )
web . RouteMock ( web . MockAfterMiddlewares , mockLinkAccount )
resp = MakeRequest ( t , req , http . StatusOK )
NewHTMLParser ( t , resp . Body ) . AssertElement ( t , "form[action='/user/link_account_signin']" , true )
} )
}