@@ -15,12 +15,14 @@ import (
15
15
repo_model "code.gitea.io/gitea/models/repo"
16
16
"code.gitea.io/gitea/models/unittest"
17
17
user_model "code.gitea.io/gitea/models/user"
18
+ base "code.gitea.io/gitea/modules/migration"
18
19
"code.gitea.io/gitea/modules/setting"
19
20
"code.gitea.io/gitea/modules/structs"
20
21
"code.gitea.io/gitea/modules/util"
21
22
"code.gitea.io/gitea/services/migrations"
22
23
23
24
"github.com/stretchr/testify/assert"
25
+ "gopkg.in/yaml.v2"
24
26
)
25
27
26
28
func TestDumpRestore (t * testing.T ) {
@@ -56,6 +58,8 @@ func TestDumpRestore(t *testing.T) {
56
58
var opts = migrations.MigrateOptions {
57
59
GitServiceType : structs .GiteaService ,
58
60
Issues : true ,
61
+ Labels : true ,
62
+ Milestones : true ,
59
63
Comments : true ,
60
64
AuthToken : token ,
61
65
CloneAddr : repo .CloneLink ().HTTPS ,
@@ -68,7 +72,7 @@ func TestDumpRestore(t *testing.T) {
68
72
// Verify desired side effects of the dump
69
73
//
70
74
d := filepath .Join (basePath , repo .OwnerName , repo .Name )
71
- for _ , f := range []string {"repo.yml" , "topic.yml" , "issue.yml" } {
75
+ for _ , f := range []string {"repo.yml" , "topic.yml" , "label.yml" , "milestone.yml" , " issue.yml" } {
72
76
assert .FileExists (t , filepath .Join (d , f ))
73
77
}
74
78
@@ -77,7 +81,7 @@ func TestDumpRestore(t *testing.T) {
77
81
//
78
82
79
83
newreponame := "restoredrepo"
80
- err = migrations .RestoreRepository (ctx , d , repo .OwnerName , newreponame , []string {"issues" , "comments" })
84
+ err = migrations .RestoreRepository (ctx , d , repo .OwnerName , newreponame , []string {"labels" , "milestones" , " issues" , "comments" })
81
85
assert .NoError (t , err )
82
86
83
87
newrepo := unittest .AssertExistsAndLoadBean (t , & repo_model.Repository {Name : newreponame }).(* repo_model.Repository )
@@ -94,11 +98,38 @@ func TestDumpRestore(t *testing.T) {
94
98
// Verify the dump of restoredrepo is the same as the dump of repo1
95
99
//
96
100
newd := filepath .Join (basePath , newrepo .OwnerName , newrepo .Name )
97
- beforeBytes , err := os .ReadFile (filepath .Join (d , "repo.yml" ))
101
+ for _ , filename := range []string {"repo.yml" , "label.yml" , "milestone.yml" } {
102
+ beforeBytes , err := os .ReadFile (filepath .Join (d , filename ))
103
+ assert .NoError (t , err )
104
+ before := strings .ReplaceAll (string (beforeBytes ), reponame , newreponame )
105
+ after , err := os .ReadFile (filepath .Join (newd , filename ))
106
+ assert .NoError (t , err )
107
+ assert .EqualValues (t , before , string (after ))
108
+ }
109
+
110
+ beforeBytes , err := os .ReadFile (filepath .Join (d , "issue.yml" ))
98
111
assert .NoError (t , err )
99
- before := strings .ReplaceAll (string (beforeBytes ), reponame , newreponame )
100
- after , err := os .ReadFile (filepath .Join (newd , "repo.yml" ))
112
+ var before = make ([]* base.Issue , 0 , 10 )
113
+ assert .NoError (t , yaml .Unmarshal (beforeBytes , & before ))
114
+ afterBytes , err := os .ReadFile (filepath .Join (newd , "issue.yml" ))
101
115
assert .NoError (t , err )
102
- assert .EqualValues (t , before , string (after ))
116
+ var after = make ([]* base.Issue , 0 , 10 )
117
+ assert .NoError (t , yaml .Unmarshal (afterBytes , & after ))
118
+
119
+ assert .EqualValues (t , len (before ), len (after ))
120
+ if len (before ) == len (after ) {
121
+ for i := 0 ; i < len (before ); i ++ {
122
+ assert .EqualValues (t , before [i ].Number , after [i ].Number )
123
+ assert .EqualValues (t , before [i ].Title , after [i ].Title )
124
+ assert .EqualValues (t , before [i ].Content , after [i ].Content )
125
+ assert .EqualValues (t , before [i ].Ref , after [i ].Ref )
126
+ assert .EqualValues (t , before [i ].Milestone , after [i ].Milestone )
127
+ assert .EqualValues (t , before [i ].State , after [i ].State )
128
+ assert .EqualValues (t , before [i ].IsLocked , after [i ].IsLocked )
129
+ assert .EqualValues (t , before [i ].Created , after [i ].Created )
130
+ assert .EqualValues (t , before [i ].Updated , after [i ].Updated )
131
+ assert .EqualValues (t , before [i ].Labels , after [i ].Labels )
132
+ }
133
+ }
103
134
})
104
135
}
0 commit comments