From 920f2ea88c45e972cd87b56580c90a0277b7130e Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Tue, 7 Jul 2026 00:21:32 +0300 Subject: more tests --- internal/resource/pkg/dnf_test.go | 38 +++++++++++++++++++++++++++++++++----- 1 file changed, 33 insertions(+), 5 deletions(-) (limited to 'internal/resource/pkg') 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) + } }) } -- cgit v1.2.3