123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- // Copyright 2021 The Gitea Authors. All rights reserved.
- // SPDX-License-Identifier: MIT
-
- package migrations
-
- import (
- "context"
- "net/http"
- "net/url"
- "testing"
- "time"
-
- base "code.gitea.io/gitea/modules/migration"
-
- "github.com/stretchr/testify/assert"
- )
-
- func TestOneDevDownloadRepo(t *testing.T) {
- resp, err := http.Get("https://code.onedev.io/projects/go-gitea-test_repo")
- if err != nil || resp.StatusCode != http.StatusOK {
- t.Skipf("Can't access test repo, skipping %s", t.Name())
- }
-
- u, _ := url.Parse("https://code.onedev.io")
- downloader := NewOneDevDownloader(context.Background(), u, "", "", "go-gitea-test_repo")
- if err != nil {
- t.Fatalf("NewOneDevDownloader is nil: %v", err)
- }
- repo, err := downloader.GetRepoInfo()
- assert.NoError(t, err)
- assertRepositoryEqual(t, &base.Repository{
- Name: "go-gitea-test_repo",
- Owner: "",
- Description: "Test repository for testing migration from OneDev to gitea",
- CloneURL: "https://code.onedev.io/go-gitea-test_repo",
- OriginalURL: "https://code.onedev.io/projects/go-gitea-test_repo",
- }, repo)
-
- milestones, err := downloader.GetMilestones()
- assert.NoError(t, err)
- deadline := time.Unix(1620086400, 0)
- assertMilestonesEqual(t, []*base.Milestone{
- {
- Title: "1.0.0",
- Deadline: &deadline,
- Closed: &deadline,
- },
- {
- Title: "1.1.0",
- Description: "next things?",
- },
- }, milestones)
-
- labels, err := downloader.GetLabels()
- assert.NoError(t, err)
- assert.Len(t, labels, 6)
-
- issues, isEnd, err := downloader.GetIssues(1, 2)
- assert.NoError(t, err)
- assert.False(t, isEnd)
- assertIssuesEqual(t, []*base.Issue{
- {
- Number: 4,
- Title: "Hi there",
- Content: "an issue not assigned to a milestone",
- PosterName: "User 336",
- State: "open",
- Created: time.Unix(1628549776, 734000000),
- Updated: time.Unix(1628549776, 734000000),
- Labels: []*base.Label{
- {
- Name: "Improvement",
- },
- },
- ForeignIndex: 398,
- Context: onedevIssueContext{IsPullRequest: false},
- },
- {
- Number: 3,
- Title: "Add an awesome feature",
- Content: "just another issue to test against",
- PosterName: "User 336",
- State: "open",
- Milestone: "1.1.0",
- Created: time.Unix(1628549749, 878000000),
- Updated: time.Unix(1628549749, 878000000),
- Labels: []*base.Label{
- {
- Name: "New Feature",
- },
- },
- ForeignIndex: 397,
- Context: onedevIssueContext{IsPullRequest: false},
- },
- }, issues)
-
- comments, _, err := downloader.GetComments(&base.Issue{
- Number: 4,
- ForeignIndex: 398,
- Context: onedevIssueContext{IsPullRequest: false},
- })
- assert.NoError(t, err)
- assertCommentsEqual(t, []*base.Comment{
- {
- IssueIndex: 4,
- PosterName: "User 336",
- Created: time.Unix(1628549791, 128000000),
- Updated: time.Unix(1628549791, 128000000),
- Content: "it has a comment\n\nEDIT: that got edited",
- },
- }, comments)
-
- prs, _, err := downloader.GetPullRequests(1, 1)
- assert.NoError(t, err)
- assertPullRequestsEqual(t, []*base.PullRequest{
- {
- Number: 5,
- Title: "Pull to add a new file",
- Content: "just do some git stuff",
- PosterName: "User 336",
- State: "open",
- Created: time.Unix(1628550076, 25000000),
- Updated: time.Unix(1628550076, 25000000),
- Head: base.PullRequestBranch{
- Ref: "branch-for-a-pull",
- SHA: "343deffe3526b9bc84e873743ff7f6e6d8b827c0",
- RepoName: "go-gitea-test_repo",
- },
- Base: base.PullRequestBranch{
- Ref: "master",
- SHA: "f32b0a9dfd09a60f616f29158f772cedd89942d2",
- RepoName: "go-gitea-test_repo",
- },
- ForeignIndex: 186,
- Context: onedevIssueContext{IsPullRequest: true},
- },
- }, prs)
-
- rvs, err := downloader.GetReviews(&base.PullRequest{Number: 5, ForeignIndex: 186})
- assert.NoError(t, err)
- assertReviewsEqual(t, []*base.Review{
- {
- IssueIndex: 5,
- ReviewerName: "User 317",
- State: "PENDING",
- },
- }, rvs)
- }
|