cli/pkg/cmd/attestation/download/options_test.go
Meredith Lancaster cbd57deb11 add download cmd
Signed-off-by: Meredith Lancaster <malancas@github.com>
2024-03-04 11:05:06 -07:00

53 lines
1.1 KiB
Go

package download
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestAreFlagsValid(t *testing.T) {
t.Run("missing Owner", func(t *testing.T) {
opts := Options{
DigestAlgorithm: "sha512",
}
err := opts.AreFlagsValid()
assert.Error(t, err)
assert.ErrorContains(t, err, "owner must be provided")
})
t.Run("missing DigestAlgorithm", func(t *testing.T) {
opts := Options{
Owner: "github",
}
err := opts.AreFlagsValid()
assert.Error(t, err)
assert.ErrorContains(t, err, "digest-alg cannot be empty")
})
t.Run("Limit is too low", func(t *testing.T) {
opts := Options{
DigestAlgorithm: "sha512",
Limit: 0,
Owner: "github",
}
err := opts.AreFlagsValid()
assert.Error(t, err)
assert.ErrorContains(t, err, "limit 0 not allowed, must be between 1 and 1000")
})
t.Run("Limit is too high", func(t *testing.T) {
opts := Options{
DigestAlgorithm: "sha512",
Limit: 1001,
Owner: "github",
}
err := opts.AreFlagsValid()
assert.Error(t, err)
assert.ErrorContains(t, err, "limit 1001 not allowed, must be between 1 and 1000")
})
}