@@ -94,3 +94,58 @@ func TestRelease_Create(t *testing.T) {
94
94
IsTag : true ,
95
95
}, nil ))
96
96
}
97
+
98
+ func TestRelease_MirrorDelete (t * testing.T ) {
99
+ assert .NoError (t , PrepareTestDatabase ())
100
+
101
+ user := AssertExistsAndLoadBean (t , & User {ID : 2 }).(* User )
102
+ repo := AssertExistsAndLoadBean (t , & Repository {ID : 1 }).(* Repository )
103
+ repoPath := RepoPath (user .Name , repo .Name )
104
+ migrationOptions := MigrateRepoOptions {
105
+ Name : "test_mirror" ,
106
+ Description : "Test mirror" ,
107
+ IsPrivate : false ,
108
+ IsMirror : true ,
109
+ RemoteAddr : repoPath ,
110
+ }
111
+ mirror , err := MigrateRepository (user , user , migrationOptions )
112
+ assert .NoError (t , err )
113
+
114
+ gitRepo , err := git .OpenRepository (repoPath )
115
+ assert .NoError (t , err )
116
+
117
+ findOptions := FindReleasesOptions {IncludeDrafts : true , IncludeTags : true }
118
+ initCount , err := GetReleaseCountByRepoID (mirror .ID , findOptions )
119
+ assert .NoError (t , err )
120
+
121
+ assert .NoError (t , CreateRelease (gitRepo , & Release {
122
+ RepoID : repo .ID ,
123
+ PublisherID : user .ID ,
124
+ TagName : "v0.2" ,
125
+ Target : "master" ,
126
+ Title : "v0.2 is released" ,
127
+ Note : "v0.2 is released" ,
128
+ IsDraft : false ,
129
+ IsPrerelease : false ,
130
+ IsTag : true ,
131
+ }, nil ))
132
+
133
+ err = mirror .GetMirror ()
134
+ assert .NoError (t , err )
135
+
136
+ _ , ok := mirror .Mirror .runSync ()
137
+ assert .True (t , ok )
138
+
139
+ count , err := GetReleaseCountByRepoID (mirror .ID , findOptions )
140
+ assert .EqualValues (t , initCount + 1 , count )
141
+
142
+ release , err := GetRelease (repo .ID , "v0.2" )
143
+ assert .NoError (t , err )
144
+ assert .NoError (t , DeleteReleaseByID (release .ID , user , true ))
145
+
146
+ _ , ok = mirror .Mirror .runSync ()
147
+ assert .True (t , ok )
148
+
149
+ count , err = GetReleaseCountByRepoID (mirror .ID , findOptions )
150
+ assert .EqualValues (t , initCount , count )
151
+ }
0 commit comments