Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions gateway/gateway-controller/pkg/utils/api_key_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -728,8 +728,8 @@ func TestHashAPIKeyWithArgon2ID_EmptyKey(t *testing.T) {

// Additional tests for uncovered lines

// Tests for expiration handling in generateAPIKeyFromRequest
func TestGenerateAPIKeyFromRequest_Expiration_AllUnits(t *testing.T) {
// Tests for expiration handling in createAPIKeyFromRequest
func TestCreateAPIKeyFromRequest_Expiration_AllUnits(t *testing.T) {
service := &APIKeyService{
apiKeyConfig: &config.APIKeyConfig{
APIKeysPerUserPerAPI: 10,
Expand All @@ -748,29 +748,29 @@ func TestGenerateAPIKeyFromRequest_Expiration_AllUnits(t *testing.T) {

t.Run("seconds unit", func(t *testing.T) {
name := "key1"
req := &api.APIKeyGenerationRequest{
req := &api.APIKeyCreationRequest{
Name: &name,
ExpiresIn: &struct {
Duration int `json:"duration" yaml:"duration"`
Unit api.APIKeyGenerationRequestExpiresInUnit `json:"unit" yaml:"unit"`
Unit api.APIKeyCreationRequestExpiresInUnit `json:"unit" yaml:"unit"`
}{
Duration: 3600,
Unit: api.APIKeyGenerationRequestExpiresInUnitSeconds,
Unit: api.APIKeyCreationRequestExpiresInUnitSeconds,
},
}
key, err := service.generateAPIKeyFromRequest("h1", req, "u1", apiConfig)
key, err := service.createAPIKeyFromRequest("h1", req, "u1", apiConfig)
assert.NoError(t, err)
assert.NotNil(t, key.ExpiresAt)
})

t.Run("past expiration fails", func(t *testing.T) {
name := "key2"
past := time.Now().Add(-1 * time.Hour)
req := &api.APIKeyGenerationRequest{
req := &api.APIKeyCreationRequest{
Name: &name,
ExpiresAt: &past,
}
_, err := service.generateAPIKeyFromRequest("h1", req, "u1", apiConfig)
_, err := service.createAPIKeyFromRequest("h1", req, "u1", apiConfig)
assert.Error(t, err)
assert.Contains(t, err.Error(), "must be in the future")
})
Expand Down
2 changes: 2 additions & 0 deletions gateway/gateway-controller/pkg/xds/translator_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1218,6 +1218,7 @@ func TestTranslator_CreateInternalListenerForWebSubHub(t *testing.T) {
translator.routerConfig.PolicyEngine.Enabled = true
translator.routerConfig.PolicyEngine.Host = "policy-engine"
translator.routerConfig.PolicyEngine.Port = 9002
translator.routerConfig.LuaScriptPath = "../../lua/request_transformation.lua"

listener, err := translator.createInternalListenerForWebSubHub(false)
require.NoError(t, err)
Expand Down Expand Up @@ -1301,6 +1302,7 @@ func TestTranslator_CreateDynamicFwdListenerForWebSubHub(t *testing.T) {
translator.routerConfig.PolicyEngine.Enabled = true
translator.routerConfig.PolicyEngine.Host = "policy-engine"
translator.routerConfig.PolicyEngine.Port = 9002
translator.routerConfig.LuaScriptPath = "../../lua/request_transformation.lua"

listener, err := translator.createDynamicFwdListenerForWebSubHub(false)
require.NoError(t, err)
Expand Down
32 changes: 16 additions & 16 deletions gateway/policy-engine/internal/executor/chain_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ func TestExecuteRequestPolicies_EmptyPolicyList(t *testing.T) {
ctx := context.Background()
reqCtx := newTestRequestContext()

result, err := executor.ExecuteRequestPolicies(ctx, []policy.Policy{}, reqCtx, []policy.PolicySpec{}, "api", "route")
result, err := executor.ExecuteRequestPolicies(ctx, []policy.Policy{}, reqCtx, []policy.PolicySpec{}, "api", "route", false)

require.NoError(t, err)
assert.NotNil(t, result)
Expand All @@ -212,7 +212,7 @@ func TestExecuteRequestPolicies_SinglePolicy_NoAction(t *testing.T) {
policies := []policy.Policy{&noopPolicy{}}
specs := []policy.PolicySpec{newPolicySpec("noop", "v1.0.0", true, nil)}

result, err := executor.ExecuteRequestPolicies(ctx, policies, reqCtx, specs, "api", "route")
result, err := executor.ExecuteRequestPolicies(ctx, policies, reqCtx, specs, "api", "route", false)

require.NoError(t, err)
assert.Len(t, result.Results, 1)
Expand All @@ -230,7 +230,7 @@ func TestExecuteRequestPolicies_DisabledPolicy_Skipped(t *testing.T) {
policies := []policy.Policy{&noopPolicy{}}
specs := []policy.PolicySpec{newPolicySpec("noop", "v1.0.0", false, nil)}

result, err := executor.ExecuteRequestPolicies(ctx, policies, reqCtx, specs, "api", "route")
result, err := executor.ExecuteRequestPolicies(ctx, policies, reqCtx, specs, "api", "route", false)

require.NoError(t, err)
assert.Len(t, result.Results, 1)
Expand All @@ -247,7 +247,7 @@ func TestExecuteRequestPolicies_ConditionFalse_Skipped(t *testing.T) {
policies := []policy.Policy{&noopPolicy{}}
specs := []policy.PolicySpec{newPolicySpec("noop", "v1.0.0", true, ptrStr("request.method == 'POST'"))}

result, err := executor.ExecuteRequestPolicies(ctx, policies, reqCtx, specs, "api", "route")
result, err := executor.ExecuteRequestPolicies(ctx, policies, reqCtx, specs, "api", "route", true)

require.NoError(t, err)
assert.Len(t, result.Results, 1)
Expand All @@ -264,7 +264,7 @@ func TestExecuteRequestPolicies_ConditionTrue_Executed(t *testing.T) {
policies := []policy.Policy{&noopPolicy{}}
specs := []policy.PolicySpec{newPolicySpec("noop", "v1.0.0", true, ptrStr("request.method == 'GET'"))}

result, err := executor.ExecuteRequestPolicies(ctx, policies, reqCtx, specs, "api", "route")
result, err := executor.ExecuteRequestPolicies(ctx, policies, reqCtx, specs, "api", "route", true)

require.NoError(t, err)
assert.Len(t, result.Results, 1)
Expand All @@ -281,7 +281,7 @@ func TestExecuteRequestPolicies_ConditionEvaluationError(t *testing.T) {
policies := []policy.Policy{&noopPolicy{}}
specs := []policy.PolicySpec{newPolicySpec("noop", "v1.0.0", true, ptrStr("invalid.expression"))}

result, err := executor.ExecuteRequestPolicies(ctx, policies, reqCtx, specs, "api", "route")
result, err := executor.ExecuteRequestPolicies(ctx, policies, reqCtx, specs, "api", "route", true)

assert.Error(t, err)
assert.Nil(t, result)
Expand All @@ -303,7 +303,7 @@ func TestExecuteRequestPolicies_ShortCircuit(t *testing.T) {
newPolicySpec("noop", "v1.0.0", true, nil),
}

result, err := executor.ExecuteRequestPolicies(ctx, policies, reqCtx, specs, "api", "route")
result, err := executor.ExecuteRequestPolicies(ctx, policies, reqCtx, specs, "api", "route", false)

require.NoError(t, err)
assert.True(t, result.ShortCircuited)
Expand All @@ -322,7 +322,7 @@ func TestExecuteRequestPolicies_HeaderModification(t *testing.T) {
}
specs := []policy.PolicySpec{newPolicySpec("header-mod", "v1.0.0", true, nil)}

result, err := executor.ExecuteRequestPolicies(ctx, policies, reqCtx, specs, "api", "route")
result, err := executor.ExecuteRequestPolicies(ctx, policies, reqCtx, specs, "api", "route", false)

require.NoError(t, err)
assert.Len(t, result.Results, 1)
Expand Down Expand Up @@ -351,7 +351,7 @@ func TestExecuteRequestPolicies_MultiplePolicies(t *testing.T) {
newPolicySpec("noop", "v1.0.0", true, nil),
}

result, err := executor.ExecuteRequestPolicies(ctx, policies, reqCtx, specs, "api", "route")
result, err := executor.ExecuteRequestPolicies(ctx, policies, reqCtx, specs, "api", "route", false)

require.NoError(t, err)
assert.Len(t, result.Results, 3)
Expand All @@ -377,7 +377,7 @@ func TestExecuteResponsePolicies_EmptyPolicyList(t *testing.T) {
ctx := context.Background()
respCtx := newTestResponseContext()

result, err := executor.ExecuteResponsePolicies(ctx, []policy.Policy{}, respCtx, []policy.PolicySpec{}, "api", "route")
result, err := executor.ExecuteResponsePolicies(ctx, []policy.Policy{}, respCtx, []policy.PolicySpec{}, "api", "route", false)

require.NoError(t, err)
assert.NotNil(t, result)
Expand All @@ -393,7 +393,7 @@ func TestExecuteResponsePolicies_SinglePolicy(t *testing.T) {
policies := []policy.Policy{&noopPolicy{}}
specs := []policy.PolicySpec{newPolicySpec("noop", "v1.0.0", true, nil)}

result, err := executor.ExecuteResponsePolicies(ctx, policies, respCtx, specs, "api", "route")
result, err := executor.ExecuteResponsePolicies(ctx, policies, respCtx, specs, "api", "route", false)

require.NoError(t, err)
assert.Len(t, result.Results, 1)
Expand All @@ -410,7 +410,7 @@ func TestExecuteResponsePolicies_DisabledPolicy(t *testing.T) {
policies := []policy.Policy{&noopPolicy{}}
specs := []policy.PolicySpec{newPolicySpec("noop", "v1.0.0", false, nil)}

result, err := executor.ExecuteResponsePolicies(ctx, policies, respCtx, specs, "api", "route")
result, err := executor.ExecuteResponsePolicies(ctx, policies, respCtx, specs, "api", "route", false)

require.NoError(t, err)
assert.Len(t, result.Results, 1)
Expand All @@ -427,7 +427,7 @@ func TestExecuteResponsePolicies_ConditionFalse(t *testing.T) {
policies := []policy.Policy{&noopPolicy{}}
specs := []policy.PolicySpec{newPolicySpec("noop", "v1.0.0", true, ptrStr("response.status == 404"))}

result, err := executor.ExecuteResponsePolicies(ctx, policies, respCtx, specs, "api", "route")
result, err := executor.ExecuteResponsePolicies(ctx, policies, respCtx, specs, "api", "route", true)

require.NoError(t, err)
assert.Len(t, result.Results, 1)
Expand All @@ -444,7 +444,7 @@ func TestExecuteResponsePolicies_ConditionError(t *testing.T) {
policies := []policy.Policy{&noopPolicy{}}
specs := []policy.PolicySpec{newPolicySpec("noop", "v1.0.0", true, ptrStr("invalid"))}

result, err := executor.ExecuteResponsePolicies(ctx, policies, respCtx, specs, "api", "route")
result, err := executor.ExecuteResponsePolicies(ctx, policies, respCtx, specs, "api", "route", true)

assert.Error(t, err)
assert.Nil(t, result)
Expand All @@ -462,7 +462,7 @@ func TestExecuteResponsePolicies_HeaderModification(t *testing.T) {
}
specs := []policy.PolicySpec{newPolicySpec("header-mod", "v1.0.0", true, nil)}

result, err := executor.ExecuteResponsePolicies(ctx, policies, respCtx, specs, "api", "route")
result, err := executor.ExecuteResponsePolicies(ctx, policies, respCtx, specs, "api", "route", false)

require.NoError(t, err)
assert.Len(t, result.Results, 1)
Expand Down Expand Up @@ -497,7 +497,7 @@ func TestExecuteResponsePolicies_ReverseOrder(t *testing.T) {
newPolicySpec("third", "v1.0.0", true, nil),
}

result, err := executor.ExecuteResponsePolicies(ctx, policies, respCtx, specs, "api", "route")
result, err := executor.ExecuteResponsePolicies(ctx, policies, respCtx, specs, "api", "route", false)

require.NoError(t, err)
assert.Len(t, result.Results, 3)
Expand Down
Loading