@@ -94,3 +94,58 @@ func TestRelease_Create(t *testing.T) {
9494 IsTag : true ,
9595 }, nil ))
9696}
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