mirror of
https://github.com/open-policy-agent/opa.git
synced 2026-08-18 06:21:35 -06:00
36 lines
828 B
Go
36 lines
828 B
Go
// Copyright 2017 The OPA Authors. All rights reserved.
|
|
// Use of this source code is governed by an Apache2
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package util
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestEnumFlag(t *testing.T) {
|
|
|
|
flag := NewEnumFlag("foo", []string{"foo", "bar", "baz"})
|
|
|
|
if flag.String() != "foo" {
|
|
t.Fatalf("Expected default value to be foo but got: %v", flag.String())
|
|
}
|
|
|
|
if err := flag.Set("bar"); err != nil {
|
|
t.Fatalf("Unexpected error on set: %v", err)
|
|
}
|
|
|
|
if flag.String() != "bar" {
|
|
t.Fatalf("Expected value to be bar but got: %v", flag.String())
|
|
}
|
|
|
|
if !strings.Contains(flag.Type(), "foo,bar,baz") {
|
|
t.Fatalf("Expected flag type to contain foo,bar,baz but got: %v", flag.Type())
|
|
}
|
|
|
|
if err := flag.Set("deadbeef"); err == nil {
|
|
t.Fatalf("Expected error from set")
|
|
}
|
|
}
|