Skip to content

Commit 3cdaf8b

Browse files
committed
Add integration test
1 parent 75ffae4 commit 3cdaf8b

10 files changed

+27
-8
lines changed

tests/gitea-repositories-meta/user27/template1.git/objects/2a/83b349fa234131fc5db6f2a0498d3f4d3d6038

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
x��AJ�0�a�9�\@Ij2��C�w�"��h�i���޷q���~�{_ � ����+c�)M���* rȉSD&��M��*�l�pm*��5fE_�P�8���D�QC�ɕa�o?��+\>���f۸����O��HH9G"x��{w��;��8
2+
i�s�������0��9�/�IH
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
aacbdfe9e1c4b47f60abe81849045fa4e96f1d75
1+
2a83b349fa234131fc5db6f2a0498d3f4d3d6038

tests/integration/repo_generate_test.go

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"fmt"
88
"net/http"
99
"net/http/httptest"
10+
"strings"
1011
"testing"
1112

1213
"code.gitea.io/gitea/models/unittest"
@@ -16,7 +17,7 @@ import (
1617
"github.com/stretchr/testify/assert"
1718
)
1819

19-
func testRepoGenerate(t *testing.T, session *TestSession, templateOwnerName, templateRepoName, generateOwnerName, generateRepoName string) *httptest.ResponseRecorder {
20+
func testRepoGenerate(t *testing.T, session *TestSession, templateID, templateOwnerName, templateRepoName, generateOwnerName, generateRepoName string) *httptest.ResponseRecorder {
2021
generateOwner := unittest.AssertExistsAndLoadBean(t, &user_model.User{Name: generateOwnerName})
2122

2223
// Step0: check the existence of the generated repo
@@ -41,28 +42,44 @@ func testRepoGenerate(t *testing.T, session *TestSession, templateOwnerName, tem
4142
_, exists = htmlDoc.doc.Find(fmt.Sprintf(".owner.dropdown .item[data-value=\"%d\"]", generateOwner.ID)).Attr("data-value")
4243
assert.True(t, exists, fmt.Sprintf("Generate owner '%s' is not present in select box", generateOwnerName))
4344
req = NewRequestWithValues(t, "POST", link, map[string]string{
44-
"_csrf": htmlDoc.GetCSRF(),
45-
"uid": fmt.Sprintf("%d", generateOwner.ID),
46-
"repo_name": generateRepoName,
47-
"git_content": "true",
45+
"_csrf": htmlDoc.GetCSRF(),
46+
"uid": fmt.Sprintf("%d", generateOwner.ID),
47+
"repo_name": generateRepoName,
48+
"repo_template": templateID,
49+
"git_content": "true",
4850
})
4951
session.MakeRequest(t, req, http.StatusSeeOther)
5052

5153
// Step4: check the existence of the generated repo
5254
req = NewRequestf(t, "GET", "/%s/%s", generateOwnerName, generateRepoName)
55+
session.MakeRequest(t, req, http.StatusOK)
56+
57+
// Step5: check substituted values in Readme
58+
req = NewRequestf(t, "GET", "/%s/%s/raw/branch/master/README.md", generateOwnerName, generateRepoName)
59+
resp = session.MakeRequest(t, req, http.StatusOK)
60+
body := fmt.Sprintf(`# %s Readme
61+
Owner: %s
62+
Link: /%s/%s
63+
Clone URL: http://localhost:3003/%s/%s.git`,
64+
generateRepoName, strings.ToUpper(generateOwnerName), generateOwnerName, generateRepoName, generateOwnerName, generateRepoName)
65+
assert.Equal(t, body, resp.Body.String())
66+
67+
// Step6: check substituted values in substituted file path ${REPO_NAME}
68+
req = NewRequestf(t, "GET", "/%s/%s/raw/branch/master/%s.log", generateOwnerName, generateRepoName, generateRepoName)
5369
resp = session.MakeRequest(t, req, http.StatusOK)
70+
assert.Equal(t, generateRepoName, resp.Body.String())
5471

5572
return resp
5673
}
5774

5875
func TestRepoGenerate(t *testing.T) {
5976
defer tests.PrepareTestEnv(t)()
6077
session := loginUser(t, "user1")
61-
testRepoGenerate(t, session, "user27", "template1", "user1", "generated1")
78+
testRepoGenerate(t, session, "44", "user27", "template1", "user1", "generated1")
6279
}
6380

6481
func TestRepoGenerateToOrg(t *testing.T) {
6582
defer tests.PrepareTestEnv(t)()
6683
session := loginUser(t, "user2")
67-
testRepoGenerate(t, session, "user27", "template1", "user2", "generated2")
84+
testRepoGenerate(t, session, "44", "user27", "template1", "user2", "generated2")
6885
}

0 commit comments

Comments
 (0)