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  }