Skip to content

Commit b22105c

Browse files
chore: improve e2e test registration (#400)
Signed-off-by: Kavindu Dodanduwa <[email protected]>
1 parent 71f342c commit b22105c

File tree

6 files changed

+21
-15
lines changed

6 files changed

+21
-15
lines changed

providers/flagd-in-process/e2e/evaluation_test.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,10 @@ func TestEvaluationFlagdInProcess(t *testing.T) {
2525

2626
testSuite := godog.TestSuite{
2727
Name: name,
28-
ScenarioInitializer: integration.InitializeEvaluationScenario(func() openfeature.FeatureProvider {
28+
TestSuiteInitializer: integration.InitializeTestSuite(func() openfeature.FeatureProvider {
2929
return in_process.NewProvider(context.Background(), in_process.WithSourceURI("localhost:9090"), in_process.WithSourceType(in_process.SourceTypeGrpc))
3030
}),
31+
ScenarioInitializer: integration.InitializeEvaluationScenario,
3132
Options: &godog.Options{
3233
Format: "pretty",
3334
Paths: []string{"../../../spec/specification/assets/gherkin/evaluation.feature"},

providers/flagd-in-process/e2e/json_evalutor_test.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,10 @@ func TestJsonEvaluatorFlagdInProcess(t *testing.T) {
2323

2424
testSuite := godog.TestSuite{
2525
Name: name,
26-
ScenarioInitializer: integration.InitializeFlagdJsonScenario(func() openfeature.FeatureProvider {
26+
TestSuiteInitializer: integration.InitializeFlagdJsonTestSuite(func() openfeature.FeatureProvider {
2727
return in_process.NewProvider(context.Background(), in_process.WithSourceURI("localhost:9090"), in_process.WithSourceType(in_process.SourceTypeGrpc))
2828
}),
29+
ScenarioInitializer: integration.InitializeFlagdJsonScenario,
2930
Options: &godog.Options{
3031
Format: "pretty",
3132
Paths: []string{"../../../flagd-testbed/gherkin/flagd-json-evaluator.feature"},

providers/flagd/e2e/evaluation_test.go

+4-2
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,10 @@ func TestETestEvaluationFlagdInRPC(t *testing.T) {
2424

2525
testSuite := godog.TestSuite{
2626
Name: name,
27-
ScenarioInitializer: integration.InitializeEvaluationScenario(func() openfeature.FeatureProvider {
27+
TestSuiteInitializer: integration.InitializeTestSuite(func() openfeature.FeatureProvider {
2828
return flagd.NewProvider(flagd.WithPort(8013))
2929
}),
30+
ScenarioInitializer: integration.InitializeEvaluationScenario,
3031
Options: &godog.Options{
3132
Format: "pretty",
3233
Paths: []string{"../../../spec/specification/assets/gherkin/evaluation.feature"},
@@ -52,9 +53,10 @@ func TestJsonEvaluatorFlagdInProcess(t *testing.T) {
5253

5354
testSuite := godog.TestSuite{
5455
Name: name,
55-
ScenarioInitializer: integration.InitializeEvaluationScenario(func() openfeature.FeatureProvider {
56+
TestSuiteInitializer: integration.InitializeTestSuite(func() openfeature.FeatureProvider {
5657
return flagd.NewProvider(flagd.WithInProcessResolver(), flagd.WithPort(9090))
5758
}),
59+
ScenarioInitializer: integration.InitializeEvaluationScenario,
5860
Options: &godog.Options{
5961
Format: "pretty",
6062
Paths: []string{"../../../spec/specification/assets/gherkin/evaluation.feature"},

providers/flagd/e2e/json_evalutor_test.go

+4-2
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,10 @@ func TestJsonEvaluatorInRPC(t *testing.T) {
2222

2323
testSuite := godog.TestSuite{
2424
Name: name,
25-
ScenarioInitializer: integration.InitializeFlagdJsonScenario(func() openfeature.FeatureProvider {
25+
TestSuiteInitializer: integration.InitializeFlagdJsonTestSuite(func() openfeature.FeatureProvider {
2626
return flagd.NewProvider(flagd.WithPort(8013))
2727
}),
28+
ScenarioInitializer: integration.InitializeFlagdJsonScenario,
2829
Options: &godog.Options{
2930
Format: "pretty",
3031
Paths: []string{"../../../flagd-testbed/gherkin/flagd-json-evaluator.feature"},
@@ -50,9 +51,10 @@ func TestJsonEvaluatorInProcess(t *testing.T) {
5051

5152
testSuite := godog.TestSuite{
5253
Name: name,
53-
ScenarioInitializer: integration.InitializeFlagdJsonScenario(func() openfeature.FeatureProvider {
54+
TestSuiteInitializer: integration.InitializeFlagdJsonTestSuite(func() openfeature.FeatureProvider {
5455
return flagd.NewProvider(flagd.WithInProcessResolver(), flagd.WithPort(9090))
5556
}),
57+
ScenarioInitializer: integration.InitializeFlagdJsonScenario,
5658
Options: &godog.Options{
5759
Format: "pretty",
5860
Paths: []string{"../../../flagd-testbed/gherkin/flagd-json-evaluator.feature"},

tests/flagd/pkg/integration/evaluation.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ import (
1010
"github.com/open-feature/go-sdk/pkg/openfeature"
1111
)
1212

13-
func InitializeEvaluationScenario(providerSupplier func() openfeature.FeatureProvider) func(*godog.ScenarioContext) {
13+
// InitializeTestSuite register provider supplier for this test run
14+
func InitializeTestSuite(providerSupplier func() openfeature.FeatureProvider) func(*godog.TestSuiteContext) {
1415
test_provider_supplier = providerSupplier
15-
16-
return initializeEvaluationScenario
16+
return func(suiteContext *godog.TestSuiteContext) {}
1717
}
1818

1919
// InitializeEvaluationScenario initializes the evaluation test scenario
20-
func initializeEvaluationScenario(ctx *godog.ScenarioContext) {
20+
func InitializeEvaluationScenario(ctx *godog.ScenarioContext) {
2121
ctx.Step(`^a provider is registered$`, aFlagdProviderIsSet)
2222

2323
ctx.Step(`^a boolean flag with key "([^"]*)" is evaluated with default value "([^"]*)"$`, aBooleanFlagWithKeyIsEvaluatedWithDefaultValue)

tests/flagd/pkg/integration/flagd_json_evaluator.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@ type ctxDefaultKey struct{}
1818
// ctxValueKey is the key used to pass the value across context.Context
1919
type ctxValueKey struct{}
2020

21-
func InitializeFlagdJsonScenario(providerSupplier func() openfeature.FeatureProvider) func(*godog.ScenarioContext) {
22-
21+
// InitializeFlagdJsonTestSuite register provider supplier and register test steps
22+
func InitializeFlagdJsonTestSuite(providerSupplier func() openfeature.FeatureProvider) func(*godog.TestSuiteContext) {
2323
test_provider_supplier = providerSupplier
2424

25-
return initializeFlagdJsonScenario
25+
return func(suiteContext *godog.TestSuiteContext) {}
2626
}
2727

28-
// initializeFlagdJsonScenario initializes the flagd json evaluator test scenario
29-
func initializeFlagdJsonScenario(ctx *godog.ScenarioContext) {
28+
// InitializeFlagdJsonScenario initializes the flagd json evaluator test scenario
29+
func InitializeFlagdJsonScenario(ctx *godog.ScenarioContext) {
3030
ctx.Step(`^a flagd provider is set$`, aFlagdProviderIsSet)
3131
ctx.Step(`^a string flag with key "([^"]*)" is evaluated with default value "([^"]*)"$`, aFlagdStringFlagWithKeyIsEvaluatedWithDefaultValue)
3232
ctx.Step(`^a context containing a key "([^"]*)", with value "([^"]*)"$`, aContextContainingAKeyWithValue)

0 commit comments

Comments
 (0)