feat(goctl): Support gateway sample generation (#3049)
This commit is contained in:
101
tools/goctl/test/test_test.go
Normal file
101
tools/goctl/test/test_test.go
Normal file
@@ -0,0 +1,101 @@
|
||||
package test
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestExecutor_Run(t *testing.T) {
|
||||
executor := NewExecutor[string, string]()
|
||||
executor.Add([]Data[string, string]{
|
||||
{
|
||||
Name: "empty",
|
||||
},
|
||||
{
|
||||
Name: "snake_case",
|
||||
input: "A_B_C",
|
||||
want: "a_b_c",
|
||||
},
|
||||
{
|
||||
Name: "camel_case",
|
||||
input: "AaBbCc",
|
||||
want: "aabbcc",
|
||||
},
|
||||
}...)
|
||||
executor.Run(t, func(s string) string {
|
||||
return strings.ToLower(s)
|
||||
})
|
||||
}
|
||||
|
||||
func TestExecutor_RunE(t *testing.T) {
|
||||
var dummyError = errors.New("dummy error")
|
||||
executor := NewExecutor[string, string]()
|
||||
executor.Add([]Data[string, string]{
|
||||
{
|
||||
Name: "empty",
|
||||
},
|
||||
{
|
||||
Name: "snake_case",
|
||||
input: "A_B_C",
|
||||
want: "a_b_c",
|
||||
},
|
||||
{
|
||||
Name: "camel_case",
|
||||
input: "AaBbCc",
|
||||
want: "aabbcc",
|
||||
},
|
||||
{
|
||||
Name: "invalid_input",
|
||||
input: "😄",
|
||||
E: dummyError,
|
||||
},
|
||||
}...)
|
||||
executor.RunE(t, func(s string) (string, error) {
|
||||
for _, r := range s {
|
||||
if r == '_' || r >= 'a' && r <= 'z' || r >= 'A' && r <= 'Z' {
|
||||
continue
|
||||
}
|
||||
return "", dummyError
|
||||
}
|
||||
return strings.ToLower(s), nil
|
||||
})
|
||||
}
|
||||
|
||||
func TestWithComparison(t *testing.T) {
|
||||
var dummyError = errors.New("dummy error")
|
||||
executor := NewExecutor[string, string](WithComparison[string, string](func(t *testing.T, expected, actual string) bool {
|
||||
return assert.Equal(t, expected, actual)
|
||||
}))
|
||||
executor.Add([]Data[string, string]{
|
||||
{
|
||||
Name: "empty",
|
||||
},
|
||||
{
|
||||
Name: "snake_case",
|
||||
input: "A_B_C",
|
||||
want: "a_b_c",
|
||||
},
|
||||
{
|
||||
Name: "camel_case",
|
||||
input: "AaBbCc",
|
||||
want: "aabbcc",
|
||||
},
|
||||
{
|
||||
Name: "invalid_input",
|
||||
input: "😄",
|
||||
E: dummyError,
|
||||
},
|
||||
}...)
|
||||
executor.RunE(t, func(s string) (string, error) {
|
||||
for _, r := range s {
|
||||
if r == '_' || r >= 'a' && r <= 'z' || r >= 'A' && r <= 'Z' {
|
||||
continue
|
||||
}
|
||||
return "", dummyError
|
||||
}
|
||||
return strings.ToLower(s), nil
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user