2021-05-10 00:50:06 +03:00
// Copyright 2021 The Gitea Authors. All rights reserved.
2022-11-27 21:20:29 +03:00
// SPDX-License-Identifier: MIT
2021-05-10 00:50:06 +03:00
2022-09-02 22:18:23 +03:00
package integration
2021-05-10 00:50:06 +03:00
import (
"fmt"
"net/http"
"testing"
"code.gitea.io/gitea/modules/setting"
2022-09-02 22:18:23 +03:00
"code.gitea.io/gitea/tests"
2021-11-17 15:34:35 +03:00
2021-05-10 00:50:06 +03:00
"github.com/stretchr/testify/assert"
)
func TestGoGet ( t * testing . T ) {
2022-09-02 22:18:23 +03:00
defer tests . PrepareTestEnv ( t ) ( )
2021-05-10 00:50:06 +03:00
req := NewRequest ( t , "GET" , "/blah/glah/plah?go-get=1" )
resp := MakeRequest ( t , req , http . StatusOK )
expected := fmt . Sprintf ( ` < ! doctype html >
< html >
< head >
< meta name = "go-import" content = "%[1]s:%[2]s/blah/glah git %[3]sblah/glah.git" >
< meta name = "go-source" content = "%[1]s:%[2]s/blah/glah _ %[3]sblah/glah/src/branch/master{/dir} %[3]sblah/glah/src/branch/master{/dir}/{file}#L{line}" >
< / head >
< body >
go get -- insecure % [ 1 ] s : % [ 2 ] s / blah / glah
< / body >
2022-04-01 11:47:50 +03:00
< / html > ` , setting . Domain , setting . HTTPPort , setting . AppURL )
2021-05-10 00:50:06 +03:00
assert . Equal ( t , expected , resp . Body . String ( ) )
}
2023-05-12 12:44:37 +03:00
func TestGoGetForSSH ( t * testing . T ) {
defer tests . PrepareTestEnv ( t ) ( )
old := setting . Repository . GoGetCloneURLProtocol
defer func ( ) {
setting . Repository . GoGetCloneURLProtocol = old
} ( )
setting . Repository . GoGetCloneURLProtocol = "ssh"
req := NewRequest ( t , "GET" , "/blah/glah/plah?go-get=1" )
resp := MakeRequest ( t , req , http . StatusOK )
expected := fmt . Sprintf ( ` < ! doctype html >
< html >
< head >
< meta name = "go-import" content = "%[1]s:%[2]s/blah/glah git ssh://git@%[4]s:%[5]d/blah/glah.git" >
< meta name = "go-source" content = "%[1]s:%[2]s/blah/glah _ %[3]sblah/glah/src/branch/master{/dir} %[3]sblah/glah/src/branch/master{/dir}/{file}#L{line}" >
< / head >
< body >
go get -- insecure % [ 1 ] s : % [ 2 ] s / blah / glah
< / body >
< / html > ` , setting . Domain , setting . HTTPPort , setting . AppURL , setting . SSH . Domain , setting . SSH . Port )
assert . Equal ( t , expected , resp . Body . String ( ) )
}