summaryrefslogtreecommitdiff
path: root/pkg/trust/policy.go
diff options
context:
space:
mode:
authorMiloslav Trmač <mitr@redhat.com>2022-08-24 22:56:54 +0200
committerMiloslav Trmač <mitr@redhat.com>2022-08-25 01:51:58 +0200
commit4df1e2524b9a8b3ff2d3768ac7fe54e98a966886 (patch)
tree4a6ecf081805b37e4cbda78f492268da0527e822 /pkg/trust/policy.go
parent4b2bd1036b4952a35a526202c8965cd3b32162ad (diff)
downloadpodman-4df1e2524b9a8b3ff2d3768ac7fe54e98a966886.tar.gz
podman-4df1e2524b9a8b3ff2d3768ac7fe54e98a966886.tar.bz2
podman-4df1e2524b9a8b3ff2d3768ac7fe54e98a966886.zip
Add a unit test for trust.PolicyDescription
Add at least a basic unit test for the various entry types. So that we don't have to actually deal with GPG keys and /usr/bin/gpg*, parametrize the code with a gpgIDReader , and pass a fake one in the unit test. Signed-off-by: Miloslav Trmač <mitr@redhat.com>
Diffstat (limited to 'pkg/trust/policy.go')
-rw-r--r--pkg/trust/policy.go8
1 files changed, 6 insertions, 2 deletions
diff --git a/pkg/trust/policy.go b/pkg/trust/policy.go
index d2b904b07..7f32e2afc 100644
--- a/pkg/trust/policy.go
+++ b/pkg/trust/policy.go
@@ -53,6 +53,10 @@ func DefaultPolicyPath(sys *types.SystemContext) string {
return systemDefaultPolicyPath
}
+// gpgIDReader returns GPG key IDs of keys stored at the provided path.
+// It exists only for tests, production code should always use getGPGIdFromKeyPath.
+type gpgIDReader func(string) []string
+
// createTmpFile creates a temp file under dir and writes the content into it
func createTmpFile(dir, pattern string, content []byte) (string, error) {
tmpfile, err := ioutil.TempFile(dir, pattern)
@@ -79,7 +83,7 @@ func getGPGIdFromKeyPath(path string) []string {
}
// getGPGIdFromKeyData returns GPG key IDs of keys in the provided keyring.
-func getGPGIdFromKeyData(key string) []string {
+func getGPGIdFromKeyData(idReader gpgIDReader, key string) []string {
decodeKey, err := base64.StdEncoding.DecodeString(key)
if err != nil {
logrus.Errorf("%s, error decoding key data", err)
@@ -90,7 +94,7 @@ func getGPGIdFromKeyData(key string) []string {
logrus.Errorf("Creating key date temp file %s", err)
}
defer os.Remove(tmpfileName)
- return getGPGIdFromKeyPath(tmpfileName)
+ return idReader(tmpfileName)
}
func parseUids(colonDelimitKeys []byte) []string {