export_test.go

 1package github
 2
 3import (
 4	"fmt"
 5	"os"
 6	"testing"
 7	"time"
 8
 9	"github.com/MichaelMure/git-bug/bridge/core"
10	"github.com/MichaelMure/git-bug/cache"
11	"github.com/MichaelMure/git-bug/repository"
12	"github.com/MichaelMure/git-bug/util/interrupt"
13	"github.com/stretchr/testify/require"
14)
15
16func TestExporter(t *testing.T) {
17	//TODO test strategy
18	tests := []struct {
19		name string
20	}{
21		{
22			name: "bug creation",
23		},
24	}
25
26	repo := repository.CreateTestRepo(false)
27	defer repository.CleanupTestRepos(t, repo)
28
29	backend, err := cache.NewRepoCache(repo)
30	require.NoError(t, err)
31
32	defer backend.Close()
33	interrupt.RegisterCleaner(backend.Close)
34
35	token := os.Getenv("GITHUB_TOKEN_PRIVATE")
36	if token == "" {
37		t.Skip("Env var GITHUB_TOKEN_PRIVATE missing")
38	}
39
40	exporter := &githubExporter{}
41	err = exporter.Init(core.Configuration{
42		keyOwner:   "MichaelMure",
43		keyProject: "git-bug-exporter-tests",
44		keyToken:   token,
45	})
46	require.NoError(t, err)
47
48	start := time.Now()
49
50	err = exporter.ExportAll(backend, time.Time{})
51	require.NoError(t, err)
52
53	fmt.Printf("test repository exported in %f seconds\n", time.Since(start).Seconds())
54
55	for _, tt := range tests {
56		t.Run(tt.name, func(t *testing.T) {
57
58		})
59	}
60}
61
62func genRepoName() {}
63
64func createRepository() {}
65
66func deleteRepository() {}
67
68// verifyIssue is full
69// comments
70func verifyIssue() {
71
72}