diff options
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/resource/pkg/dnf_test.go | 38 |
1 files changed, 33 insertions, 5 deletions
diff --git a/internal/resource/pkg/dnf_test.go b/internal/resource/pkg/dnf_test.go index e9778dd..6c929f2 100644 --- a/internal/resource/pkg/dnf_test.go +++ b/internal/resource/pkg/dnf_test.go @@ -42,11 +42,39 @@ func TestApplyDNF(t *testing.T) { if err := applyDNF(p); err != nil { t.Errorf("applyDNF Absent failed: %v", err) } + }) + + t.Run("NonExistentPresent", func(t *testing.T) { + pErr := &Package{ + name: "non-existent-package-gonf-12345", + absent: false, + latest: false, + } + if err := applyDNF(pErr); err == nil { + t.Error("applyDNF Present should have failed for non-existent package") + } + }) - // // Restore the package so we don't leave the system in a changed state - // p.absent = false - // if err := applyDNF(p); err != nil { - // t.Errorf("failed to restore package tig after Absent test: %v", err) - // } + t.Run("NonExistentLatest", func(t *testing.T) { + pErr := &Package{ + name: "non-existent-package-gonf-12345", + absent: false, + latest: true, + } + if err := applyDNF(pErr); err == nil { + t.Error("applyDNF Latest should have failed for non-existent package") + } + }) + + t.Run("NonExistentAbsent", func(t *testing.T) { + pErr := &Package{ + name: "non-existent-package-gonf-12345", + absent: true, + latest: false, + } + // dnf remove is typically idempotent; removing a non-existent package should not error. + if err := applyDNF(pErr); err != nil { + t.Errorf("applyDNF Absent should be idempotent for non-existent package, but got error: %v", err) + } }) } |
