@@ -219,62 +219,57 @@ func TestGitRepositoryReconciler_Reconcile(t *testing.T) {
219219 testSuspendedObjectDeleteWithArtifact (ctx , g , obj )
220220}
221221
222- // TODO(hidde): Re-enable this test.
223- // It is currently disabled because it fails on machines with Git version
224- // >=v2.41.0 due to changes to commands used by the test server. Causing
225- // the test server to return an error when cloning an empty repository,
226- // instead of yielding an empty object.
227- //func TestGitRepositoryReconciler_reconcileSource_emptyRepository(t *testing.T) {
228- // g := NewWithT(t)
229- //
230- // server, err := gittestserver.NewTempGitServer()
231- // g.Expect(err).NotTo(HaveOccurred())
232- // defer os.RemoveAll(server.Root())
233- // server.AutoCreate()
234- // g.Expect(server.StartHTTP()).To(Succeed())
235- // defer server.StopHTTP()
236- //
237- // obj := &sourcev1.GitRepository{
238- // ObjectMeta: metav1.ObjectMeta{
239- // GenerateName: "empty-",
240- // Generation: 1,
241- // },
242- // Spec: sourcev1.GitRepositorySpec{
243- // Interval: metav1.Duration{Duration: interval},
244- // Timeout: &metav1.Duration{Duration: timeout},
245- // URL: server.HTTPAddress() + "/test.git",
246- // },
247- // }
248- //
249- // clientBuilder := fakeclient.NewClientBuilder().
250- // WithScheme(testEnv.GetScheme()).
251- // WithStatusSubresource(&sourcev1.GitRepository{})
252- //
253- // r := &GitRepositoryReconciler{
254- // Client: clientBuilder.Build(),
255- // EventRecorder: record.NewFakeRecorder(32),
256- // Storage: testStorage,
257- // patchOptions: getPatchOptions(gitRepositoryReadyCondition.Owned, "sc"),
258- // }
259- //
260- // g.Expect(r.Client.Create(context.TODO(), obj)).ToNot(HaveOccurred())
261- // defer func() {
262- // g.Expect(r.Client.Delete(context.TODO(), obj)).ToNot(HaveOccurred())
263- // }()
264- //
265- // var commit git.Commit
266- // var includes artifactSet
267- // sp := patch.NewSerialPatcher(obj, r.Client)
268- //
269- // got, err := r.reconcileSource(context.TODO(), sp, obj, &commit, &includes, t.TempDir())
270- // assertConditions := []metav1.Condition{
271- // *conditions.TrueCondition(sourcev1.FetchFailedCondition, "EmptyGitRepository", "git repository is empty"),
272- // }
273- // g.Expect(obj.Status.Conditions).To(conditions.MatchConditions(assertConditions))
274- // g.Expect(err).To(HaveOccurred())
275- // g.Expect(got).To(Equal(sreconcile.ResultEmpty))
276- // g.Expect(commit).ToNot(BeNil())
277- //}
222+ func TestGitRepositoryReconciler_reconcileSource_emptyRepository (t * testing.T ) {
223+ g := NewWithT (t )
224+
225+ server , err := gittestserver .NewTempGitServer ()
226+ g .Expect (err ).NotTo (HaveOccurred ())
227+ defer os .RemoveAll (server .Root ())
228+ server .AutoCreate ()
229+ g .Expect (server .StartHTTP ()).To (Succeed ())
230+ defer server .StopHTTP ()
231+
232+ obj := & sourcev1.GitRepository {
233+ ObjectMeta : metav1.ObjectMeta {
234+ GenerateName : "empty-" ,
235+ Generation : 1 ,
236+ },
237+ Spec : sourcev1.GitRepositorySpec {
238+ Interval : metav1.Duration {Duration : interval },
239+ Timeout : & metav1.Duration {Duration : timeout },
240+ URL : server .HTTPAddress () + "/test.git" ,
241+ },
242+ }
243+
244+ clientBuilder := fakeclient .NewClientBuilder ().
245+ WithScheme (testEnv .GetScheme ()).
246+ WithStatusSubresource (& sourcev1.GitRepository {})
247+
248+ r := & GitRepositoryReconciler {
249+ Client : clientBuilder .Build (),
250+ EventRecorder : record .NewFakeRecorder (32 ),
251+ Storage : testStorage ,
252+ patchOptions : getPatchOptions (gitRepositoryReadyCondition .Owned , "sc" ),
253+ }
254+
255+ g .Expect (r .Client .Create (context .TODO (), obj )).ToNot (HaveOccurred ())
256+ defer func () {
257+ g .Expect (r .Client .Delete (context .TODO (), obj )).ToNot (HaveOccurred ())
258+ }()
259+
260+ var commit git.Commit
261+ var includes artifactSet
262+ sp := patch .NewSerialPatcher (obj , r .Client )
263+
264+ got , err := r .reconcileSource (context .TODO (), sp , obj , & commit , & includes , t .TempDir ())
265+ assertConditions := []metav1.Condition {
266+ * conditions .TrueCondition (sourcev1 .FetchFailedCondition , "EmptyGitRepository" , "git repository is empty" ),
267+ }
268+ g .Expect (obj .Status .Conditions ).To (conditions .MatchConditions (assertConditions ))
269+ g .Expect (err ).To (HaveOccurred ())
270+ g .Expect (got ).To (Equal (sreconcile .ResultEmpty ))
271+ g .Expect (commit ).ToNot (BeNil ())
272+ }
278273
279274func TestGitRepositoryReconciler_reconcileSource_authStrategy (t * testing.T ) {
280275 type options struct {
0 commit comments