@@ -349,17 +349,25 @@ type MockGitTagOperations struct {
349349 // Error responses for each operation
350350 CreateAnnotatedTagErr error
351351 CreateLightweightTagErr error
352+ CreateSignedTagErr error
352353 TagExistsErr error
353354 GetLatestTagErr error
354355 PushTagErr error
356+ ListTagsErr error
357+ DeleteTagErr error
358+ DeleteRemoteTagErr error
355359
356360 // Response values
357361 TagExistsResult bool
358362 GetLatestTagName string
363+ ListTagsResult []string
359364
360365 // Call tracking
361- CreatedTags []string
362- PushedTags []string
366+ CreatedTags []string
367+ PushedTags []string
368+ DeletedTags []string
369+ DeletedRemote []string
370+ ListTagsCalled bool
363371}
364372
365373// NewMockGitTagOperations creates a new MockGitTagOperations.
@@ -418,6 +426,46 @@ func (m *MockGitTagOperations) PushTag(name string) error {
418426 return nil
419427}
420428
429+ func (m * MockGitTagOperations ) CreateSignedTag (name , message , keyID string ) error {
430+ m .mu .Lock ()
431+ defer m .mu .Unlock ()
432+ if m .CreateSignedTagErr != nil {
433+ return m .CreateSignedTagErr
434+ }
435+ m .CreatedTags = append (m .CreatedTags , name )
436+ return nil
437+ }
438+
439+ func (m * MockGitTagOperations ) ListTags (pattern string ) ([]string , error ) {
440+ m .mu .Lock ()
441+ defer m .mu .Unlock ()
442+ m .ListTagsCalled = true
443+ if m .ListTagsErr != nil {
444+ return nil , m .ListTagsErr
445+ }
446+ return m .ListTagsResult , nil
447+ }
448+
449+ func (m * MockGitTagOperations ) DeleteTag (name string ) error {
450+ m .mu .Lock ()
451+ defer m .mu .Unlock ()
452+ if m .DeleteTagErr != nil {
453+ return m .DeleteTagErr
454+ }
455+ m .DeletedTags = append (m .DeletedTags , name )
456+ return nil
457+ }
458+
459+ func (m * MockGitTagOperations ) DeleteRemoteTag (name string ) error {
460+ m .mu .Lock ()
461+ defer m .mu .Unlock ()
462+ if m .DeleteRemoteTagErr != nil {
463+ return m .DeleteRemoteTagErr
464+ }
465+ m .DeletedRemote = append (m .DeletedRemote , name )
466+ return nil
467+ }
468+
421469// MockGitCommitOperations is a mock git commit operations for testing.
422470type MockGitCommitOperations struct {
423471 mu sync.Mutex
0 commit comments