summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
Diffstat (limited to 'internal')
-rw-r--r--internal/resource/pkg/dnf_test.go38
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)
+ }
})
}