* feat(suite): Implement Suites Fixes #1230 * Update docs * Fix variable alignment * Prevent always-run endpoint from running if a context placeholder fails to resolve in the URL * Return errors when a context placeholder path fails to resolve * Add a couple of unit tests * Add a couple of unit tests * fix(ui): Update group count properly Fixes #1233 * refactor: Pass down entire config instead of several sub-configs * fix: Change default suite interval and timeout * fix: Deprecate disable-monitoring-lock in favor of concurrency * fix: Make sure there are no duplicate keys * Refactor some code * Update watchdog/watchdog.go * Update web/app/src/components/StepDetailsModal.vue Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * chore: Remove useless log * fix: Set default concurrency to 3 instead of 5 --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
87 lines
2.4 KiB
Go
87 lines
2.4 KiB
Go
package endpoint
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func BenchmarkCondition_evaluateWithBodyStringAny(b *testing.B) {
|
|
condition := Condition("[BODY].name == any(john.doe, jane.doe)")
|
|
for n := 0; n < b.N; n++ {
|
|
result := &Result{Body: []byte("{\"name\": \"john.doe\"}")}
|
|
condition.evaluate(result, false, nil)
|
|
}
|
|
b.ReportAllocs()
|
|
}
|
|
|
|
func BenchmarkCondition_evaluateWithBodyStringAnyFailure(b *testing.B) {
|
|
condition := Condition("[BODY].name == any(john.doe, jane.doe)")
|
|
for n := 0; n < b.N; n++ {
|
|
result := &Result{Body: []byte("{\"name\": \"bob.doe\"}")}
|
|
condition.evaluate(result, false, nil)
|
|
}
|
|
b.ReportAllocs()
|
|
}
|
|
|
|
func BenchmarkCondition_evaluateWithBodyString(b *testing.B) {
|
|
condition := Condition("[BODY].name == john.doe")
|
|
for n := 0; n < b.N; n++ {
|
|
result := &Result{Body: []byte("{\"name\": \"john.doe\"}")}
|
|
condition.evaluate(result, false, nil)
|
|
}
|
|
b.ReportAllocs()
|
|
}
|
|
|
|
func BenchmarkCondition_evaluateWithBodyStringFailure(b *testing.B) {
|
|
condition := Condition("[BODY].name == john.doe")
|
|
for n := 0; n < b.N; n++ {
|
|
result := &Result{Body: []byte("{\"name\": \"bob.doe\"}")}
|
|
condition.evaluate(result, false, nil)
|
|
}
|
|
b.ReportAllocs()
|
|
}
|
|
|
|
func BenchmarkCondition_evaluateWithBodyStringFailureInvalidPath(b *testing.B) {
|
|
condition := Condition("[BODY].user.name == bob.doe")
|
|
for n := 0; n < b.N; n++ {
|
|
result := &Result{Body: []byte("{\"name\": \"bob.doe\"}")}
|
|
condition.evaluate(result, false, nil)
|
|
}
|
|
b.ReportAllocs()
|
|
}
|
|
|
|
func BenchmarkCondition_evaluateWithBodyStringLen(b *testing.B) {
|
|
condition := Condition("len([BODY].name) == 8")
|
|
for n := 0; n < b.N; n++ {
|
|
result := &Result{Body: []byte("{\"name\": \"john.doe\"}")}
|
|
condition.evaluate(result, false, nil)
|
|
}
|
|
b.ReportAllocs()
|
|
}
|
|
|
|
func BenchmarkCondition_evaluateWithBodyStringLenFailure(b *testing.B) {
|
|
condition := Condition("len([BODY].name) == 8")
|
|
for n := 0; n < b.N; n++ {
|
|
result := &Result{Body: []byte("{\"name\": \"bob.doe\"}")}
|
|
condition.evaluate(result, false, nil)
|
|
}
|
|
b.ReportAllocs()
|
|
}
|
|
|
|
func BenchmarkCondition_evaluateWithStatus(b *testing.B) {
|
|
condition := Condition("[STATUS] == 200")
|
|
for n := 0; n < b.N; n++ {
|
|
result := &Result{HTTPStatus: 200}
|
|
condition.evaluate(result, false, nil)
|
|
}
|
|
b.ReportAllocs()
|
|
}
|
|
|
|
func BenchmarkCondition_evaluateWithStatusFailure(b *testing.B) {
|
|
condition := Condition("[STATUS] == 200")
|
|
for n := 0; n < b.N; n++ {
|
|
result := &Result{HTTPStatus: 400}
|
|
condition.evaluate(result, false, nil)
|
|
}
|
|
b.ReportAllocs()
|
|
}
|