blob: d582f55bf72ed599381dad0d22974116931bb406 [file] [log] [blame]
package run_benchmark
import (
"fmt"
"testing"
"github.com/stretchr/testify/assert"
)
func TestCreateCmd(t *testing.T) {
for i, test := range []struct {
name string
req RunBenchmarkRequest
expectedErr string
}{
{
name: "create command works",
req: RunBenchmarkRequest{
Benchmark: "benchmark",
Story: "story",
Commit: "64893ca6294946163615dcf23b614afe0419bfa3",
},
expectedErr: "",
},
{
name: "benchmark error",
req: RunBenchmarkRequest{
Story: "story",
Commit: "64893ca6294946163615dcf23b614afe0419bfa3",
},
expectedErr: "Benchmark",
},
{
name: "story error",
req: RunBenchmarkRequest{
Benchmark: "benchmark",
Commit: "64893ca6294946163615dcf23b614afe0419bfa3",
},
expectedErr: "Story",
},
{
name: "commit error",
req: RunBenchmarkRequest{
Benchmark: "benchmark",
Story: "story",
},
expectedErr: "Commit",
},
{
name: "base_perftests not yet implemented",
req: RunBenchmarkRequest{
Benchmark: "base_perftests",
Story: "story",
Commit: "64893ca6294946163615dcf23b614afe0419bfa3",
},
expectedErr: "base_perftests is not yet implemented",
},
} {
t.Run(fmt.Sprintf("[%d] %s", i, test.name), func(t *testing.T) {
e := telemetryExp{}
cmd, err := e.createCmd(test.req)
if test.expectedErr == "" {
assert.Contains(t, cmd, test.req.Benchmark)
assert.Contains(t, cmd, fmt.Sprintf("^%s$", test.req.Story))
} else {
assert.ErrorContains(t, err, test.expectedErr)
}
})
}
}