go__sqs_demo/back/web/confirm_test.go

30 lines
668 B
Go

package web
import (
"net/url"
"testing"
)
func Test__getOp(t *testing.T) {
empty := []string{""}
for _, test := range [...]struct {
name string
input url.Values
expected QueueOp
}{
{"delete", url.Values{"delete": empty}, OpDelete},
{"redrive", url.Values{"redrive": empty}, OpRedrive},
{"none", url.Values{"whatever": empty}, OpInvalid},
{"both", url.Values{"delete": nil, "redrive": nil}, OpInvalid},
} {
t.Run(test.name, func(t *testing.T) {
var u = url.URL{
RawQuery: test.input.Encode(),
}
actual := getOp(&u)
if actual != test.expected {
t.Errorf("got %s but expected %s", actual, test.expected)
}
})
}
}