code.gitea.io/gitea@v1.22.3/services/migrations/gogs_test.go (about) 1 // Copyright 2019 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package migrations 5 6 import ( 7 "context" 8 "net/http" 9 "os" 10 "testing" 11 "time" 12 13 base "code.gitea.io/gitea/modules/migration" 14 15 "github.com/stretchr/testify/assert" 16 ) 17 18 func TestGogsDownloadRepo(t *testing.T) { 19 // Skip tests if Gogs token is not found 20 gogsPersonalAccessToken := os.Getenv("GOGS_READ_TOKEN") 21 if len(gogsPersonalAccessToken) == 0 { 22 t.Skip("skipped test because GOGS_READ_TOKEN was not in the environment") 23 } 24 25 resp, err := http.Get("https://try.gogs.io/lunnytest/TESTREPO") 26 if err != nil || resp.StatusCode/100 != 2 { 27 // skip and don't run test 28 t.Skipf("visit test repo failed, ignored") 29 return 30 } 31 32 downloader := NewGogsDownloader(context.Background(), "https://try.gogs.io", "", "", gogsPersonalAccessToken, "lunnytest", "TESTREPO") 33 repo, err := downloader.GetRepoInfo() 34 assert.NoError(t, err) 35 36 assertRepositoryEqual(t, &base.Repository{ 37 Name: "TESTREPO", 38 Owner: "lunnytest", 39 Description: "", 40 CloneURL: "https://try.gogs.io/lunnytest/TESTREPO.git", 41 OriginalURL: "https://try.gogs.io/lunnytest/TESTREPO", 42 DefaultBranch: "master", 43 }, repo) 44 45 milestones, err := downloader.GetMilestones() 46 assert.NoError(t, err) 47 assertMilestonesEqual(t, []*base.Milestone{ 48 { 49 Title: "1.0", 50 State: "open", 51 }, 52 }, milestones) 53 54 labels, err := downloader.GetLabels() 55 assert.NoError(t, err) 56 assertLabelsEqual(t, []*base.Label{ 57 { 58 Name: "bug", 59 Color: "ee0701", 60 }, 61 { 62 Name: "duplicate", 63 Color: "cccccc", 64 }, 65 { 66 Name: "enhancement", 67 Color: "84b6eb", 68 }, 69 { 70 Name: "help wanted", 71 Color: "128a0c", 72 }, 73 { 74 Name: "invalid", 75 Color: "e6e6e6", 76 }, 77 { 78 Name: "question", 79 Color: "cc317c", 80 }, 81 { 82 Name: "wontfix", 83 Color: "ffffff", 84 }, 85 }, labels) 86 87 // downloader.GetIssues() 88 issues, isEnd, err := downloader.GetIssues(1, 8) 89 assert.NoError(t, err) 90 assert.False(t, isEnd) 91 assertIssuesEqual(t, []*base.Issue{ 92 { 93 Number: 1, 94 PosterID: 5331, 95 PosterName: "lunny", 96 PosterEmail: "xiaolunwen@gmail.com", 97 Title: "test", 98 Content: "test", 99 Milestone: "", 100 State: "open", 101 Created: time.Date(2019, 6, 11, 8, 16, 44, 0, time.UTC), 102 Updated: time.Date(2019, 10, 26, 11, 7, 2, 0, time.UTC), 103 Labels: []*base.Label{ 104 { 105 Name: "bug", 106 Color: "ee0701", 107 }, 108 }, 109 }, 110 }, issues) 111 112 // downloader.GetComments() 113 comments, _, err := downloader.GetComments(&base.Issue{Number: 1, ForeignIndex: 1}) 114 assert.NoError(t, err) 115 assertCommentsEqual(t, []*base.Comment{ 116 { 117 IssueIndex: 1, 118 PosterID: 5331, 119 PosterName: "lunny", 120 PosterEmail: "xiaolunwen@gmail.com", 121 Created: time.Date(2019, 6, 11, 8, 19, 50, 0, time.UTC), 122 Updated: time.Date(2019, 6, 11, 8, 19, 50, 0, time.UTC), 123 Content: "1111", 124 }, 125 { 126 IssueIndex: 1, 127 PosterID: 15822, 128 PosterName: "clacplouf", 129 PosterEmail: "test1234@dbn.re", 130 Created: time.Date(2019, 10, 26, 11, 7, 2, 0, time.UTC), 131 Updated: time.Date(2019, 10, 26, 11, 7, 2, 0, time.UTC), 132 Content: "88888888", 133 }, 134 }, comments) 135 136 // downloader.GetPullRequests() 137 _, _, err = downloader.GetPullRequests(1, 3) 138 assert.Error(t, err) 139 }