tyk icon indicating copy to clipboard operation
tyk copied to clipboard

Feature/redis storage drivers

Open titpetric opened this issue 2 years ago • 23 comments

Description

WIP: Adding redis 7.0+ support, storage... waves at everything.

Related Issue

Motivation and Context

How This Has Been Tested

Screenshots (if appropriate)

Types of changes

  • [ ] Bug fix (non-breaking change which fixes an issue)
  • [ ] New feature (non-breaking change which adds functionality)
  • [ ] Breaking change (fix or feature that would cause existing functionality to change)
  • [x] Refactoring or add test (improvements in base code or adds test coverage to functionality)

Checklist

  • [ ] Make sure you are requesting to pull a topic/feature/bugfix branch (right side). If pulling from your own fork, don't request your master!
  • [ ] Make sure you are making a pull request against the master branch (left side). Also, you should start your branch off our latest master.
  • [ ] My change requires a change to the documentation.
    • [ ] If you've changed APIs, describe what needs to be updated in the documentation.
    • [ ] If new config option added, ensure that it can be set via ENV variable
  • [ ] I have updated the documentation accordingly.
  • [ ] Modules and vendor dependencies have been updated; run go mod tidy && go mod vendor
  • [ ] When updating library version must provide reason/explanation for this update.
  • [ ] I have added tests to cover my changes.
  • [ ] All new and existing tests passed.
  • [ ] Check your code additions will not fail linting checks:
    • [ ] go fmt -s
    • [ ] go vet

titpetric avatar Jul 29 '22 19:07 titpetric

API tests result: failure :no_entry_sign: Branch used: refs/pull/4211/merge Commit:
Triggered by: pull_request (@titpetric) Execution page

Tyk-ITS avatar Jul 29 '22 19:07 Tyk-ITS

API tests result: failure :no_entry_sign: Branch used: refs/pull/4211/merge Commit: db90010cb4c5f7c6abbd7dcd9dfd0c2456063b3b Triggered by: pull_request (@titpetric) Execution page

Tyk-ITS avatar Jul 29 '22 20:07 Tyk-ITS

API tests result: failure :no_entry_sign: Branch used: refs/pull/4211/merge Commit: 152295d294f30ad029352f53849afcea1cc1e60e Triggered by: pull_request (@titpetric) Execution page

Tyk-ITS avatar Jul 29 '22 20:07 Tyk-ITS

Do you think putting driver implementation into internal packages good idea? Asking because if we really need to support redis 9, it mean we need to support it for all our products: Dash, Pump, Identity broker, Ara and etc. Maybe instead make it public interfaces?

buger avatar Aug 06 '22 05:08 buger

API tests result: failure :no_entry_sign: Branch used: refs/pull/4211/merge Commit: de7ab6bf0814ecbee5a708f2ce1157b209117296 Triggered by: pull_request (@titpetric) Execution page

Tyk-ITS avatar Aug 19 '22 17:08 Tyk-ITS

API tests result: failure :no_entry_sign: Branch used: refs/pull/4211/merge Commit: 00a266d2074fd3faf904f8ff612509e607cd4889 Triggered by: pull_request (@titpetric) Execution page

Tyk-ITS avatar Aug 20 '22 07:08 Tyk-ITS

API tests result: failure :no_entry_sign: Branch used: refs/pull/4211/merge Commit: e2b6125be11672c139557c125e00676e10fc6091 Triggered by: pull_request (@titpetric) Execution page

Tyk-ITS avatar Aug 20 '22 08:08 Tyk-ITS

API tests result: failure :no_entry_sign: Branch used: refs/pull/4211/merge Commit: 3af1fa92c6c03aac872ae8811b52cab5b20944d2 Triggered by: pull_request (@titpetric) Execution page

Tyk-ITS avatar Aug 20 '22 08:08 Tyk-ITS

API tests result: failure :no_entry_sign: Branch used: refs/pull/4211/merge Commit: 71f0f10c8881b647eb0c1310fdfec940cbd9e430 Triggered by: pull_request (@titpetric) Execution page

Tyk-ITS avatar Aug 20 '22 08:08 Tyk-ITS

API tests result: failure :no_entry_sign: Branch used: refs/pull/4211/merge Commit: 82d5c427322ae97f3952b4b0661f38d237d34dd5 Triggered by: pull_request (@titpetric) Execution page

Tyk-ITS avatar Aug 20 '22 09:08 Tyk-ITS

API tests result: failure :no_entry_sign: Branch used: refs/pull/4211/merge Commit: 308087939cf91bdf204207dc058c65a7503b7d93 Triggered by: pull_request (@titpetric) Execution page

Tyk-ITS avatar Aug 20 '22 10:08 Tyk-ITS

API tests result: failure :no_entry_sign: Branch used: refs/pull/4211/merge Commit: bd47593e90111a358009b810b5f0fb4f3209976e Triggered by: pull_request (@titpetric) Execution page

Tyk-ITS avatar Aug 22 '22 09:08 Tyk-ITS

API tests result: failure :no_entry_sign: Branch used: refs/pull/4211/merge Commit: a3bbc7f60d32bcdc12a33bb2cb700e8847d3a188 Triggered by: pull_request (@titpetric) Execution page

Tyk-ITS avatar Aug 22 '22 15:08 Tyk-ITS

API tests result: failure :no_entry_sign: Branch used: refs/pull/4211/merge Commit: aa3dcdcf2a96a3e119106d236e4268601f8277b2 Triggered by: pull_request (@titpetric) Execution page

Tyk-ITS avatar Aug 22 '22 23:08 Tyk-ITS

API tests result: failure :no_entry_sign: Branch used: refs/pull/4211/merge Commit: aa3dcdcf2a96a3e119106d236e4268601f8277b2 Triggered by: pull_request (@titpetric) Execution page

Tyk-ITS avatar Aug 22 '22 23:08 Tyk-ITS

API tests result: failure :no_entry_sign: Branch used: refs/pull/4211/merge Commit: 214c6e9e91543389ae919b55be5832a5ebd572b3 Triggered by: pull_request (@titpetric) Execution page

Tyk-ITS avatar Aug 22 '22 23:08 Tyk-ITS

API tests result: failure :no_entry_sign: Branch used: refs/pull/4211/merge Commit: e1751917352d4ce649bff2eb7de478ac176cf5ec Triggered by: pull_request (@titpetric) Execution page

Tyk-ITS avatar Aug 23 '22 00:08 Tyk-ITS

API tests result: success :white_check_mark: Branch used: refs/pull/4211/merge Commit: 90d4bb1934ead8ddc4a406e9c47a49d697a63688 Triggered by: pull_request (@titpetric) Execution page

Tyk-ITS avatar Aug 24 '22 09:08 Tyk-ITS

API tests result: success :white_check_mark: Branch used: refs/pull/4211/merge Commit: 8c6c353075f25e323c7a83fd826981dfe9b75561 Triggered by: pull_request (@titpetric) Execution page

Tyk-ITS avatar Aug 25 '22 12:08 Tyk-ITS

API tests result: success :white_check_mark: Branch used: refs/pull/4211/merge Commit: 092980abc95ad9e6565fcec8622e8bf8ee5fcc70 Triggered by: pull_request (@titpetric) Execution page

Tyk-ITS avatar Aug 25 '22 12:08 Tyk-ITS

:boom: CI tests failed :see_no_evil:

CI test log

Building go plugin
go test -race -count=1 -failfast -v -timeout 15m -coverprofile=tyk.cov github.com/TykTechnologies/tyk
?   	github.com/TykTechnologies/tyk	[no test files]
go test -race -count=1 -failfast -v -timeout 15m -coverprofile=apidef.cov github.com/TykTechnologies/tyk/apidef
=== RUN   TestSchema
--- PASS: TestSchema (0.02s)
=== RUN   TestEncodeForDB
=== RUN   TestEncodeForDB/update_ScopeClaim_when_Scopes.JWT_is_not_empty_and_OIDC_is_not_enabled
=== RUN   TestEncodeForDB/update_ScopeClaim_when_Scopes.OIDC_is_not_empty_and_OpenID_is_enabled
=== RUN   TestEncodeForDB/EncodeForDB_persist_schema_objects_from_extended_path
--- PASS: TestEncodeForDB (0.00s)
    --- PASS: TestEncodeForDB/update_ScopeClaim_when_Scopes.JWT_is_not_empty_and_OIDC_is_not_enabled (0.00s)
    --- PASS: TestEncodeForDB/update_ScopeClaim_when_Scopes.OIDC_is_not_empty_and_OpenID_is_enabled (0.00s)
    --- PASS: TestEncodeForDB/EncodeForDB_persist_schema_objects_from_extended_path (0.00s)
=== RUN   TestDecodeFromDB
=== RUN   TestDecodeFromDB/update_Scopes.JWT_when_JWTScopeClaimName_is_not_empty
time="Aug 26 07:43:30" level=error msg="Couldn't Decode, leaving as it may be legacy..."
=== RUN   TestDecodeFromDB/update_Scopes.OIDC_when_JWTScopeClaimName_is_not_empty_and_OpenID_is_enabled
time="Aug 26 07:43:30" level=error msg="Couldn't Decode, leaving as it may be legacy..."
--- PASS: TestDecodeFromDB (0.00s)
    --- PASS: TestDecodeFromDB/update_Scopes.JWT_when_JWTScopeClaimName_is_not_empty (0.00s)
    --- PASS: TestDecodeFromDB/update_Scopes.OIDC_when_JWTScopeClaimName_is_not_empty_and_OpenID_is_enabled (0.00s)
=== RUN   TestSchemaGraphqlConfig
--- PASS: TestSchemaGraphqlConfig (0.01s)
=== RUN   TestAPIDefinition_DecodeFromDB_AuthDeprecation
time="Aug 26 07:43:30" level=error msg="Couldn't Decode, leaving as it may be legacy..."
time="Aug 26 07:43:30" level=error msg="Couldn't Decode, leaving as it may be legacy..."
--- PASS: TestAPIDefinition_DecodeFromDB_AuthDeprecation (0.00s)
=== RUN   TestAPIDefinition_GenerateAPIID
--- PASS: TestAPIDefinition_GenerateAPIID (0.00s)
=== RUN   TestAPIDefinition_MigrateVersioning
--- PASS: TestAPIDefinition_MigrateVersioning (0.00s)
=== RUN   TestAPIDefinition_MigrateVersioning_Disabled
=== RUN   TestAPIDefinition_MigrateVersioning_Disabled/multiple_versions
=== RUN   TestAPIDefinition_MigrateVersioning_Disabled/one_version
--- PASS: TestAPIDefinition_MigrateVersioning_Disabled (0.00s)
    --- PASS: TestAPIDefinition_MigrateVersioning_Disabled/multiple_versions (0.00s)
    --- PASS: TestAPIDefinition_MigrateVersioning_Disabled/one_version (0.00s)
=== RUN   TestAPIDefinition_MigrateVersioning_DefaultEmpty
=== RUN   TestAPIDefinition_MigrateVersioning_DefaultEmpty/Default
--- PASS: TestAPIDefinition_MigrateVersioning_DefaultEmpty (0.00s)
    --- PASS: TestAPIDefinition_MigrateVersioning_DefaultEmpty/Default (0.00s)
=== RUN   TestAPIDefinition_MigrateVersioning_Expires
=== RUN   TestAPIDefinition_MigrateVersioning_Expires/version_enabled
=== RUN   TestAPIDefinition_MigrateVersioning_Expires/version_disabled
--- PASS: TestAPIDefinition_MigrateVersioning_Expires (0.00s)
    --- PASS: TestAPIDefinition_MigrateVersioning_Expires/version_enabled (0.00s)
    --- PASS: TestAPIDefinition_MigrateVersioning_Expires/version_disabled (0.00s)
=== RUN   TestAPIDefinition_MigrateVersioning_OverrideTarget
=== RUN   TestAPIDefinition_MigrateVersioning_OverrideTarget/base
=== RUN   TestAPIDefinition_MigrateVersioning_OverrideTarget/version
--- PASS: TestAPIDefinition_MigrateVersioning_OverrideTarget (0.00s)
    --- PASS: TestAPIDefinition_MigrateVersioning_OverrideTarget/base (0.00s)
    --- PASS: TestAPIDefinition_MigrateVersioning_OverrideTarget/version (0.00s)
=== RUN   TestAPIDefinition_MigrateVersioning_StripPath
=== RUN   TestAPIDefinition_MigrateVersioning_StripPath/url
=== RUN   TestAPIDefinition_MigrateVersioning_StripPath/param
=== RUN   TestAPIDefinition_MigrateVersioning_StripPath/header
--- PASS: TestAPIDefinition_MigrateVersioning_StripPath (0.00s)
    --- PASS: TestAPIDefinition_MigrateVersioning_StripPath/url (0.00s)
    --- PASS: TestAPIDefinition_MigrateVersioning_StripPath/param (0.00s)
    --- PASS: TestAPIDefinition_MigrateVersioning_StripPath/header (0.00s)
=== RUN   TestAPIDefinition_MigrateEndpointMeta
--- PASS: TestAPIDefinition_MigrateEndpointMeta (0.00s)
=== RUN   TestAPIDefinition_MigrateCachePlugin
--- PASS: TestAPIDefinition_MigrateCachePlugin (0.00s)
=== RUN   TestAPIDefinition_MigrateAuthConfigNames
--- PASS: TestAPIDefinition_MigrateAuthConfigNames (0.00s)
=== RUN   TestValidationResult_HasErrors
--- PASS: TestValidationResult_HasErrors (0.00s)
=== RUN   TestValidationResult_FirstError
--- PASS: TestValidationResult_FirstError (0.00s)
=== RUN   TestValidationResult_ErrorStrings
--- PASS: TestValidationResult_ErrorStrings (0.00s)
=== RUN   TestRuleUniqueDataSourceNames_Validate
=== RUN   TestRuleUniqueDataSourceNames_Validate/should_return_invalid_when_data_source_name_is_duplicated
=== RUN   TestRuleUniqueDataSourceNames_Validate/return_valid_when_data_source_names_are_not_duplicated
=== RUN   TestRuleUniqueDataSourceNames_Validate/return_valid_when_there_are_no_data_sources
--- PASS: TestRuleUniqueDataSourceNames_Validate (0.00s)
    --- PASS: TestRuleUniqueDataSourceNames_Validate/should_return_invalid_when_data_source_name_is_duplicated (0.00s)
    --- PASS: TestRuleUniqueDataSourceNames_Validate/return_valid_when_data_source_names_are_not_duplicated (0.00s)
    --- PASS: TestRuleUniqueDataSourceNames_Validate/return_valid_when_there_are_no_data_sources (0.00s)
=== RUN   TestRuleAtLeastEnableOneAuthConfig_Validate
=== RUN   TestRuleAtLeastEnableOneAuthConfig_Validate/should_return_invalid_when_all_sources_are_disabled_for_enabled_auth_mechanisms
=== RUN   TestRuleAtLeastEnableOneAuthConfig_Validate/should_return_valid_when_at_least_one_source_is_enabled_for_enabled_auth_mechanisms
--- PASS: TestRuleAtLeastEnableOneAuthConfig_Validate (0.00s)
    --- PASS: TestRuleAtLeastEnableOneAuthConfig_Validate/should_return_invalid_when_all_sources_are_disabled_for_enabled_auth_mechanisms (0.00s)
    --- PASS: TestRuleAtLeastEnableOneAuthConfig_Validate/should_return_valid_when_at_least_one_source_is_enabled_for_enabled_auth_mechanisms (0.00s)
PASS
coverage: 61.7% of statements
ok  	github.com/TykTechnologies/tyk/apidef	0.095s	coverage: 61.7% of statements
go test -race -count=1 -failfast -v -timeout 15m -coverprofile=adapter.cov github.com/TykTechnologies/tyk/apidef/adapter
=== RUN   TestGraphQLConfigAdapter_EngineConfigV2
=== RUN   TestGraphQLConfigAdapter_EngineConfigV2/should_create_v2_config_for_proxy-only_mode
=== RUN   TestGraphQLConfigAdapter_EngineConfigV2/should_create_v2_config_for_internal_proxy-only_api
=== RUN   TestGraphQLConfigAdapter_EngineConfigV2/should_create_v2_config_for_engine_execution_mode_without_error
=== RUN   TestGraphQLConfigAdapter_EngineConfigV2/should_create_v2_config_for_supergraph_execution_mode_without_error
=== RUN   TestGraphQLConfigAdapter_EngineConfigV2/should_create_v2_config_for_supergraph_with_batching_disabled
=== RUN   TestGraphQLConfigAdapter_EngineConfigV2/should_create_v2_config_for_subgraph_without_error
=== RUN   TestGraphQLConfigAdapter_EngineConfigV2/should_return_an_error_for_unsupported_config
--- PASS: TestGraphQLConfigAdapter_EngineConfigV2 (0.05s)
    --- PASS: TestGraphQLConfigAdapter_EngineConfigV2/should_create_v2_config_for_proxy-only_mode (0.01s)
    --- PASS: TestGraphQLConfigAdapter_EngineConfigV2/should_create_v2_config_for_internal_proxy-only_api (0.01s)
    --- PASS: TestGraphQLConfigAdapter_EngineConfigV2/should_create_v2_config_for_engine_execution_mode_without_error (0.01s)
    --- PASS: TestGraphQLConfigAdapter_EngineConfigV2/should_create_v2_config_for_supergraph_execution_mode_without_error (0.01s)
    --- PASS: TestGraphQLConfigAdapter_EngineConfigV2/should_create_v2_config_for_supergraph_with_batching_disabled (0.01s)
    --- PASS: TestGraphQLConfigAdapter_EngineConfigV2/should_create_v2_config_for_subgraph_without_error (0.01s)
    --- PASS: TestGraphQLConfigAdapter_EngineConfigV2/should_return_an_error_for_unsupported_config (0.00s)
=== RUN   TestGraphQLConfigAdapter_supergraphDataSourceConfigs
--- PASS: TestGraphQLConfigAdapter_supergraphDataSourceConfigs (0.00s)
=== RUN   TestGraphQLConfigAdapter_engineConfigV2FieldConfigs
--- PASS: TestGraphQLConfigAdapter_engineConfigV2FieldConfigs (0.01s)
=== RUN   TestGraphQLConfigAdapter_engineConfigV2DataSources
--- PASS: TestGraphQLConfigAdapter_engineConfigV2DataSources (0.02s)
PASS
coverage: 88.9% of statements
ok  	github.com/TykTechnologies/tyk/apidef/adapter	0.126s	coverage: 88.9% of statements
go test -race -count=1 -failfast -v -timeout 15m -coverprofile=importer.cov github.com/TykTechnologies/tyk/apidef/importer
=== RUN   TestToAPIDefinition_Swagger
--- PASS: TestToAPIDefinition_Swagger (0.00s)
=== RUN   TestToAPIDefinition_WSDL
time="Aug 26 07:43:33" level=error msg="Port for service HolidayService2 not found. Skiping processing of the service"
time="Aug 26 07:43:33" level=error msg="Unsupported transport protocol. Skipping process of the service StockQuoteService"
time="Aug 26 07:43:33" level=error msg="Port for service StockQuoteService not found. Skiping processing of the service"
--- PASS: TestToAPIDefinition_WSDL (0.02s)
PASS
coverage: 65.7% of statements
ok  	github.com/TykTechnologies/tyk/apidef/importer	0.064s	coverage: 65.7% of statements
go test -race -count=1 -failfast -v -timeout 15m -coverprofile=oas.cov github.com/TykTechnologies/tyk/apidef/oas
=== RUN   TestAuthentication
=== RUN   TestAuthentication/Fill_just_GoPlugin
--- PASS: TestAuthentication (0.00s)
    --- PASS: TestAuthentication/Fill_just_GoPlugin (0.00s)
=== RUN   TestScopes
--- PASS: TestScopes (0.00s)
=== RUN   TestAuthSources
--- PASS: TestAuthSources (0.00s)
=== RUN   TestAuthSource
=== RUN   TestAuthSource/param
=== RUN   TestAuthSource/cookie
--- PASS: TestAuthSource (0.00s)
    --- PASS: TestAuthSource/param (0.00s)
    --- PASS: TestAuthSource/cookie (0.00s)
=== RUN   TestSignature
--- PASS: TestSignature (0.00s)
=== RUN   TestHMAC
--- PASS: TestHMAC (0.00s)
=== RUN   TestOIDC
--- PASS: TestOIDC (0.00s)
=== RUN   TestGoPlugin
--- PASS: TestGoPlugin (0.00s)
=== RUN   TestCustomPlugin
--- PASS: TestCustomPlugin (0.00s)
=== RUN   TestOAS_BuildDefaultTykExtension
=== PAUSE TestOAS_BuildDefaultTykExtension
=== RUN   TestGetTykExtensionConfigParams
=== RUN   TestGetTykExtensionConfigParams/extract_all_params_when_provided
=== RUN   TestGetTykExtensionConfigParams/nil_when_no_params_provided
=== RUN   TestGetTykExtensionConfigParams/nil_for_middleware_when_params_not_provided
=== RUN   TestGetTykExtensionConfigParams/not_nil_when_at_least_one_parameter_is_provided
--- PASS: TestGetTykExtensionConfigParams (0.00s)
    --- PASS: TestGetTykExtensionConfigParams/extract_all_params_when_provided (0.00s)
    --- PASS: TestGetTykExtensionConfigParams/nil_when_no_params_provided (0.00s)
    --- PASS: TestGetTykExtensionConfigParams/nil_for_middleware_when_params_not_provided (0.00s)
    --- PASS: TestGetTykExtensionConfigParams/not_nil_when_at_least_one_parameter_is_provided (0.00s)
=== RUN   TestOAS_importAuthentication
=== RUN   TestOAS_importAuthentication/security_is_empty
=== RUN   TestOAS_importAuthentication/add_first_authentication_in_case_of_OR_condition
=== RUN   TestOAS_importAuthentication/add_first_authentication_in_case_of_OR_condition/enable=true
=== RUN   TestOAS_importAuthentication/add_first_authentication_in_case_of_OR_condition/enable=false
=== RUN   TestOAS_importAuthentication/update_existing_one
=== RUN   TestOAS_importAuthentication/add_multiple_authentication_with_AND_condition
=== RUN   TestOAS_importAuthentication/add_multiple_authentication_with_AND_condition/enable=true
=== RUN   TestOAS_importAuthentication/add_multiple_authentication_with_AND_condition/enable=false
--- PASS: TestOAS_importAuthentication (0.00s)
    --- PASS: TestOAS_importAuthentication/security_is_empty (0.00s)
    --- PASS: TestOAS_importAuthentication/add_first_authentication_in_case_of_OR_condition (0.00s)
        --- PASS: TestOAS_importAuthentication/add_first_authentication_in_case_of_OR_condition/enable=true (0.00s)
        --- PASS: TestOAS_importAuthentication/add_first_authentication_in_case_of_OR_condition/enable=false (0.00s)
    --- PASS: TestOAS_importAuthentication/update_existing_one (0.00s)
    --- PASS: TestOAS_importAuthentication/add_multiple_authentication_with_AND_condition (0.00s)
        --- PASS: TestOAS_importAuthentication/add_multiple_authentication_with_AND_condition/enable=true (0.00s)
        --- PASS: TestOAS_importAuthentication/add_multiple_authentication_with_AND_condition/enable=false (0.00s)
=== RUN   TestSecuritySchemes_Import
=== RUN   TestSecuritySchemes_Import/token
=== RUN   TestSecuritySchemes_Import/token/enable=true
=== RUN   TestSecuritySchemes_Import/token/enable=false
=== RUN   TestSecuritySchemes_Import/jwt
=== RUN   TestSecuritySchemes_Import/basic
=== RUN   TestSecuritySchemes_Import/oauth
=== RUN   TestSecuritySchemes_Import/unsupported_scheme
=== RUN   TestSecuritySchemes_Import/update_existing_one
--- PASS: TestSecuritySchemes_Import (0.00s)
    --- PASS: TestSecuritySchemes_Import/token (0.00s)
        --- PASS: TestSecuritySchemes_Import/token/enable=true (0.00s)
        --- PASS: TestSecuritySchemes_Import/token/enable=false (0.00s)
    --- PASS: TestSecuritySchemes_Import/jwt (0.00s)
    --- PASS: TestSecuritySchemes_Import/basic (0.00s)
    --- PASS: TestSecuritySchemes_Import/oauth (0.00s)
    --- PASS: TestSecuritySchemes_Import/unsupported_scheme (0.00s)
    --- PASS: TestSecuritySchemes_Import/update_existing_one (0.00s)
=== RUN   TestSecuritySchemes_GetBaseIdentityProvider
=== RUN   TestSecuritySchemes_GetBaseIdentityProvider/empty
=== RUN   TestSecuritySchemes_GetBaseIdentityProvider/empty/zero
=== RUN   TestSecuritySchemes_GetBaseIdentityProvider/empty/one
=== RUN   TestSecuritySchemes_GetBaseIdentityProvider/token
=== RUN   TestSecuritySchemes_GetBaseIdentityProvider/jwt
=== RUN   TestSecuritySchemes_GetBaseIdentityProvider/oauth
--- PASS: TestSecuritySchemes_GetBaseIdentityProvider (0.00s)
    --- PASS: TestSecuritySchemes_GetBaseIdentityProvider/empty (0.00s)
        --- PASS: TestSecuritySchemes_GetBaseIdentityProvider/empty/zero (0.00s)
        --- PASS: TestSecuritySchemes_GetBaseIdentityProvider/empty/one (0.00s)
    --- PASS: TestSecuritySchemes_GetBaseIdentityProvider/token (0.00s)
    --- PASS: TestSecuritySchemes_GetBaseIdentityProvider/jwt (0.00s)
    --- PASS: TestSecuritySchemes_GetBaseIdentityProvider/oauth (0.00s)
=== RUN   TestToken_Import
--- PASS: TestToken_Import (0.00s)
=== RUN   TestAuthSources_Import
=== RUN   TestAuthSources_Import/header
=== RUN   TestAuthSources_Import/query
=== RUN   TestAuthSources_Import/cookie
--- PASS: TestAuthSources_Import (0.00s)
    --- PASS: TestAuthSources_Import/header (0.00s)
    --- PASS: TestAuthSources_Import/query (0.00s)
    --- PASS: TestAuthSources_Import/cookie (0.00s)
=== RUN   TestJWT_Import
--- PASS: TestJWT_Import (0.00s)
=== RUN   TestBasic_Import
--- PASS: TestBasic_Import (0.00s)
=== RUN   TestOAuth_Import
--- PASS: TestOAuth_Import (0.00s)
=== RUN   TestRetainOldServerURL
=== RUN   TestRetainOldServerURL/empty_old_servers
=== RUN   TestRetainOldServerURL/existing_old_servers
=== RUN   TestRetainOldServerURL/duplicate_in_servers
=== RUN   TestRetainOldServerURL/empty_new_servers
=== RUN   TestRetainOldServerURL/empty_old_servers#01
--- PASS: TestRetainOldServerURL (0.00s)
    --- PASS: TestRetainOldServerURL/empty_old_servers (0.00s)
    --- PASS: TestRetainOldServerURL/existing_old_servers (0.00s)
    --- PASS: TestRetainOldServerURL/duplicate_in_servers (0.00s)
    --- PASS: TestRetainOldServerURL/empty_new_servers (0.00s)
    --- PASS: TestRetainOldServerURL/empty_old_servers#01 (0.00s)
=== RUN   TestMiddleware
--- PASS: TestMiddleware (0.00s)
=== RUN   TestGlobal
--- PASS: TestGlobal (0.00s)
=== RUN   TestCORS
--- PASS: TestCORS (0.00s)
=== RUN   TestCache
--- PASS: TestCache (0.00s)
=== RUN   TestExtendedPaths
=== RUN   TestExtendedPaths/empty
=== RUN   TestExtendedPaths/filled
--- PASS: TestExtendedPaths (0.01s)
    --- PASS: TestExtendedPaths/empty (0.00s)
    --- PASS: TestExtendedPaths/filled (0.01s)
=== RUN   TestMockResponse
--- PASS: TestMockResponse (0.00s)
=== RUN   TestTransformRequestBody
=== RUN   TestTransformRequestBody/empty
=== RUN   TestTransformRequestBody/blob
=== RUN   TestTransformRequestBody/blob#01
=== RUN   TestTransformRequestBody/blob_should_have_precedence
--- PASS: TestTransformRequestBody (0.00s)
    --- PASS: TestTransformRequestBody/empty (0.00s)
    --- PASS: TestTransformRequestBody/blob (0.00s)
    --- PASS: TestTransformRequestBody/blob#01 (0.00s)
    --- PASS: TestTransformRequestBody/blob_should_have_precedence (0.00s)
=== RUN   TestOAS
=== PAUSE TestOAS
=== RUN   TestOAS_AddServers
=== PAUSE TestOAS_AddServers
=== RUN   TestOAS_UpdateServers
=== PAUSE TestOAS_UpdateServers
=== RUN   TestOAS_GetSecuritySchemes
--- PASS: TestOAS_GetSecuritySchemes (0.01s)
=== RUN   Test_toStructIfMap
--- PASS: Test_toStructIfMap (0.00s)
=== RUN   TestOAS_MarshalJSON
=== RUN   TestOAS_MarshalJSON/nil_license_and_extenalDocs
=== RUN   TestOAS_MarshalJSON/should_not_base64_encode_extension_values_when_it's_slice_of_bytes
=== RUN   TestOAS_MarshalJSON/should_not_base64_encode_extension_values_when_it's_slice_of_bytes/int
=== RUN   TestOAS_MarshalJSON/should_not_base64_encode_extension_values_when_it's_slice_of_bytes/float
=== RUN   TestOAS_MarshalJSON/should_not_base64_encode_extension_values_when_it's_slice_of_bytes/bool
=== RUN   TestOAS_MarshalJSON/should_not_base64_encode_extension_values_when_it's_slice_of_bytes/nil
=== RUN   TestOAS_MarshalJSON/should_not_base64_encode_extension_values_when_it's_slice_of_bytes/string
=== RUN   TestOAS_MarshalJSON/should_not_base64_encode_extension_values_when_it's_slice_of_bytes/map
=== RUN   TestOAS_MarshalJSON/should_not_base64_encode_extension_values_when_it's_slice_of_bytes/array
--- PASS: TestOAS_MarshalJSON (0.01s)
    --- PASS: TestOAS_MarshalJSON/nil_license_and_extenalDocs (0.00s)
    --- PASS: TestOAS_MarshalJSON/should_not_base64_encode_extension_values_when_it's_slice_of_bytes (0.01s)
        --- PASS: TestOAS_MarshalJSON/should_not_base64_encode_extension_values_when_it's_slice_of_bytes/int (0.00s)
        --- PASS: TestOAS_MarshalJSON/should_not_base64_encode_extension_values_when_it's_slice_of_bytes/float (0.00s)
        --- PASS: TestOAS_MarshalJSON/should_not_base64_encode_extension_values_when_it's_slice_of_bytes/bool (0.00s)
        --- PASS: TestOAS_MarshalJSON/should_not_base64_encode_extension_values_when_it's_slice_of_bytes/nil (0.00s)
        --- PASS: TestOAS_MarshalJSON/should_not_base64_encode_extension_values_when_it's_slice_of_bytes/string (0.00s)
        --- PASS: TestOAS_MarshalJSON/should_not_base64_encode_extension_values_when_it's_slice_of_bytes/map (0.00s)
        --- PASS: TestOAS_MarshalJSON/should_not_base64_encode_extension_values_when_it's_slice_of_bytes/array (0.00s)
=== RUN   TestShouldOmit
--- PASS: TestShouldOmit (0.00s)
=== RUN   TestOAS_PathsAndOperations
=== PAUSE TestOAS_PathsAndOperations
=== RUN   TestOAS_PathsAndOperationsRegex
=== PAUSE TestOAS_PathsAndOperationsRegex
=== RUN   TestOAS_RegexOperationIDs
=== PAUSE TestOAS_RegexOperationIDs
=== RUN   TestOAS_RegexPaths
=== PAUSE TestOAS_RegexPaths
=== RUN   TestValidateRequest
--- PASS: TestValidateRequest (0.00s)
=== RUN   TestXTykAPIGateway
=== RUN   TestXTykAPIGateway/empty
=== RUN   TestXTykAPIGateway/filled_OAS
=== RUN   TestXTykAPIGateway/filled_old
--- PASS: TestXTykAPIGateway (0.00s)
    --- PASS: TestXTykAPIGateway/empty (0.00s)
    --- SKIP: TestXTykAPIGateway/filled_OAS (0.00s)
    --- SKIP: TestXTykAPIGateway/filled_old (0.00s)
=== RUN   TestInfo
--- PASS: TestInfo (0.00s)
=== RUN   TestState
--- PASS: TestState (0.00s)
=== RUN   TestVersioning
--- PASS: TestVersioning (0.00s)
=== RUN   TestOAS_Security
--- PASS: TestOAS_Security (0.00s)
=== RUN   TestOAS_ApiKeyScheme
=== RUN   TestOAS_ApiKeyScheme/should_not_set_header_name_in_tyk_extension
=== RUN   TestOAS_ApiKeyScheme/should_not_set_query_name_in_tyk_extension
=== RUN   TestOAS_ApiKeyScheme/should_not_set_cookie_name_in_tyk_extension
=== RUN   TestOAS_ApiKeyScheme/already_filled_scheme_in=header_value_should_be_respected
=== RUN   TestOAS_ApiKeyScheme/already_filled_scheme_in=query_value_should_be_respected
=== RUN   TestOAS_ApiKeyScheme/already_filled_scheme_in=cookie_value_should_be_respected
--- PASS: TestOAS_ApiKeyScheme (0.00s)
    --- PASS: TestOAS_ApiKeyScheme/should_not_set_header_name_in_tyk_extension (0.00s)
    --- PASS: TestOAS_ApiKeyScheme/should_not_set_query_name_in_tyk_extension (0.00s)
    --- PASS: TestOAS_ApiKeyScheme/should_not_set_cookie_name_in_tyk_extension (0.00s)
    --- PASS: TestOAS_ApiKeyScheme/already_filled_scheme_in=header_value_should_be_respected (0.00s)
    --- PASS: TestOAS_ApiKeyScheme/already_filled_scheme_in=query_value_should_be_respected (0.00s)
    --- PASS: TestOAS_ApiKeyScheme/already_filled_scheme_in=cookie_value_should_be_respected (0.00s)
=== RUN   TestOAS_Token
--- PASS: TestOAS_Token (0.00s)
=== RUN   TestOAS_Token_MultipleSecuritySchemes
--- PASS: TestOAS_Token_MultipleSecuritySchemes (0.00s)
=== RUN   TestOAS_AppendSecurity
=== RUN   TestOAS_AppendSecurity/append_new
=== RUN   TestOAS_AppendSecurity/append_same
--- PASS: TestOAS_AppendSecurity (0.00s)
    --- PASS: TestOAS_AppendSecurity/append_new (0.00s)
    --- PASS: TestOAS_AppendSecurity/append_same (0.00s)
=== RUN   TestOAS_JWT
--- PASS: TestOAS_JWT (0.00s)
=== RUN   TestOAS_Basic
--- PASS: TestOAS_Basic (0.00s)
=== RUN   TestOAS_OAuth
--- PASS: TestOAS_OAuth (0.00s)
=== RUN   TestOAS_OIDC
--- PASS: TestOAS_OIDC (0.00s)
=== RUN   TestOAS_CustomPlugin
--- PASS: TestOAS_CustomPlugin (0.00s)
=== RUN   TestOAS_GoPlugin
--- PASS: TestOAS_GoPlugin (0.00s)
=== RUN   TestOAS_TykAuthentication_NoOASSecurity
--- PASS: TestOAS_TykAuthentication_NoOASSecurity (0.00s)
=== RUN   TestServer
=== PAUSE TestServer
=== RUN   TestListenPath
=== PAUSE TestListenPath
=== RUN   TestGatewayTags
=== PAUSE TestGatewayTags
=== RUN   TestClientCertificates
=== PAUSE TestClientCertificates
=== RUN   TestCustomDomain
=== RUN   TestCustomDomain/extractTo_api_definition
=== RUN   TestCustomDomain/extractTo_api_definition/enabled=false,_name=nil
=== RUN   TestCustomDomain/extractTo_api_definition/enabled=false,_name=(valid-domain)
=== RUN   TestCustomDomain/extractTo_api_definition/enabled=true,_name=nil
=== RUN   TestCustomDomain/extractTo_api_definition/enabled=true,_name=(valid-domain)
=== RUN   TestCustomDomain/fillFrom_api_definition
=== RUN   TestCustomDomain/fillFrom_api_definition/disabled=false,_name=nil
=== RUN   TestCustomDomain/fillFrom_api_definition/disabled=false,_name=(valid-domain)
=== RUN   TestCustomDomain/fillFrom_api_definition/disabled=true,_name=nil
=== RUN   TestCustomDomain/fillFrom_api_definition/disabled=true,_name=(valid-domain)
--- PASS: TestCustomDomain (0.00s)
    --- PASS: TestCustomDomain/extractTo_api_definition (0.00s)
        --- PASS: TestCustomDomain/extractTo_api_definition/enabled=false,_name=nil (0.00s)
        --- PASS: TestCustomDomain/extractTo_api_definition/enabled=false,_name=(valid-domain) (0.00s)
        --- PASS: TestCustomDomain/extractTo_api_definition/enabled=true,_name=nil (0.00s)
        --- PASS: TestCustomDomain/extractTo_api_definition/enabled=true,_name=(valid-domain) (0.00s)
    --- PASS: TestCustomDomain/fillFrom_api_definition (0.00s)
        --- PASS: TestCustomDomain/fillFrom_api_definition/disabled=false,_name=nil (0.00s)
        --- PASS: TestCustomDomain/fillFrom_api_definition/disabled=false,_name=(valid-domain) (0.00s)
        --- PASS: TestCustomDomain/fillFrom_api_definition/disabled=true,_name=nil (0.00s)
        --- PASS: TestCustomDomain/fillFrom_api_definition/disabled=true,_name=(valid-domain) (0.00s)
=== RUN   TestTagsExportServer
=== PAUSE TestTagsExportServer
=== RUN   TestUpstream
--- PASS: TestUpstream (0.00s)
=== RUN   TestServiceDiscovery
--- PASS: TestServiceDiscovery (0.00s)
=== RUN   TestTest
--- PASS: TestTest (0.00s)
=== RUN   TestUpstreamMutualTLS
=== PAUSE TestUpstreamMutualTLS
=== RUN   TestPinnedPublicKeys
=== PAUSE TestPinnedPublicKeys
=== RUN   TestCertificatePinning
=== RUN   TestCertificatePinning/extractTo_api_definition
=== RUN   TestCertificatePinning/extractTo_api_definition/enabled=false,_domain_to_public_keys_nil
=== RUN   TestCertificatePinning/extractTo_api_definition/enabled=false,_valid_domain_to_public_keys_mapping
=== RUN   TestCertificatePinning/extractTo_api_definition/enabled=true,_valid_domain_to_public_keys_mapping
=== RUN   TestCertificatePinning/extractTo_api_definition/enabled=true,_empty_domain_to_public_keys_mapping
=== RUN   TestCertificatePinning/fillFrom_api_definition
=== RUN   TestCertificatePinning/fillFrom_api_definition/disabled=false,_empty_domain_to_cert_mapping
=== RUN   TestCertificatePinning/fillFrom_api_definition/disabled=true,_empty_domain_to_cert_mapping
=== RUN   TestCertificatePinning/fillFrom_api_definition/disabled=false,_valid_domain_to_cert_mapping
=== RUN   TestCertificatePinning/fillFrom_api_definition/disabled=true,_valid_domain_to_cert_mapping
=== RUN   TestCertificatePinning/empty
=== PAUSE TestCertificatePinning/empty
=== CONT  TestCertificatePinning/empty
--- PASS: TestCertificatePinning (0.00s)
    --- PASS: TestCertificatePinning/extractTo_api_definition (0.00s)
        --- PASS: TestCertificatePinning/extractTo_api_definition/enabled=false,_domain_to_public_keys_nil (0.00s)
        --- PASS: TestCertificatePinning/extractTo_api_definition/enabled=false,_valid_domain_to_public_keys_mapping (0.00s)
        --- PASS: TestCertificatePinning/extractTo_api_definition/enabled=true,_valid_domain_to_public_keys_mapping (0.00s)
        --- PASS: TestCertificatePinning/extractTo_api_definition/enabled=true,_empty_domain_to_public_keys_mapping (0.00s)
    --- PASS: TestCertificatePinning/fillFrom_api_definition (0.00s)
        --- PASS: TestCertificatePinning/fillFrom_api_definition/disabled=false,_empty_domain_to_cert_mapping (0.00s)
        --- PASS: TestCertificatePinning/fillFrom_api_definition/disabled=true,_empty_domain_to_cert_mapping (0.00s)
        --- PASS: TestCertificatePinning/fillFrom_api_definition/disabled=false,_valid_domain_to_cert_mapping (0.00s)
        --- PASS: TestCertificatePinning/fillFrom_api_definition/disabled=true,_valid_domain_to_cert_mapping (0.00s)
    --- PASS: TestCertificatePinning/empty (0.00s)
=== RUN   TestValidateOASObject
=== PAUSE TestValidateOASObject
=== RUN   Test_loadOASSchema
=== PAUSE Test_loadOASSchema
=== RUN   Test_findDefaultVersion
=== PAUSE Test_findDefaultVersion
=== RUN   Test_setDefaultVersion
--- PASS: Test_setDefaultVersion (0.19s)
=== RUN   TestGetOASSchema
=== RUN   TestGetOASSchema/return_default_version_when_req_version_is_empty
=== RUN   TestGetOASSchema/return_minor_version_schema_when_req_version_is_including_patch_version
=== RUN   TestGetOASSchema/return_minor_version_0_when_only_major_version_is_requested
=== RUN   TestGetOASSchema/return_error_when_non_existing_oas_schema_is_requested
=== RUN   TestGetOASSchema/return_error_when_requested_version_is_not_of_semver
--- PASS: TestGetOASSchema (0.20s)
    --- PASS: TestGetOASSchema/return_default_version_when_req_version_is_empty (0.00s)
    --- PASS: TestGetOASSchema/return_minor_version_schema_when_req_version_is_including_patch_version (0.00s)
    --- PASS: TestGetOASSchema/return_minor_version_0_when_only_major_version_is_requested (0.00s)
    --- PASS: TestGetOASSchema/return_error_when_non_existing_oas_schema_is_requested (0.00s)
    --- PASS: TestGetOASSchema/return_error_when_requested_version_is_not_of_semver (0.00s)
=== RUN   TestExtractDocFromXTyk
    xtyk_doc_test.go:28: field Info.Expiration is missing documentation
        field Info.State is missing documentation
        field Info.Versioning is missing documentation
        field Versioning.Enabled is missing documentation
        field Versioning.Name is missing documentation
        field Versioning.Default is missing documentation
        field Versioning.Location is missing documentation
        field Versioning.Key is missing documentation
        field Versioning.Versions is missing documentation
        field VersionToID.Name is missing documentation
        field VersionToID.ID is missing documentation
        field Versioning.StripVersioningData is missing documentation
        field DomainToCertificate.Domain is missing documentation
        field DomainToCertificate.Certificate is missing documentation
        field PinnedPublicKey.Domain is missing documentation
        field PinnedPublicKey.PublicKeys is missing documentation
        field OIDC.SegregateByClientId is missing documentation
        field OIDC.Providers is missing documentation
        field Provider.Issuer is missing documentation
        field Provider.ClientToPolicyMapping is missing documentation
        field ClientToPolicy.ClientID is missing documentation
        field ClientToPolicy.PolicyID is missing documentation
        field OIDC.Scopes is missing documentation
        field Scopes.ClaimName is missing documentation
        field Scopes.ScopeToPolicyMapping is missing documentation
        field ScopeToPolicy.Scope is missing documentation
        field ScopeToPolicy.PolicyID is missing documentation
        field Authentication.SecuritySchemes is missing documentation
        field Global.CORS is missing documentation
        field CORS.Enabled is missing documentation
        field CORS.MaxAge is missing documentation
        field CORS.AllowCredentials is missing documentation
        field CORS.ExposedHeaders is missing documentation
        field CORS.AllowedHeaders is missing documentation
        field CORS.OptionsPassthrough is missing documentation
        field CORS.Debug is missing documentation
        field CORS.AllowedOrigins is missing documentation
        field CORS.AllowedMethods is missing documentation
        field Middleware.Operations is missing documentation
        field Operation.Allow is missing documentation
        field Allowance.Enabled is missing documentation
        field Allowance.IgnoreCase is missing documentation
        field Operation.Block is missing documentation
        field Operation.IgnoreAuthentication is missing documentation
        field Operation.Cache is missing documentation
        field CachePlugin.Enabled is missing documentation
        field CachePlugin.CacheByRegex is missing documentation
        field CachePlugin.CacheResponseCodes is missing documentation
        field Operation.EnforceTimeout is missing documentation
        field EnforceTimeout.Enabled is missing documentation
        field EnforceTimeout.Value is missing documentation
        field Operation.ValidateRequest is missing documentation
        field ValidateRequest.Enabled is missing documentation
        field ValidateRequest.ErrorResponseCode is missing documentation
--- PASS: TestExtractDocFromXTyk (0.06s)
=== RUN   TestExtractDocUtils
=== RUN   TestExtractDocUtils/objParser
=== RUN   TestExtractDocUtils/objParser/empty_scope
=== RUN   TestExtractDocUtils/objParser/field_for_internal_use
=== RUN   TestExtractDocUtils/objParser/ignored_field
=== RUN   TestExtractDocUtils/objParser/parse_inline_field_with_name
=== RUN   TestExtractDocUtils/objParser/field_not_known
=== RUN   TestExtractDocUtils/jsonTagFromBasicLit
=== RUN   TestExtractDocUtils/fieldTypeToMarkdown
=== RUN   TestExtractDocUtils/fieldInfoToMarkdown
=== RUN   TestExtractDocUtils/xTykDocToMarkdown
--- PASS: TestExtractDocUtils (0.00s)
    --- PASS: TestExtractDocUtils/objParser (0.00s)
        --- PASS: TestExtractDocUtils/objParser/empty_scope (0.00s)
        --- PASS: TestExtractDocUtils/objParser/field_for_internal_use (0.00s)
        --- PASS: TestExtractDocUtils/objParser/ignored_field (0.00s)
        --- PASS: TestExtractDocUtils/objParser/parse_inline_field_with_name (0.00s)
        --- PASS: TestExtractDocUtils/objParser/field_not_known (0.00s)
    --- PASS: TestExtractDocUtils/jsonTagFromBasicLit (0.00s)
    --- PASS: TestExtractDocUtils/fieldTypeToMarkdown (0.00s)
    --- PASS: TestExtractDocUtils/fieldInfoToMarkdown (0.00s)
    --- PASS: TestExtractDocUtils/xTykDocToMarkdown (0.00s)
=== CONT  TestOAS_AddServers
=== CONT  TestGatewayTags
=== RUN   TestGatewayTags/Fill_GatewayTags_from_APIDef
=== RUN   TestOAS_AddServers/empty_servers
=== CONT  TestGatewayTags/Fill_GatewayTags_from_APIDef
    server_test.go:76: 
=== RUN   TestGatewayTags/Fill_OAS_GatewayTags_from_APIDef
=== RUN   TestOAS_AddServers/non-empty_servers
=== PAUSE TestGatewayTags/Fill_OAS_GatewayTags_from_APIDef
=== RUN   TestOAS_AddServers/non-empty_servers_having_same_URL_that_of_apiURL
=== CONT  TestListenPath
--- PASS: TestListenPath (0.00s)
=== CONT  TestServer
--- PASS: TestServer (0.00s)
=== RUN   TestOAS_AddServers/non-empty_servers_having_same_URL_that_of_apiURL#01
=== CONT  TestOAS_RegexOperationIDs
--- PASS: TestOAS_AddServers (0.00s)
    --- PASS: TestOAS_AddServers/empty_servers (0.00s)
    --- PASS: TestOAS_AddServers/non-empty_servers (0.00s)
    --- PASS: TestOAS_AddServers/non-empty_servers_having_same_URL_that_of_apiURL (0.00s)
    --- PASS: TestOAS_AddServers/non-empty_servers_having_same_URL_that_of_apiURL#01 (0.00s)
=== CONT  TestOAS_RegexPaths
--- PASS: TestOAS_RegexOperationIDs (0.00s)
=== CONT  TestOAS_PathsAndOperationsRegex
--- PASS: TestOAS_RegexPaths (0.00s)
=== CONT  TestOAS_UpdateServers
=== RUN   TestOAS_UpdateServers/empty_servers
=== RUN   TestOAS_UpdateServers/non-empty_servers_replace_with_new
=== RUN   TestOAS_UpdateServers/non-empty_servers_not_replace
--- PASS: TestOAS_PathsAndOperationsRegex (0.00s)
--- PASS: TestOAS_UpdateServers (0.00s)
    --- PASS: TestOAS_UpdateServers/empty_servers (0.00s)
    --- PASS: TestOAS_UpdateServers/non-empty_servers_replace_with_new (0.00s)
    --- PASS: TestOAS_UpdateServers/non-empty_servers_not_replace (0.00s)
=== CONT  TestOAS
=== RUN   TestOAS/empty_paths
=== PAUSE TestOAS/empty_paths
=== CONT  TestOAS_PathsAndOperations
=== RUN   TestOAS/nil_paths
=== PAUSE TestOAS/nil_paths
=== RUN   TestOAS/extract_paths
=== PAUSE TestOAS/extract_paths
--- PASS: TestOAS_PathsAndOperations (0.00s)
=== CONT  TestOAS_BuildDefaultTykExtension
=== RUN   TestOAS_BuildDefaultTykExtension/build_tyk_extension_with_no_supplied_params
=== RUN   TestOAS/auth_configs
=== RUN   TestOAS_BuildDefaultTykExtension/build_tyk_extension_with_supplied_params
=== PAUSE TestOAS/auth_configs
=== CONT  TestValidateOASObject
=== RUN   TestOAS_BuildDefaultTykExtension/do_not_override_existing_tyk_extension_by_default
=== RUN   TestOAS_BuildDefaultTykExtension/override_existing_tyk_extension_with_supplied_params
=== RUN   TestOAS_BuildDefaultTykExtension/error_when_supplied_invalid_upstreamURL_param
=== RUN   TestOAS_BuildDefaultTykExtension/error_when_no_supplied_params_and_invalid_URL_in_servers
=== RUN   TestOAS_BuildDefaultTykExtension/error_when_no_supplied_params_and_no_servers
=== RUN   TestOAS_BuildDefaultTykExtension/middlewares
=== RUN   TestOAS_BuildDefaultTykExtension/middlewares/allowList
=== RUN   TestOAS_BuildDefaultTykExtension/middlewares/allowList/enable_allowList_for_all_paths_when_no_configured_operationID_in_OAS
=== RUN   TestValidateOASObject/valid_OAS_object
=== PAUSE TestValidateOASObject/valid_OAS_object
=== RUN   TestOAS_BuildDefaultTykExtension/middlewares/allowList/enable_allowList_for_all_paths_when_operationID_is_configured_in_OAS
=== RUN   TestValidateOASObject/invalid_OAS_object
=== PAUSE TestValidateOASObject/invalid_OAS_object
=== RUN   TestValidateOASObject/wrong_typed_OAS_object
=== RUN   TestOAS_BuildDefaultTykExtension/middlewares/allowList/disable_allowList_for_all_paths_when_no_configured_operationID_in_OAS
=== PAUSE TestValidateOASObject/wrong_typed_OAS_object
=== RUN   TestValidateOASObject/should_error_when_requested_oas_schema_not_found
=== RUN   TestOAS_BuildDefaultTykExtension/middlewares/allowList/disable_allowList_for_all_paths_when_operationID_is_configured_in_OAS
=== PAUSE TestValidateOASObject/should_error_when_requested_oas_schema_not_found
=== CONT  Test_loadOASSchema
=== RUN   Test_loadOASSchema/load_OAS
=== RUN   TestOAS_BuildDefaultTykExtension/middlewares/allowList/override_allowList_(disable)_configured_in_tyk_extension_-_do_not_toggle_block_list_if_any
=== PAUSE Test_loadOASSchema/load_OAS
=== CONT  Test_findDefaultVersion
=== RUN   Test_findDefaultVersion/single_version
=== RUN   TestOAS_BuildDefaultTykExtension/middlewares/allowList/override_allowList_(enable)_configured_in_tyk_extension_-_toggle_enabled_block_list_if_any
=== RUN   TestOAS_BuildDefaultTykExtension/middlewares/allowList/do_not_configure_allowList_when_parameter_is_not_provided_(nil)
=== RUN   Test_findDefaultVersion/multiple_versions
=== RUN   TestOAS_BuildDefaultTykExtension/middlewares/validateRequest
=== RUN   TestOAS_BuildDefaultTykExtension/middlewares/validateRequest/do_not_configure_validateRequest_for_paths_where_request_body_is_not_specified_for_application/json
--- PASS: Test_findDefaultVersion (0.00s)
    --- PASS: Test_findDefaultVersion/single_version (0.00s)
    --- PASS: Test_findDefaultVersion/multiple_versions (0.00s)
=== RUN   TestOAS_BuildDefaultTykExtension/middlewares/validateRequest/enable_validateRequest_for_all_paths_with_application/json_req_body_when_no_configured_operationID_in_OAS
=== CONT  TestPinnedPublicKeys
--- PASS: TestPinnedPublicKeys (0.00s)
=== CONT  TestUpstreamMutualTLS
=== RUN   TestUpstreamMutualTLS/extractTo_api_definition
=== RUN   TestOAS_BuildDefaultTykExtension/middlewares/validateRequest/enable_validateRequest_for_all_paths_with_application/json_req_body_when_operationID_is_configured_in_OAS
=== PAUSE TestUpstreamMutualTLS/extractTo_api_definition
=== RUN   TestUpstreamMutualTLS/fillFrom_api_definition
=== RUN   TestOAS_BuildDefaultTykExtension/middlewares/validateRequest/disable_validateRequest_for_all_paths_with_application/json_req_body_when_no_configured_operationID_in_OAS
=== RUN   TestOAS_BuildDefaultTykExtension/middlewares/validateRequest/disable_validateRequest_for_all_paths_with_application/json_req_body_when_operationID_is_configured_in_OAS
=== PAUSE TestUpstreamMutualTLS/fillFrom_api_definition
=== CONT  TestClientCertificates
--- PASS: TestClientCertificates (0.00s)
=== CONT  TestTagsExportServer
=== RUN   TestTagsExportServer/export_segment_tags_if_enabled
=== PAUSE TestTagsExportServer/export_segment_tags_if_enabled
=== RUN   TestOAS_BuildDefaultTykExtension/middlewares/validateRequest/override_validateRequest_configured_in_tyk_extension
=== RUN   TestTagsExportServer/export_segment_tags_if_disabled
=== PAUSE TestTagsExportServer/export_segment_tags_if_disabled
=== RUN   TestOAS_BuildDefaultTykExtension/middlewares/validateRequest/do_not_configure_validateRequest_when_parameter_is_not_provided_(nil)
=== RUN   TestTagsExportServer/empty_segment_tags
=== PAUSE TestTagsExportServer/empty_segment_tags
=== CONT  TestGatewayTags/Fill_OAS_GatewayTags_from_APIDef
=== RUN   TestOAS_BuildDefaultTykExtension/middlewares/validateRequest/do_not_configure_validateRequest_when_no_paths_have_application/json_req_body
=== RUN   TestOAS_BuildDefaultTykExtension/do_not_configure_upstream_URL_with_servers_when_upstream_URL_params_is_not_provided_and_upstream_URL_in_x-tyk_in_not_empty
=== RUN   TestOAS_BuildDefaultTykExtension/do_not_configure_state_active,_internal_or_strip_listen_path_when_not_importing
--- PASS: TestOAS_BuildDefaultTykExtension (0.02s)
    --- PASS: TestOAS_BuildDefaultTykExtension/build_tyk_extension_with_no_supplied_params (0.00s)
    --- PASS: TestOAS_BuildDefaultTykExtension/build_tyk_extension_with_supplied_params (0.00s)
    --- PASS: TestOAS_BuildDefaultTykExtension/do_not_override_existing_tyk_extension_by_default (0.00s)
    --- PASS: TestOAS_BuildDefaultTykExtension/override_existing_tyk_extension_with_supplied_params (0.00s)
    --- PASS: TestOAS_BuildDefaultTykExtension/error_when_supplied_invalid_upstreamURL_param (0.00s)
    --- PASS: TestOAS_BuildDefaultTykExtension/error_when_no_supplied_params_and_invalid_URL_in_servers (0.00s)
    --- PASS: TestOAS_BuildDefaultTykExtension/error_when_no_supplied_params_and_no_servers (0.00s)
    --- PASS: TestOAS_BuildDefaultTykExtension/middlewares (0.01s)
        --- PASS: TestOAS_BuildDefaultTykExtension/middlewares/allowList (0.01s)
            --- PASS: TestOAS_BuildDefaultTykExtension/middlewares/allowList/enable_allowList_for_all_paths_when_no_configured_operationID_in_OAS (0.00s)
            --- PASS: TestOAS_BuildDefaultTykExtension/middlewares/allowList/enable_allowList_for_all_paths_when_operationID_is_configured_in_OAS (0.00s)
            --- PASS: TestOAS_BuildDefaultTykExtension/middlewares/allowList/disable_allowList_for_all_paths_when_no_configured_operationID_in_OAS (0.00s)
            --- PASS: TestOAS_BuildDefaultTykExtension/middlewares/allowList/disable_allowList_for_all_paths_when_operationID_is_configured_in_OAS (0.00s)
            --- PASS: TestOAS_BuildDefaultTykExtension/middlewares/allowList/override_allowList_(disable)_configured_in_tyk_extension_-_do_not_toggle_block_list_if_any (0.00s)
            --- PASS: TestOAS_BuildDefaultTykExtension/middlewares/allowList/override_allowList_(enable)_configured_in_tyk_extension_-_toggle_enabled_block_list_if_any (0.00s)
            --- PASS: TestOAS_BuildDefaultTykExtension/middlewares/allowList/do_not_configure_allowList_when_parameter_is_not_provided_(nil) (0.00s)
        --- PASS: TestOAS_BuildDefaultTykExtension/middlewares/validateRequest (0.01s)
            --- PASS: TestOAS_BuildDefaultTykExtension/middlewares/validateRequest/do_not_configure_validateRequest_for_paths_where_request_body_is_not_specified_for_application/json (0.00s)
            --- PASS: TestOAS_BuildDefaultTykExtension/middlewares/validateRequest/enable_validateRequest_for_all_paths_with_application/json_req_body_when_no_configured_operationID_in_OAS (0.00s)
            --- PASS: TestOAS_BuildDefaultTykExtension/middlewares/validateRequest/enable_validateRequest_for_all_paths_with_application/json_req_body_when_operationID_is_configured_in_OAS (0.00s)
            --- PASS: TestOAS_BuildDefaultTykExtension/middlewares/validateRequest/disable_validateRequest_for_all_paths_with_application/json_req_body_when_no_configured_operationID_in_OAS (0.00s)
            --- PASS: TestOAS_BuildDefaultTykExtension/middlewares/validateRequest/disable_validateRequest_for_all_paths_with_application/json_req_body_when_operationID_is_configured_in_OAS (0.00s)
            --- PASS: TestOAS_BuildDefaultTykExtension/middlewares/validateRequest/override_validateRequest_configured_in_tyk_extension (0.00s)
            --- PASS: TestOAS_BuildDefaultTykExtension/middlewares/validateRequest/do_not_configure_validateRequest_when_parameter_is_not_provided_(nil) (0.00s)
            --- PASS: TestOAS_BuildDefaultTykExtension/middlewares/validateRequest/do_not_configure_validateRequest_when_no_paths_have_application/json_req_body (0.00s)
    --- PASS: TestOAS_BuildDefaultTykExtension/do_not_configure_upstream_URL_with_servers_when_upstream_URL_params_is_not_provided_and_upstream_URL_in_x-tyk_in_not_empty (0.00s)
    --- PASS: TestOAS_BuildDefaultTykExtension/do_not_configure_state_active,_internal_or_strip_listen_path_when_not_importing (0.00s)
=== CONT  TestOAS/extract_paths
=== CONT  TestOAS/auth_configs
--- PASS: TestGatewayTags (0.00s)
    --- SKIP: TestGatewayTags/Fill_GatewayTags_from_APIDef (0.00s)
    --- PASS: TestGatewayTags/Fill_OAS_GatewayTags_from_APIDef (0.00s)
=== CONT  TestOAS/nil_paths
=== CONT  TestOAS/empty_paths
=== CONT  TestValidateOASObject/valid_OAS_object
=== CONT  TestValidateOASObject/should_error_when_requested_oas_schema_not_found
=== CONT  TestValidateOASObject/wrong_typed_OAS_object
--- PASS: TestOAS (0.00s)
    --- PASS: TestOAS/auth_configs (0.00s)
    --- PASS: TestOAS/nil_paths (0.00s)
    --- PASS: TestOAS/empty_paths (0.00s)
    --- PASS: TestOAS/extract_paths (0.01s)
=== CONT  TestValidateOASObject/invalid_OAS_object
=== CONT  Test_loadOASSchema/load_OAS
--- PASS: TestValidateOASObject (0.01s)
    --- PASS: TestValidateOASObject/should_error_when_requested_oas_schema_not_found (0.00s)
    --- PASS: TestValidateOASObject/valid_OAS_object (0.05s)
    --- PASS: TestValidateOASObject/wrong_typed_OAS_object (0.05s)
    --- PASS: TestValidateOASObject/invalid_OAS_object (0.05s)
=== CONT  TestUpstreamMutualTLS/extractTo_api_definition
=== RUN   TestUpstreamMutualTLS/extractTo_api_definition/enabled=false,_domain_to_certs_nil
=== RUN   TestUpstreamMutualTLS/extractTo_api_definition/enabled=false,_valid_domain_to_cert_mapping
=== RUN   TestUpstreamMutualTLS/extractTo_api_definition/enabled=true,_valid_domain_to_cert_mapping
=== RUN   TestUpstreamMutualTLS/extractTo_api_definition/enabled=true,_empty_domain_to_cert_mapping
=== CONT  TestUpstreamMutualTLS/fillFrom_api_definition
=== RUN   TestUpstreamMutualTLS/fillFrom_api_definition/disabled=false,_empty_domain_to_cert_mapping
=== RUN   TestUpstreamMutualTLS/fillFrom_api_definition/disabled=true,_empty_domain_to_cert_mapping
=== RUN   TestUpstreamMutualTLS/fillFrom_api_definition/disabled=false,_valid_domain_to_cert_mapping
=== RUN   TestUpstreamMutualTLS/fillFrom_api_definition/disabled=true,_valid_domain_to_cert_mapping
=== CONT  TestTagsExportServer/export_segment_tags_if_disabled
--- PASS: TestUpstreamMutualTLS (0.00s)
    --- PASS: TestUpstreamMutualTLS/extractTo_api_definition (0.00s)
        --- PASS: TestUpstreamMutualTLS/extractTo_api_definition/enabled=false,_domain_to_certs_nil (0.00s)
        --- PASS: TestUpstreamMutualTLS/extractTo_api_definition/enabled=false,_valid_domain_to_cert_mapping (0.00s)
        --- PASS: TestUpstreamMutualTLS/extractTo_api_definition/enabled=true,_valid_domain_to_cert_mapping (0.00s)
        --- PASS: TestUpstreamMutualTLS/extractTo_api_definition/enabled=true,_empty_domain_to_cert_mapping (0.00s)
    --- PASS: TestUpstreamMutualTLS/fillFrom_api_definition (0.00s)
        --- PASS: TestUpstreamMutualTLS/fillFrom_api_definition/disabled=false,_empty_domain_to_cert_mapping (0.00s)
        --- PASS: TestUpstreamMutualTLS/fillFrom_api_definition/disabled=true,_empty_domain_to_cert_mapping (0.00s)
        --- PASS: TestUpstreamMutualTLS/fillFrom_api_definition/disabled=false,_valid_domain_to_cert_mapping (0.00s)
        --- PASS: TestUpstreamMutualTLS/fillFrom_api_definition/disabled=true,_valid_domain_to_cert_mapping (0.00s)
=== CONT  TestTagsExportServer/empty_segment_tags
=== CONT  TestTagsExportServer/export_segment_tags_if_enabled
--- PASS: TestTagsExportServer (0.00s)
    --- PASS: TestTagsExportServer/export_segment_tags_if_disabled (0.00s)
    --- PASS: TestTagsExportServer/empty_segment_tags (0.00s)
    --- PASS: TestTagsExportServer/export_segment_tags_if_enabled (0.00s)
--- PASS: Test_loadOASSchema (0.00s)
    --- PASS: Test_loadOASSchema/load_OAS (0.21s)
PASS
coverage: 91.1% of statements
ok  	github.com/TykTechnologies/tyk/apidef/oas	1.082s	coverage: 91.1% of statements
go test -race -count=1 -failfast -v -timeout 15m -coverprofile=schema.cov github.com/TykTechnologies/tyk/apidef/oas/schema
?   	github.com/TykTechnologies/tyk/apidef/oas/schema	[no test files]
go test -race -count=1 -failfast -v -timeout 15m -coverprofile=certs.cov github.com/TykTechnologies/tyk/certs
=== RUN   TestAddCertificate
=== RUN   TestAddCertificate/empty_cert
time="2022-08-26T07:43:41Z" level=error msg="Failed to decode certificate. It should be PEM encoded." prefix=cert_storage
=== RUN   TestAddCertificate/invalid_cert:_pem
time="2022-08-26T07:43:41Z" level=error msg="Failed to decode certificate. It should be PEM encoded." prefix=cert_storage
=== RUN   TestAddCertificate/invalid_cert:_asn1
time="2022-08-26T07:43:41Z" level=error msg="asn1: syntax error: truncated tag or length" prefix=cert_storage
=== RUN   TestAddCertificate/valid_cert_1
=== RUN   TestAddCertificate/tls:_wrong_private
time="2022-08-26T07:43:41Z" level=error msg="tls: private key does not match public key" prefix=cert_storage
=== RUN   TestAddCertificate/valid_cert_2
=== RUN   TestAddCertificate/combined_pem_exists
=== RUN   TestAddCertificate/valid_public_pem
=== RUN   TestAddCertificate/expired_cert
time="2022-08-26T07:43:41Z" level=error msg="certificate is expired" prefix=cert_storage
--- PASS: TestAddCertificate (2.40s)
    --- PASS: TestAddCertificate/empty_cert (0.00s)
    --- PASS: TestAddCertificate/invalid_cert:_pem (0.00s)
    --- PASS: TestAddCertificate/invalid_cert:_asn1 (0.00s)
    --- PASS: TestAddCertificate/valid_cert_1 (0.00s)
    --- PASS: TestAddCertificate/tls:_wrong_private (0.00s)
    --- PASS: TestAddCertificate/valid_cert_2 (0.00s)
    --- PASS: TestAddCertificate/combined_pem_exists (0.00s)
    --- PASS: TestAddCertificate/valid_public_pem (0.00s)
    --- PASS: TestAddCertificate/expired_cert (0.00s)
=== RUN   TestCertificateStorage
=== RUN   TestCertificateStorage/File_certificates
time="2022-08-26T07:43:44Z" level=warning msg="Can't retrieve certificate:wrongopen wrong: no such file or directory" prefix=cert_storage
=== RUN   TestCertificateStorage/Remote_storage_certificates
=== RUN   TestCertificateStorage/Private_certificates
=== RUN   TestCertificateStorage/Public_keys
--- PASS: TestCertificateStorage (3.19s)
    --- PASS: TestCertificateStorage/File_certificates (0.00s)
    --- PASS: TestCertificateStorage/Remote_storage_certificates (0.00s)
    --- PASS: TestCertificateStorage/Private_certificates (0.00s)
    --- PASS: TestCertificateStorage/Public_keys (0.00s)
=== RUN   TestStorageIndex
--- PASS: TestStorageIndex (0.33s)
PASS
coverage: 49.0% of statements
ok  	github.com/TykTechnologies/tyk/certs	5.970s	coverage: 49.0% of statements
go test -race -count=1 -failfast -v -timeout 15m -coverprofile=checkup.cov github.com/TykTechnologies/tyk/checkup
?   	github.com/TykTechnologies/tyk/checkup	[no test files]
go test -race -count=1 -failfast -v -timeout 15m -coverprofile=cli.cov github.com/TykTechnologies/tyk/cli
?   	github.com/TykTechnologies/tyk/cli	[no test files]
go test -race -count=1 -failfast -v -timeout 15m -coverprofile=bundler.cov github.com/TykTechnologies/tyk/cli/bundler
=== RUN   TestCommands
time="Aug 26 07:43:47" level=info msg="Building bundle using 'manifest.json'" prefix=tyk
time="Aug 26 07:43:47" level=warning msg="Using default bundle path 'bundle.zip'" prefix=tyk
time="Aug 26 07:43:47" level=warning msg="The bundle will be unsigned" prefix=tyk
time="Aug 26 07:43:47" level=info msg="Wrote 'bundle.zip' (377 bytes)" prefix=tyk
--- PASS: TestCommands (0.01s)
=== RUN   TestBuild
=== RUN   TestBuild/Bundle_errors
time="Aug 26 07:43:47" level=info msg="Building bundle using 'manifest.json'" prefix=tyk
time="Aug 26 07:43:47" level=info msg="Building bundle using 'manifest.json'" prefix=tyk
time="Aug 26 07:43:47" level=info msg="Building bundle using 'manifest.json'" prefix=tyk
time="Aug 26 07:43:47" level=info msg="Building bundle using 'manifest.json'" prefix=tyk
time="Aug 26 07:43:47" level=info msg="Building bundle using 'manifest.json'" prefix=tyk
=== RUN   TestBuild/Simple_bundle_build
time="Aug 26 07:43:47" level=info msg="Building bundle using 'manifest.json'" prefix=tyk
time="Aug 26 07:43:47" level=warning msg="Using default bundle path 'bundle.zip'" prefix=tyk
time="Aug 26 07:43:47" level=warning msg="The bundle will be unsigned" prefix=tyk
time="Aug 26 07:43:47" level=info msg="Wrote 'bundle.zip' (506 bytes)" prefix=tyk
--- PASS: TestBuild (0.02s)
    --- PASS: TestBuild/Bundle_errors (0.00s)
    --- PASS: TestBuild/Simple_bundle_build (0.01s)
PASS
coverage: 71.4% of statements
ok  	github.com/TykTechnologies/tyk/cli/bundler	0.075s	coverage: 71.4% of statements
go test -race -count=1 -failfast -v -timeout 15m -coverprofile=importer.cov github.com/TykTechnologies/tyk/cli/importer
?   	github.com/TykTechnologies/tyk/cli/importer	[no test files]
go test -race -count=1 -failfast -v -timeout 15m -coverprofile=linter.cov github.com/TykTechnologies/tyk/cli/linter
=== RUN   TestLint
=== RUN   TestLint/InvalidJSON
=== RUN   TestLint/WrongType
=== RUN   TestLint/FieldTypo
=== RUN   TestLint/Empty
=== RUN   TestLint/Default
=== RUN   TestLint/OldMonitor
=== RUN   TestLint/NullObject
=== RUN   TestLint/MissingPath
=== RUN   TestLint/ExtraPort
=== RUN   TestLint/BadHost
=== RUN   TestLint/BadLogLevel
=== RUN   TestLint/BadStorageType
=== RUN   TestLint/BadPolicySource
=== RUN   TestLint/MalformedDnsCacheEntry
=== RUN   TestLint/BadDnsCacheTTL
=== RUN   TestLint/ExtraDnsCacheCheckInterval
=== RUN   TestLint/InvalidDnsCacheMultipleIPsHandleStrategy
--- PASS: TestLint (0.28s)
    --- PASS: TestLint/InvalidJSON (0.00s)
    --- PASS: TestLint/WrongType (0.00s)
    --- PASS: TestLint/FieldTypo (0.02s)
    --- PASS: TestLint/Empty (0.02s)
    --- PASS: TestLint/Default (0.03s)
    --- PASS: TestLint/OldMonitor (0.02s)
    --- PASS: TestLint/NullObject (0.02s)
    --- PASS: TestLint/MissingPath (0.02s)
    --- PASS: TestLint/ExtraPort (0.02s)
    --- PASS: TestLint/BadHost (0.02s)
    --- PASS: TestLint/BadLogLevel (0.02s)
    --- PASS: TestLint/BadStorageType (0.02s)
    --- PASS: TestLint/BadPolicySource (0.02s)
    --- PASS: TestLint/MalformedDnsCacheEntry (0.02s)
    --- PASS: TestLint/BadDnsCacheTTL (0.02s)
    --- PASS: TestLint/ExtraDnsCacheCheckInterval (0.02s)
    --- PASS: TestLint/InvalidDnsCacheMultipleIPsHandleStrategy (0.02s)
PASS
coverage: 89.8% of statements
ok  	github.com/TykTechnologies/tyk/cli/linter	0.330s	coverage: 89.8% of statements
go test -race -count=1 -failfast -v -timeout 15m -coverprofile=config.cov github.com/TykTechnologies/tyk/config
=== RUN   TestDefaultValueAndWriteDefaultConf
=== RUN   TestDefaultValueAndWriteDefaultConf/ListenPort
=== RUN   TestDefaultValueAndWriteDefaultConf/DnsCacheEnabled
=== RUN   TestDefaultValueAndWriteDefaultConf/DnsCacheTTL
=== RUN   TestDefaultValueAndWriteDefaultConf/CheckInterval
=== RUN   TestDefaultValueAndWriteDefaultConf/CheckMultipleIPsHandleStrategy
--- PASS: TestDefaultValueAndWriteDefaultConf (0.04s)
    --- PASS: TestDefaultValueAndWriteDefaultConf/ListenPort (0.01s)
    --- PASS: TestDefaultValueAndWriteDefaultConf/DnsCacheEnabled (0.01s)
    --- PASS: TestDefaultValueAndWriteDefaultConf/DnsCacheTTL (0.01s)
    --- PASS: TestDefaultValueAndWriteDefaultConf/CheckInterval (0.01s)
    --- PASS: TestDefaultValueAndWriteDefaultConf/CheckMultipleIPsHandleStrategy (0.01s)
=== RUN   TestConfigFiles
time="Aug 26 07:43:51" level=warning msg="No config file found, writing default to /tmp/tyk335633361/tyk1.conf"
time="Aug 26 07:43:51" level=info msg="Loading default configuration..."
--- PASS: TestConfigFiles (0.04s)
=== RUN   TestConfig_GetEventTriggers
=== RUN   TestConfig_GetEventTriggers/Deprecated_configuration
=== RUN   TestConfig_GetEventTriggers/Current_configuration
=== RUN   TestConfig_GetEventTriggers/Both_configured
time="Aug 26 07:43:51" level=info msg="Both event_trigers_defunct and event_triggers_defunct are configured in the config, event_triggers_defunct will be used."
--- PASS: TestConfig_GetEventTriggers (0.01s)
    --- PASS: TestConfig_GetEventTriggers/Deprecated_configuration (0.00s)
    --- PASS: TestConfig_GetEventTriggers/Current_configuration (0.00s)
    --- PASS: TestConfig_GetEventTriggers/Both_configured (0.00s)
=== RUN   TestLoad_tracing
=== RUN   TestLoad_tracing/Read_and_write_config_with_tracing
=== RUN   TestLoad_tracing/Read_and_write_config_with_tracing/testdata/jaeger.json
=== RUN   TestLoad_tracing/Read_and_write_config_with_tracing/testdata/zipkin.json
=== RUN   TestLoad_tracing/Env_only
=== RUN   TestLoad_tracing/Env_only/testdata/env.jaeger.json
=== RUN   TestLoad_tracing/Env_only/testdata/env.zipkin.json
--- PASS: TestLoad_tracing (0.03s)
    --- PASS: TestLoad_tracing/Read_and_write_config_with_tracing (0.02s)
        --- PASS: TestLoad_tracing/Read_and_write_config_with_tracing/testdata/jaeger.json (0.01s)
        --- PASS: TestLoad_tracing/Read_and_write_config_with_tracing/testdata/zipkin.json (0.01s)
    --- PASS: TestLoad_tracing/Env_only (0.02s)
        --- PASS: TestLoad_tracing/Env_only/testdata/env.jaeger.json (0.01s)
        --- PASS: TestLoad_tracing/Env_only/testdata/env.zipkin.json (0.01s)
=== RUN   TestCustomCertsDataDecoder
--- PASS: TestCustomCertsDataDecoder (0.00s)
=== RUN   TestPortsWhiteListDecoder
--- PASS: TestPortsWhiteListDecoder (0.01s)
=== RUN   TestLoadZipkin
=== RUN   TestLoadZipkin/loads_env_vars
--- PASS: TestLoadZipkin (0.01s)
    --- PASS: TestLoadZipkin/loads_env_vars (0.00s)
=== RUN   TestLoadJaeger
=== RUN   TestLoadJaeger/Loads_env_vars
--- PASS: TestLoadJaeger (0.01s)
    --- PASS: TestLoadJaeger/Loads_env_vars (0.01s)
PASS
coverage: 68.8% of statements
ok  	github.com/TykTechnologies/tyk/config	0.197s	coverage: 68.8% of statements
go test -race -count=1 -failfast -v -timeout 15m -coverprofile=coprocess.cov github.com/TykTechnologies/tyk/coprocess
?   	github.com/TykTechnologies/tyk/coprocess	[no test files]
go test -race -count=1 -failfast -v -timeout 15m -coverprofile=grpc.cov github.com/TykTechnologies/tyk/coprocess/grpc
=== RUN   TestGRPCDispatch
time="Aug 26 07:43:57" level=info msg="starting test"
time="Aug 26 07:43:57" level=info msg="gRPC dispatcher was initialized" prefix=coprocess
==================
WARNING: DATA RACE
Write at 0x00c00022f36c by goroutine 70:
  github.com/TykTechnologies/tyk/log.Get()
      /home/runner/work/tyk/tyk/log/log.go:67 +0xac
  github.com/TykTechnologies/tyk/storage/internal/redis6.New()
      /home/runner/work/tyk/tyk/storage/internal/redis6/redis.go:14 +0x49
  github.com/TykTechnologies/tyk/storage/internal.New()
      /home/runner/work/tyk/tyk/storage/internal/types.go:21 +0x97
  github.com/TykTechnologies/tyk/storage.NewRedisClusterPool()
      /home/runner/work/tyk/tyk/storage/redis_cluster.go:34 +0xfb
  github.com/TykTechnologies/tyk/storage.(*RedisController).initClusterPool()
      /home/runner/work/tyk/tyk/storage/redis_controller.go:152 +0x6f8
  github.com/TykTechnologies/tyk/storage.(*RedisController).Connect()
      /home/runner/work/tyk/tyk/storage/redis_controller.go:114 +0x1f7
  github.com/TykTechnologies/tyk/storage.(*RedisController).ConnectToRedis()
      /home/runner/work/tyk/tyk/storage/redis_controller.go:95 +0x64

Previous read at 0x00c00022f36c by goroutine 34:
  sync/atomic.LoadInt32()
      /opt/hostedtoolcache/go/1.16.15/x64/src/runtime/race_amd64.s:213 +0xb
  github.com/sirupsen/logrus.(*Logger).level()
      /home/runner/go/pkg/mod/github.com/sirupsen/[email protected]/logger.go:352 +0x56
  github.com/sirupsen/logrus.(*Logger).IsLevelEnabled()
      /home/runner/go/pkg/mod/github.com/sirupsen/[email protected]/logger.go:374 +0x49
  github.com/sirupsen/logrus.(*Entry).Log()
      /home/runner/go/pkg/mod/github.com/sirupsen/[email protected]/entry.go:292 +0x2f
  github.com/sirupsen/logrus.(*Entry).Debug()
      /home/runner/go/pkg/mod/github.com/sirupsen/[email protected]/entry.go:302 +0x9cb
  github.com/TykTechnologies/tyk/gateway.(*HostCheckerManager).StartPoller()
      /home/runner/work/tyk/tyk/gateway/host_checker_manager.go:212 +0x973
  github.com/TykTechnologies/tyk/gateway.(*HostCheckerManager).checkPollerLoop()
      /home/runner/work/tyk/tyk/gateway/host_checker_manager.go:124 +0x244
  github.com/TykTechnologies/tyk/gateway.(*HostCheckerManager).CheckActivePollerLoop()
      /home/runner/work/tyk/tyk/gateway/host_checker_manager.go:98 +0x6f

Goroutine 70 (running) created at:
  github.com/TykTechnologies/tyk/gateway.(*Test).newGateway()
      /home/runner/work/tyk/tyk/gateway/testutil.go:1100 +0x10f1
  github.com/TykTechnologies/tyk/gateway.(*Test).start()
      /home/runner/work/tyk/tyk/gateway/testutil.go:957 +0x233
  github.com/TykTechnologies/tyk/gateway.StartTest()
      /home/runner/work/tyk/tyk/gateway/testutil.go:940 +0xb7
  github.com/TykTechnologies/tyk/coprocess/grpc.startTykWithGRPC()
      /home/runner/work/tyk/tyk/coprocess/grpc/coprocess_grpc_test.go:303 +0x1cd
  github.com/TykTechnologies/tyk/coprocess/grpc.TestGRPCDispatch()
      /home/runner/work/tyk/tyk/coprocess/grpc/coprocess_grpc_test.go:318 +0x49
  testing.tRunner()
      /opt/hostedtoolcache/go/1.16.15/x64/src/testing/testing.go:1203 +0x202

Goroutine 34 (running) created at:
  github.com/TykTechnologies/tyk/gateway.(*HostCheckerManager).Start()
      /home/runner/work/tyk/tyk/gateway/host_checker_manager.go:85 +0x8a
  github.com/TykTechnologies/tyk/gateway.(*Gateway).InitHostCheckManager()
      /home/runner/work/tyk/tyk/gateway/host_checker_manager.go:546 +0x22d
  github.com/TykTechnologies/tyk/gateway.(*Gateway).setupGlobals()
      /home/runner/work/tyk/tyk/gateway/server.go:334 +0x2704
  github.com/TykTechnologies/tyk/gateway.(*Gateway).initialiseSystem()
      /home/runner/work/tyk/tyk/gateway/server.go:1180 +0x69c
  github.com/TykTechnologies/tyk/gateway.(*Test).newGateway()
      /home/runner/work/tyk/tyk/gateway/testutil.go:1089 +0xda5
  github.com/TykTechnologies/tyk/gateway.(*Test).start()
      /home/runner/work/tyk/tyk/gateway/testutil.go:957 +0x233
  github.com/TykTechnologies/tyk/gateway.StartTest()
      /home/runner/work/tyk/tyk/gateway/testutil.go:940 +0xb7
  github.com/TykTechnologies/tyk/coprocess/grpc.startTykWithGRPC()
      /home/runner/work/tyk/tyk/coprocess/grpc/coprocess_grpc_test.go:303 +0x1cd
  github.com/TykTechnologies/tyk/coprocess/grpc.TestGRPCDispatch()
      /home/runner/work/tyk/tyk/coprocess/grpc/coprocess_grpc_test.go:318 +0x49
  testing.tRunner()
      /opt/hostedtoolcache/go/1.16.15/x64/src/testing/testing.go:1203 +0x202
==================
=== RUN   TestGRPCDispatch/Pre_Hook_with_SetHeaders
=== RUN   TestGRPCDispatch/Pre_Hook_with_UTF-8/non-UTF-8_request_data
=== RUN   TestGRPCDispatch/Post_Hook_with_metadata
=== RUN   TestGRPCDispatch/Response_hook
=== RUN   TestGRPCDispatch/Post_Hook_with_allowed_message_length
    util.go:32: Skipping flaky test
=== RUN   TestGRPCDispatch/Post_Hook_with_with_unallowed_message_length
    util.go:32: Skipping flaky test
=== CONT  TestGRPCDispatch
    testing.go:1102: race detected during execution of test
--- FAIL: TestGRPCDispatch (0.42s)
    --- PASS: TestGRPCDispatch/Pre_Hook_with_SetHeaders (0.01s)
    --- PASS: TestGRPCDispatch/Pre_Hook_with_UTF-8/non-UTF-8_request_data (0.01s)
    --- PASS: TestGRPCDispatch/Post_Hook_with_metadata (0.01s)
    --- PASS: TestGRPCDispatch/Response_hook (0.01s)
    --- SKIP: TestGRPCDispatch/Post_Hook_with_allowed_message_length (0.00s)
    --- SKIP: TestGRPCDispatch/Post_Hook_with_with_unallowed_message_length (0.00s)
redis: 2022/08/26 07:43:57 pubsub.go:159: redis: discarding bad PubSub connection: read tcp [::1]:49120->[::1]:6379: use of closed network connection
=== CONT  
    testing.go:1102: race detected during execution of test
FAIL
coverage: [no statements]
FAIL	github.com/TykTechnologies/tyk/coprocess/grpc	0.762s
FAIL

gofmt

all ok

goimports

all ok

gogenerate

all ok

If the above are ok, please look at the run or in the Checks tab.

github-actions[bot] avatar Aug 26 '22 07:08 github-actions[bot]

API tests result: success :white_check_mark: Branch used: refs/pull/4211/merge Commit: 3f1e3b0469d8ebd34b1b23db99fc206515b3d5e1 Triggered by: pull_request (@titpetric) Execution page

Tyk-ITS avatar Aug 26 '22 07:08 Tyk-ITS

:boom: CI tests failed :see_no_evil:

git-state

all ok

Please look at the run or in the Checks tab.

github-actions[bot] avatar Dec 13 '22 11:12 github-actions[bot]

:boom: CI tests failed :see_no_evil:

git-state

all ok

Please look at the run or in the Checks tab.

github-actions[bot] avatar Dec 13 '22 11:12 github-actions[bot]

API tests result: failure :no_entry_sign: Branch used: refs/pull/4211/merge Commit: a2a854765bb6662953451932c49c5fb9c61bd1e2 Triggered by: pull_request (@titpetric) Execution page

Tyk-ITS avatar Dec 13 '22 12:12 Tyk-ITS

:boom: CI tests failed :see_no_evil:

git-state

all ok

Please look at the run or in the Checks tab.

github-actions[bot] avatar Dec 13 '22 12:12 github-actions[bot]

API tests result: failure :no_entry_sign: Branch used: refs/pull/4211/merge Commit: 9aad951bae0903c1119a8aecd5dd6c8255d79d56 Triggered by: pull_request (@titpetric) Execution page

Tyk-ITS avatar Dec 13 '22 12:12 Tyk-ITS

API tests result: failure :no_entry_sign: Branch used: refs/pull/4211/merge Commit: 8c42795f9e872ca9eb611a9a86bc66ae217c8b80 Triggered by: pull_request (@titpetric) Execution page

Tyk-ITS avatar Dec 13 '22 12:12 Tyk-ITS

:boom: CI tests failed :see_no_evil:

git-state

all ok

Please look at the run or in the Checks tab.

github-actions[bot] avatar Dec 13 '22 12:12 github-actions[bot]