tyk icon indicating copy to clipboard operation
tyk copied to clipboard

[TT-4955] replace dgrijalva/jwt-go with golang-jwt/jwt/v4

Open mitjaziv opened this issue 2 years ago • 16 comments

Change replaces unmaintained vulnarable version of jwt library with maintained golang-jwt/jwt/v4.

Description

Related Issue

https://tyktech.atlassian.net/browse/TT-4955

Motivation and Context

Improve code base security.

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)
  • [ ] Refactoring or add test (improvements in base code or adds test coverage to functionality)

Checklist

  • [X] 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!
  • [X] 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
  • [X] 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.
  • [X] Check your code additions will not fail linting checks:
    • [X] go fmt -s
    • [X] go vet

mitjaziv avatar May 14 '22 12:05 mitjaziv

API tests result: success :white_check_mark: Branch used: refs/pull/4053/merge Commit: a12d5976a287e19d8fc1a1b0b134b5d07be6c52e Triggered by: pull_request (@mitjaziv) Execution page

Tyk-ITS avatar May 14 '22 14:05 Tyk-ITS

API tests result: failure :no_entry_sign: Branch used: refs/pull/4053/merge Commit: 9beef522697004ac758759c8af7c7ef38e59c851 Triggered by: pull_request (@mitjaziv) Execution page

Tyk-ITS avatar May 14 '22 16:05 Tyk-ITS

API tests result: failure :no_entry_sign: Branch used: refs/pull/4053/merge Commit: 9beef522697004ac758759c8af7c7ef38e59c851 Triggered by: pull_request (@mitjaziv) Execution page

Tyk-ITS avatar May 14 '22 17:05 Tyk-ITS

API tests result: failure :no_entry_sign: Branch used: refs/pull/4053/merge Commit: 9beef522697004ac758759c8af7c7ef38e59c851 Triggered by: pull_request (@mitjaziv) Execution page

Tyk-ITS avatar May 14 '22 17:05 Tyk-ITS

API tests result: failure :no_entry_sign: Branch used: refs/pull/4053/merge Commit: 9beef522697004ac758759c8af7c7ef38e59c851 Triggered by: pull_request (@mitjaziv) Execution page

Tyk-ITS avatar May 14 '22 18:05 Tyk-ITS

API tests result: failure :no_entry_sign: Branch used: refs/pull/4053/merge Commit: 9beef522697004ac758759c8af7c7ef38e59c851 Triggered by: pull_request (@mitjaziv) Execution page

Tyk-ITS avatar May 14 '22 18:05 Tyk-ITS

API tests result: failure :no_entry_sign: Branch used: refs/pull/4053/merge Commit: 9b54bd3b572bba08238b7b5cf7a2979de2c31a89 Triggered by: pull_request (@mitjaziv) Execution page

Tyk-ITS avatar May 14 '22 18:05 Tyk-ITS

API tests result: failure :no_entry_sign: Branch used: refs/pull/4053/merge Commit: 9b54bd3b572bba08238b7b5cf7a2979de2c31a89 Triggered by: pull_request (@mitjaziv) Execution page

Tyk-ITS avatar May 14 '22 19:05 Tyk-ITS

API tests result: failure :no_entry_sign: Branch used: refs/pull/4053/merge Commit: 9b54bd3b572bba08238b7b5cf7a2979de2c31a89 Triggered by: pull_request (@mitjaziv) Execution page

Tyk-ITS avatar May 14 '22 19:05 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
--- 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)
=== RUN   TestDecodeFromDB
=== RUN   TestDecodeFromDB/update_Scopes.JWT_when_JWTScopeClaimName_is_not_empty
time="May 18 08:40:35" 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="May 18 08:40:35" 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="May 18 08:40:35" level=error msg="Couldn't Decode, leaving as it may be legacy..."
time="May 18 08:40:35" level=error msg="Couldn't Decode, leaving as it may be legacy..."
--- PASS: TestAPIDefinition_DecodeFromDB_AuthDeprecation (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: 62.1% of statements
ok  	github.com/TykTechnologies/tyk/apidef	0.084s	coverage: 62.1% 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.00s)
    --- 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.01s)
PASS
coverage: 88.9% of statements
ok  	github.com/TykTechnologies/tyk/apidef/adapter	0.125s	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="May 18 08:40:38" level=error msg="Port for service HolidayService2 not found. Skiping processing of the service"
time="May 18 08:40:38" level=error msg="Unsupported transport protocol. Skipping process of the service StockQuoteService"
time="May 18 08:40:38" 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.063s	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   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   TestOAS
=== RUN   TestOAS/empty
--- PASS: TestOAS (0.00s)
    --- PASS: TestOAS/empty (0.00s)
=== RUN   TestOAS_AddServers
=== PAUSE TestOAS_AddServers
=== RUN   TestOAS_UpdateServers
=== PAUSE TestOAS_UpdateServers
=== 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
=== RUN   TestValidateRequest/ref
=== RUN   TestValidateRequest/value
--- PASS: TestValidateRequest (0.00s)
    --- PASS: TestValidateRequest/ref (0.00s)
    --- PASS: TestValidateRequest/value (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   TestClientCertificates
=== PAUSE TestClientCertificates
=== RUN   TestPinnedPublicKeys
=== PAUSE TestPinnedPublicKeys
=== RUN   TestTagsImport
=== PAUSE TestTagsImport
=== RUN   TestTagsExportServer
=== PAUSE TestTagsExportServer
=== RUN   TestUpstream
--- PASS: TestUpstream (0.00s)
=== RUN   TestServiceDiscovery
--- PASS: TestServiceDiscovery (0.00s)
=== RUN   TestTest
--- PASS: TestTest (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.16s)
=== CONT  TestOAS_BuildDefaultTykExtension
=== RUN   TestOAS_BuildDefaultTykExtension/build_tyk_extension_with_no_supplied_params
=== CONT  TestListenPath
=== RUN   TestOAS_BuildDefaultTykExtension/build_tyk_extension_with_supplied_params
--- PASS: TestListenPath (0.00s)
=== CONT  TestClientCertificates
=== RUN   TestOAS_BuildDefaultTykExtension/do_not_override_existing_tyk_extension_by_default
--- PASS: TestClientCertificates (0.00s)
=== CONT  TestServer
--- PASS: TestServer (0.00s)
=== CONT  TestOAS_RegexOperationIDs
=== RUN   TestOAS_BuildDefaultTykExtension/override_existing_tyk_extension_with_supplied_params
=== RUN   TestOAS_BuildDefaultTykExtension/error_when_supplied_invalid_upstreamURL_param
--- PASS: TestOAS_RegexOperationIDs (0.00s)
=== CONT  TestOAS_RegexPaths
=== RUN   TestOAS_BuildDefaultTykExtension/error_when_no_supplied_params_and_invalid_URL_in_servers
=== RUN   TestOAS_BuildDefaultTykExtension/error_when_no_supplied_params_and_no_servers
--- PASS: TestOAS_RegexPaths (0.00s)
=== CONT  TestOAS_PathsAndOperations
--- PASS: TestOAS_BuildDefaultTykExtension (0.00s)
    --- 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)
=== CONT  TestOAS_PathsAndOperationsRegex
--- PASS: TestOAS_PathsAndOperationsRegex (0.00s)
=== CONT  TestOAS_UpdateServers
=== RUN   TestOAS_UpdateServers/empty_servers
--- PASS: TestOAS_PathsAndOperations (0.00s)
=== CONT  TestOAS_AddServers
=== RUN   TestOAS_AddServers/empty_servers
=== RUN   TestOAS_UpdateServers/non-empty_servers_replace_with_new
=== RUN   TestOAS_AddServers/non-empty_servers
=== RUN   TestOAS_AddServers/non-empty_servers_having_same_URL_that_of_apiURL
=== RUN   TestOAS_AddServers/non-empty_servers_having_same_URL_that_of_apiURL#01
--- 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  Test_findDefaultVersion
=== RUN   Test_findDefaultVersion/single_version
=== RUN   Test_findDefaultVersion/multiple_versions
--- PASS: Test_findDefaultVersion (0.00s)
    --- PASS: Test_findDefaultVersion/single_version (0.00s)
    --- PASS: Test_findDefaultVersion/multiple_versions (0.00s)
=== CONT  TestValidateOASObject
=== RUN   TestOAS_UpdateServers/non-empty_servers_not_replace
--- PASS: TestOAS_UpdateServers (0.01s)
    --- 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  TestTagsExportServer
=== RUN   TestTagsExportServer/export_segment_tags_if_enabled
=== PAUSE TestTagsExportServer/export_segment_tags_if_enabled
=== RUN   TestTagsExportServer/export_segment_tags_if_disabled
=== PAUSE TestTagsExportServer/export_segment_tags_if_disabled
=== RUN   TestTagsExportServer/empty_segment_tags
=== PAUSE TestTagsExportServer/empty_segment_tags
=== CONT  Test_loadOASSchema
=== RUN   Test_loadOASSchema/load_OAS
=== PAUSE Test_loadOASSchema/load_OAS
=== CONT  TestPinnedPublicKeys
--- PASS: TestPinnedPublicKeys (0.00s)
=== CONT  TestTagsImport
=== RUN   TestTagsImport/keep_segment_tags_values_if_disabled
=== RUN   TestValidateOASObject/valid_OAS_object
=== PAUSE TestTagsImport/keep_segment_tags_values_if_disabled
=== RUN   TestTagsImport/keep_segment_tags_values_if_enabled
=== PAUSE TestValidateOASObject/valid_OAS_object
=== PAUSE TestTagsImport/keep_segment_tags_values_if_enabled
=== RUN   TestValidateOASObject/invalid_OAS_object
=== CONT  TestTagsExportServer/export_segment_tags_if_enabled
=== PAUSE TestValidateOASObject/invalid_OAS_object
=== RUN   TestValidateOASObject/wrong_typed_OAS_object
=== CONT  TestTagsExportServer/export_segment_tags_if_disabled
=== PAUSE TestValidateOASObject/wrong_typed_OAS_object
=== CONT  TestTagsExportServer/empty_segment_tags
--- PASS: TestTagsExportServer (0.00s)
    --- PASS: TestTagsExportServer/export_segment_tags_if_enabled (0.00s)
    --- PASS: TestTagsExportServer/export_segment_tags_if_disabled (0.00s)
    --- PASS: TestTagsExportServer/empty_segment_tags (0.00s)
=== CONT  Test_loadOASSchema/load_OAS
=== CONT  TestTagsImport/keep_segment_tags_values_if_disabled
=== CONT  TestTagsImport/keep_segment_tags_values_if_enabled
--- PASS: TestTagsImport (0.00s)
    --- PASS: TestTagsImport/keep_segment_tags_values_if_disabled (0.00s)
    --- PASS: TestTagsImport/keep_segment_tags_values_if_enabled (0.00s)
=== CONT  TestValidateOASObject/invalid_OAS_object
=== CONT  TestValidateOASObject/wrong_typed_OAS_object
--- PASS: Test_loadOASSchema (0.00s)
    --- PASS: Test_loadOASSchema/load_OAS (0.16s)
=== CONT  TestValidateOASObject/valid_OAS_object
--- PASS: TestValidateOASObject (0.01s)
    --- PASS: TestValidateOASObject/invalid_OAS_object (0.20s)
    --- PASS: TestValidateOASObject/wrong_typed_OAS_object (0.04s)
    --- PASS: TestValidateOASObject/valid_OAS_object (0.03s)
PASS
coverage: 88.6% of statements
ok  	github.com/TykTechnologies/tyk/apidef/oas	0.663s	coverage: 88.6% 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
    util.go:32: Skipping flaky test
--- SKIP: TestAddCertificate (0.00s)
=== RUN   TestCertificateStorage
=== RUN   TestCertificateStorage/File_certificates
time="2022-05-18T08:40:43Z" 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 (1.93s)
    --- 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.29s)
PASS
coverage: 46.5% of statements
ok  	github.com/TykTechnologies/tyk/certs	2.273s	coverage: 46.5% 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="May 18 08:40:46" level=info msg="Building bundle using 'manifest.json'" prefix=tyk
time="May 18 08:40:46" level=warning msg="Using default bundle path 'bundle.zip'" prefix=tyk
time="May 18 08:40:46" level=warning msg="The bundle will be unsigned" prefix=tyk
time="May 18 08:40:46" level=info msg="Wrote 'bundle.zip' (377 bytes)" prefix=tyk
--- PASS: TestCommands (0.01s)
=== RUN   TestBuild
=== RUN   TestBuild/Bundle_errors
time="May 18 08:40:46" level=info msg="Building bundle using 'manifest.json'" prefix=tyk
time="May 18 08:40:46" level=info msg="Building bundle using 'manifest.json'" prefix=tyk
time="May 18 08:40:46" level=info msg="Building bundle using 'manifest.json'" prefix=tyk
time="May 18 08:40:46" level=info msg="Building bundle using 'manifest.json'" prefix=tyk
time="May 18 08:40:46" level=info msg="Building bundle using 'manifest.json'" prefix=tyk
=== RUN   TestBuild/Simple_bundle_build
time="May 18 08:40:46" level=info msg="Building bundle using 'manifest.json'" prefix=tyk
time="May 18 08:40:46" level=warning msg="Using default bundle path 'bundle.zip'" prefix=tyk
time="May 18 08:40:46" level=warning msg="The bundle will be unsigned" prefix=tyk
time="May 18 08:40:46" level=info msg="Wrote 'bundle.zip' (506 bytes)" prefix=tyk
--- PASS: TestBuild (0.01s)
    --- PASS: TestBuild/Bundle_errors (0.00s)
    --- PASS: TestBuild/Simple_bundle_build (0.01s)
PASS
coverage: 70.7% of statements
ok  	github.com/TykTechnologies/tyk/cli/bundler	0.064s	coverage: 70.7% 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.24s)
    --- PASS: TestLint/InvalidJSON (0.00s)
    --- PASS: TestLint/WrongType (0.00s)
    --- PASS: TestLint/FieldTypo (0.02s)
    --- PASS: TestLint/Empty (0.02s)
    --- PASS: TestLint/Default (0.02s)
    --- PASS: TestLint/OldMonitor (0.01s)
    --- PASS: TestLint/NullObject (0.02s)
    --- PASS: TestLint/MissingPath (0.01s)
    --- PASS: TestLint/ExtraPort (0.01s)
    --- PASS: TestLint/BadHost (0.01s)
    --- PASS: TestLint/BadLogLevel (0.01s)
    --- PASS: TestLint/BadStorageType (0.02s)
    --- PASS: TestLint/BadPolicySource (0.01s)
    --- PASS: TestLint/MalformedDnsCacheEntry (0.02s)
    --- PASS: TestLint/BadDnsCacheTTL (0.01s)
    --- PASS: TestLint/ExtraDnsCacheCheckInterval (0.01s)
    --- PASS: TestLint/InvalidDnsCacheMultipleIPsHandleStrategy (0.01s)
PASS
coverage: 89.8% of statements
ok  	github.com/TykTechnologies/tyk/cli/linter	0.292s	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.03s)
    --- 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="May 18 08:40:49" level=warning msg="No config file found, writing default to /tmp/tyk211914811/tyk1.conf"
time="May 18 08:40:49" level=info msg="Loading default configuration..."
--- PASS: TestConfigFiles (0.03s)
=== RUN   TestConfig_GetEventTriggers
=== RUN   TestConfig_GetEventTriggers/Deprecated_configuration
=== RUN   TestConfig_GetEventTriggers/Current_configuration
=== RUN   TestConfig_GetEventTriggers/Both_configured
time="May 18 08:40:49" 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.01s)
        --- 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.00s)
    --- PASS: TestLoad_tracing/Env_only (0.01s)
        --- PASS: TestLoad_tracing/Env_only/testdata/env.jaeger.json (0.01s)
        --- PASS: TestLoad_tracing/Env_only/testdata/env.zipkin.json (0.00s)
=== RUN   TestLoadZipkin
=== RUN   TestLoadZipkin/loads_env_vars
--- PASS: TestLoadZipkin (0.00s)
    --- 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: 69.6% of statements
ok  	github.com/TykTechnologies/tyk/config	0.166s	coverage: 69.6% 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="May 18 08:40:53" level=info msg="starting test"
time="May 18 08:40:53" level=info msg="gRPC dispatcher was initialized" prefix=coprocess
=== 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
--- PASS: TestGRPCDispatch (0.34s)
    --- 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)
=== RUN   TestGRPCIgnore
redis: 2022/05/18 08:40:54 pubsub.go:159: redis: discarding bad PubSub connection: read tcp [::1]:50502->[::1]:6379: use of closed network connection
--- PASS: TestGRPCIgnore (0.31s)
PASS
coverage: [no statements]
ok  	github.com/TykTechnologies/tyk/coprocess/grpc	0.944s	coverage: [no statements]
go test -race -count=1 -failfast -v -timeout 15m -coverprofile=python.cov github.com/TykTechnologies/tyk/coprocess/python
=== RUN   TestValueExtractorHeaderSource
time="May 18 08:40:58" level=info msg="starting test"
=== RUN   TestValueExtractorHeaderSource/Header_value
=== RUN   TestValueExtractorHeaderSource/Form_value
=== RUN   TestValueExtractorHeaderSource/Header_regex
--- PASS: TestValueExtractorHeaderSource (3.79s)
    --- PASS: TestValueExtractorHeaderSource/Header_value (1.39s)
    --- PASS: TestValueExtractorHeaderSource/Form_value (1.14s)
    --- PASS: TestValueExtractorHeaderSource/Header_regex (1.14s)
=== RUN   TestPythonBundles
=== RUN   TestPythonBundles/Single-file_bundle_with_authentication_hook
=== RUN   TestPythonBundles/Auth_with_policy
=== RUN   TestPythonBundles/Single-file_bundle_with_post_hook
=== RUN   TestPythonBundles/Single-file_bundle_with_response_hook
=== RUN   TestPythonBundles/Single-file_bundle_with_pre_hook_and_UTF-8/non-UTF-8_request_data
=== RUN   TestPythonBundles/python_post_hook_with_url_rewrite_and_method_transform
--- PASS: TestPythonBundles (6.72s)
    --- PASS: TestPythonBundles/Single-file_bundle_with_authentication_hook (1.11s)
    --- PASS: TestPythonBundles/Auth_with_policy (1.09s)
    --- PASS: TestPythonBundles/Single-file_bundle_with_post_hook (1.10s)
    --- PASS: TestPythonBundles/Single-file_bundle_with_response_hook (1.10s)
    --- PASS: TestPythonBundles/Single-file_bundle_with_pre_hook_and_UTF-8/non-UTF-8_request_data (1.10s)
    --- PASS: TestPythonBundles/python_post_hook_with_url_rewrite_and_method_transform (1.11s)
PASS
coverage: [no statements]
ok  	github.com/TykTechnologies/tyk/coprocess/python	10.817s	coverage: [no statements]
go test -race -count=1 -failfast -v -timeout 15m -coverprofile=ctx.cov github.com/TykTechnologies/tyk/ctx
?   	github.com/TykTechnologies/tyk/ctx	[no test files]
go test -race -count=1 -failfast -v -timeout 15m -coverprofile=dlpython.cov github.com/TykTechnologies/tyk/dlpython
Using Python 3.5 for tests
=== RUN   TestFindPythonConfig
    main_test.go:20: Library path is 
    main_test.go:25: Library path is /opt/hostedtoolcache/Python/3.5.10/x64/lib/libpython3.5m.so
--- PASS: TestFindPythonConfig (0.22s)
=== RUN   TestInit
    main_test.go:33: Library path is /opt/hostedtoolcache/Python/3.5.10/x64/lib/libpython3.5m.so
--- PASS: TestInit (0.14s)
PASS
coverage: 54.7% of statements
ok  	github.com/TykTechnologies/tyk/dlpython	0.383s	coverage: 54.7% of statements
go test -race -count=1 -failfast -v -timeout 15m -coverprofile=dnscache.cov github.com/TykTechnologies/tyk/dnscache
=== RUN   TestWrapDialerDialContextFunc
=== RUN   TestWrapDialerDialContextFunc/PickFirstStrategy(1_ip):_Should_parse_address,_call_storage.FetchItem,_cache_ip,_call_storage.Delete_on_DialContext_error
=== RUN   TestWrapDialerDialContextFunc/PickFirstStrategy(>1_ip):_Should_parse_address,_call_storage.FetchItem,_cache_all_ips,_call_storage.Delete_on_DialContext_error
=== RUN   TestWrapDialerDialContextFunc/NoCacheStrategy(1_ip):_Should_parse_address,_call_storage.FetchItem,_cache_ip,_call_storage.Delete_on_DialContext_error
=== RUN   TestWrapDialerDialContextFunc/NoCacheStrategy(>1_ip):_Should_parse_address,_call_storage.FetchItem,_remove_ips_caching
=== RUN   TestWrapDialerDialContextFunc/RandomStrategy(>1_ip):_Should_parse_address,_call_storage.FetchItem,_cache_all_ips,_connect_to_random_ip,_call_storage.Delete_on_DialContext_error
=== RUN   TestWrapDialerDialContextFunc/Shouldn't_call_FetchItem_when_caching_is_disabled(storage_==_nil)
=== RUN   TestWrapDialerDialContextFunc/Shouldn't_cache_ipv4_address
=== RUN   TestWrapDialerDialContextFunc/Should_faifast_on_address_without_port(accept_only_address_with_port)
--- PASS: TestWrapDialerDialContextFunc (0.01s)
    --- PASS: TestWrapDialerDialContextFunc/PickFirstStrategy(1_ip):_Should_parse_address,_call_storage.FetchItem,_cache_ip,_call_storage.Delete_on_DialContext_error (0.00s)
    --- PASS: TestWrapDialerDialContextFunc/PickFirstStrategy(>1_ip):_Should_parse_address,_call_storage.FetchItem,_cache_all_ips,_call_storage.Delete_on_DialContext_error (0.00s)
    --- PASS: TestWrapDialerDialContextFunc/NoCacheStrategy(1_ip):_Should_parse_address,_call_storage.FetchItem,_cache_ip,_call_storage.Delete_on_DialContext_error (0.00s)
    --- PASS: TestWrapDialerDialContextFunc/NoCacheStrategy(>1_ip):_Should_parse_address,_call_storage.FetchItem,_remove_ips_caching (0.00s)
    --- PASS: TestWrapDialerDialContextFunc/RandomStrategy(>1_ip):_Should_parse_address,_call_storage.FetchItem,_cache_all_ips,_connect_to_random_ip,_call_storage.Delete_on_DialContext_error (0.00s)
    --- PASS: TestWrapDialerDialContextFunc/Shouldn't_call_FetchItem_when_caching_is_disabled(storage_==_nil) (0.00s)
    --- PASS: TestWrapDialerDialContextFunc/Shouldn't_cache_ipv4_address (0.00s)
    --- PASS: TestWrapDialerDialContextFunc/Should_faifast_on_address_without_port(accept_only_address_with_port) (0.00s)
=== RUN   TestStorageFetchItem
=== RUN   TestStorageFetchItem/Should_cache_first_dns_record_first_fetch
=== RUN   TestStorageFetchItem/Should_cache_second_dns_record_first_fetch
=== RUN   TestStorageFetchItem/Should_populate_from_cache_first_dns_record_second_fetch
=== RUN   TestStorageFetchItem/Should_populate_from_cache_first_dns_record_third_fetch
=== RUN   TestStorageFetchItem/Should_populate_from_cache_second_dns_record_second_fetch
=== RUN   TestStorageFetchItem/Shouldn't_cache_dns_record_fetch_in_case_error
--- PASS: TestStorageFetchItem (0.01s)
    --- PASS: TestStorageFetchItem/Should_cache_first_dns_record_first_fetch (0.00s)
    --- PASS: TestStorageFetchItem/Should_cache_second_dns_record_first_fetch (0.00s)
    --- PASS: TestStorageFetchItem/Should_populate_from_cache_first_dns_record_second_fetch (0.00s)
    --- PASS: TestStorageFetchItem/Should_populate_from_cache_first_dns_record_third_fetch (0.00s)
    --- PASS: TestStorageFetchItem/Should_populate_from_cache_second_dns_record_second_fetch (0.00s)
    --- PASS: TestStorageFetchItem/Shouldn't_cache_dns_record_fetch_in_case_error (0.00s)
=== RUN   TestStorageRecordExpiration
=== RUN   TestStorageRecordExpiration/Shouldn't_remove_dns_record_when_ttl/expiration_<_1
=== RUN   TestStorageRecordExpiration/Should_remove_single_dns_record_after_expiration
=== RUN   TestStorageRecordExpiration/Should_leave_as_expired_dns_records_if_check_interval=-1
=== RUN   TestStorageRecordExpiration/Should_remove_all(>1)_dns_records_after_expiration
=== RUN   TestStorageRecordExpiration/Should_remove_only_expired_record_after_expiration
=== RUN   TestStorageRecordExpiration/Should_remove_only_expired_records_after_expiration
--- PASS: TestStorageRecordExpiration (11.65s)
    --- PASS: TestStorageRecordExpiration/Shouldn't_remove_dns_record_when_ttl/expiration_<_1 (1.51s)
    --- PASS: TestStorageRecordExpiration/Should_remove_single_dns_record_after_expiration (2.01s)
    --- PASS: TestStorageRecordExpiration/Should_leave_as_expired_dns_records_if_check_interval=-1 (1.51s)
    --- PASS: TestStorageRecordExpiration/Should_remove_all(>1)_dns_records_after_expiration (2.01s)
    --- PASS: TestStorageRecordExpiration/Should_remove_only_expired_record_after_expiration (2.10s)
    --- PASS: TestStorageRecordExpiration/Should_remove_only_expired_records_after_expiration (2.50s)
PASS
coverage: 82.5% of statements
ok  	github.com/TykTechnologies/tyk/dnscache	11.713s	coverage: 82.5% of statements
go test -race -count=1 -failfast -v -timeout 15m -coverprofile=gateway.cov github.com/TykTechnologies/tyk/gateway
=== RUN   TestAnalytics_Write
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_msgpack
time="May 18 08:41:41" level=info msg="starting test"
time="May 18 08:41:41" level=info msg="Rich plugins are disabled" prefix=coprocess
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Log_errors
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Log_success
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Detailed_analytics_with_api_spec_config_enabled
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Detailed_analytics_with_only_key_flag_set
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Detailed_analytics
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Detailed_analytics_with_latency
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Detailed_analytics_with_cache
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_protobuf
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Log_errors
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Log_success
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Detailed_analytics_with_api_spec_config_enabled
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Detailed_analytics_with_only_key_flag_set
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Detailed_analytics
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Detailed_analytics_with_latency
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Detailed_analytics_with_cache
redis: 2022/05/18 08:41:43 pubsub.go:159: redis: discarding bad PubSub connection: read tcp [::1]:50540->[::1]:6379: use of closed network connection
--- PASS: TestAnalytics_Write (1.31s)
    --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_msgpack (0.66s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Log_errors (0.05s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Log_success (0.03s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Detailed_analytics_with_api_spec_config_enabled (0.08s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Detailed_analytics_with_only_key_flag_set (0.07s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Detailed_analytics (0.08s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Detailed_analytics_with_latency (0.08s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Detailed_analytics_with_cache (0.10s)
    --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_protobuf (0.65s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Log_errors (0.05s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Log_success (0.03s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Detailed_analytics_with_api_spec_config_enabled (0.08s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Detailed_analytics_with_only_key_flag_set (0.07s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Detailed_analytics (0.08s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Detailed_analytics_with_latency (0.08s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Detailed_analytics_with_cache (0.10s)
=== RUN   TestGeoIPLookup
--- PASS: TestGeoIPLookup (0.11s)
=== RUN   TestURLReplacer
--- PASS: TestURLReplacer (0.10s)
=== RUN   TestTagHeaders
--- PASS: TestTagHeaders (0.00s)
=== RUN   TestURLRewrites
=== RUN   TestURLRewrites/Extended_Paths_with_url_rewrites
--- PASS: TestURLRewrites (0.16s)
    --- PASS: TestURLRewrites/Extended_Paths_with_url_rewrites (0.05s)
=== RUN   TestWhitelist
=== RUN   TestWhitelist/Extended_Paths
=== RUN   TestWhitelist/Simple_Paths
=== RUN   TestWhitelist/Test_#1944
=== RUN   TestWhitelist/Case_Sensitivity
=== RUN   TestWhitelist/Listen_path_matches
=== RUN   TestWhitelist/Disabled
--- PASS: TestWhitelist (0.46s)
    --- PASS: TestWhitelist/Extended_Paths (0.05s)
    --- PASS: TestWhitelist/Simple_Paths (0.06s)
    --- PASS: TestWhitelist/Test_#1944 (0.07s)
    --- PASS: TestWhitelist/Case_Sensitivity (0.06s)
    --- PASS: TestWhitelist/Listen_path_matches (0.07s)
    --- PASS: TestWhitelist/Disabled (0.05s)
=== RUN   TestBlacklist
=== RUN   TestBlacklist/Extended_Paths
=== RUN   TestBlacklist/Simple_Paths
=== RUN   TestBlacklist/Case_Sensitivity
=== RUN   TestBlacklist/Listen_path_matches
=== RUN   TestBlacklist/Disabled
--- PASS: TestBlacklist (0.38s)
    --- PASS: TestBlacklist/Extended_Paths (0.05s)
    --- PASS: TestBlacklist/Simple_Paths (0.05s)
    --- PASS: TestBlacklist/Case_Sensitivity (0.05s)
    --- PASS: TestBlacklist/Listen_path_matches (0.06s)
    --- PASS: TestBlacklist/Disabled (0.05s)
=== RUN   TestConflictingPaths
--- PASS: TestConflictingPaths (0.16s)
=== RUN   TestIgnored
=== RUN   TestIgnored/Extended_Paths
=== RUN   TestIgnored/Simple_Paths
=== RUN   TestIgnored/With_URL_rewrite
=== RUN   TestIgnored/Case_Sensitivity
=== RUN   TestIgnored/Case_Sensitivity/ignore-case_globally
=== RUN   TestIgnored/Case_Sensitivity/ignore-case_in_api_level
=== RUN   TestIgnored/Disabled
--- PASS: TestIgnored (0.54s)
    --- PASS: TestIgnored/Extended_Paths (0.05s)
    --- PASS: TestIgnored/Simple_Paths (0.06s)
    --- PASS: TestIgnored/With_URL_rewrite (0.05s)
    --- PASS: TestIgnored/Case_Sensitivity (0.22s)
        --- PASS: TestIgnored/Case_Sensitivity/ignore-case_globally (0.06s)
        --- PASS: TestIgnored/Case_Sensitivity/ignore-case_in_api_level (0.05s)
    --- PASS: TestIgnored/Disabled (0.05s)
=== RUN   TestOldMockResponse
    util.go:32: Skipping Racy test
--- SKIP: TestOldMockResponse (0.00s)
=== RUN   TestNewMockResponse
=== RUN   TestNewMockResponse/protected
=== RUN   TestNewMockResponse/keyless
--- PASS: TestNewMockResponse (0.21s)
    --- PASS: TestNewMockResponse/protected (0.00s)
    --- PASS: TestNewMockResponse/keyless (0.05s)
=== RUN   TestWhitelistMethodWithAdditionalMiddleware
=== RUN   TestWhitelistMethodWithAdditionalMiddleware/Extended_Paths
--- PASS: TestWhitelistMethodWithAdditionalMiddleware (0.16s)
    --- PASS: TestWhitelistMethodWithAdditionalMiddleware/Extended_Paths (0.05s)
=== RUN   TestSyncAPISpecsDashboardSuccess
redis: 2022/05/18 08:41:45 pubsub.go:159: redis: discarding bad PubSub connection: read tcp [::1]:50624->[::1]:6379: use of closed network connection
--- PASS: TestSyncAPISpecsDashboardSuccess (0.15s)
=== RUN   TestRoundRobin
--- PASS: TestRoundRobin (0.00s)
=== RUN   TestDefaultVersion
--- PASS: TestDefaultVersion (0.17s)
=== RUN   TestGetVersionFromRequest
=== RUN   TestGetVersionFromRequest/Header_location
=== RUN   TestGetVersionFromRequest/Header_location/strip_versioning_data
=== RUN   TestGetVersionFromRequest/URL_param_location
=== RUN   TestGetVersionFromRequest/URL_param_location/strip_versioning_data
=== RUN   TestGetVersionFromRequest/URL_location
=== RUN   TestGetVersionFromRequest/URL_location/strip_versioning_data
--- PASS: TestGetVersionFromRequest (0.63s)
    --- PASS: TestGetVersionFromRequest/Header_location (0.21s)
        --- PASS: TestGetVersionFromRequest/Header_location/strip_versioning_data (0.05s)
    --- PASS: TestGetVersionFromRequest/URL_param_location (0.21s)
        --- PASS: TestGetVersionFromRequest/URL_param_location/strip_versioning_data (0.05s)
    --- PASS: TestGetVersionFromRequest/URL_location (0.21s)
        --- PASS: TestGetVersionFromRequest/URL_location/strip_versioning_data (0.05s)
=== RUN   TestSyncAPISpecsDashboardJSONFailure
redis: 2022/05/18 08:41:46 pubsub.go:159: redis: discarding bad PubSub connection: read tcp [::1]:50666->[::1]:6379: use of closed network connection
--- PASS: TestSyncAPISpecsDashboardJSONFailure (0.19s)
=== RUN   TestAPIDefinitionLoader_Template
=== RUN   TestAPIDefinitionLoader_Template/loadFileTemplate
=== RUN   TestAPIDefinitionLoader_Template/loadBlobTemplate
--- PASS: TestAPIDefinitionLoader_Template (0.11s)
    --- PASS: TestAPIDefinitionLoader_Template/loadFileTemplate (0.00s)
    --- PASS: TestAPIDefinitionLoader_Template/loadBlobTemplate (0.00s)
=== RUN   TestAPIExpiration
=== RUN   TestAPIExpiration/versioning=false
=== RUN   TestAPIExpiration/versioning=false/not_expired
=== RUN   TestAPIExpiration/versioning=false/expired
=== RUN   TestAPIExpiration/versioning=true
=== RUN   TestAPIExpiration/versioning=true/not_expired
=== RUN   TestAPIExpiration/versioning=true/expired
--- PASS: TestAPIExpiration (0.30s)
    --- PASS: TestAPIExpiration/versioning=false (0.10s)
        --- PASS: TestAPIExpiration/versioning=false/not_expired (0.05s)
        --- PASS: TestAPIExpiration/versioning=false/expired (0.05s)
    --- PASS: TestAPIExpiration/versioning=true (0.09s)
        --- PASS: TestAPIExpiration/versioning=true/not_expired (0.05s)
        --- PASS: TestAPIExpiration/versioning=true/expired (0.04s)
=== RUN   TestStripListenPath
--- PASS: TestStripListenPath (0.00s)
=== RUN   TestAPISpec_SanitizeProxyPaths
=== RUN   TestAPISpec_SanitizeProxyPaths/strip=false
=== RUN   TestAPISpec_SanitizeProxyPaths/strip=true
--- PASS: TestAPISpec_SanitizeProxyPaths (0.00s)
    --- PASS: TestAPISpec_SanitizeProxyPaths/strip=false (0.00s)
    --- PASS: TestAPISpec_SanitizeProxyPaths/strip=true (0.00s)
=== RUN   TestEnforcedTimeout
    util.go:32: Skipping flaky test
--- SKIP: TestEnforcedTimeout (0.00s)
=== RUN   TestOpenTracing
=== RUN   TestOpenTracing/ensure_the_manager_is_enabled
=== RUN   TestOpenTracing/ensure_services_are_initialized
--- PASS: TestOpenTracing (0.16s)
    --- PASS: TestOpenTracing/ensure_the_manager_is_enabled (0.00s)
    --- PASS: TestOpenTracing/ensure_services_are_initialized (0.05s)
=== RUN   TestInternalAPIUsage
=== RUN   TestInternalAPIUsage/with_name
=== RUN   TestInternalAPIUsage/with_api_id
--- PASS: TestInternalAPIUsage (0.22s)
    --- PASS: TestInternalAPIUsage/with_name (0.01s)
    --- PASS: TestInternalAPIUsage/with_api_id (0.06s)
=== RUN   TestFuzzyFindAPI
=== RUN   TestFuzzyFindAPI/ignore_case
=== RUN   TestFuzzyFindAPI/ignore_categories
=== RUN   TestFuzzyFindAPI/replace_underscores
=== RUN   TestFuzzyFindAPI/replace_@
=== RUN   TestFuzzyFindAPI/supply_hex
=== RUN   TestFuzzyFindAPI/supply_APIID
=== RUN   TestFuzzyFindAPI/empty_search_string
--- PASS: TestFuzzyFindAPI (0.19s)
    --- PASS: TestFuzzyFindAPI/ignore_case (0.00s)
    --- PASS: TestFuzzyFindAPI/ignore_categories (0.00s)
    --- PASS: TestFuzzyFindAPI/replace_underscores (0.00s)
    --- PASS: TestFuzzyFindAPI/replace_@ (0.00s)
    --- PASS: TestFuzzyFindAPI/supply_hex (0.00s)
    --- PASS: TestFuzzyFindAPI/supply_APIID (0.00s)
    --- PASS: TestFuzzyFindAPI/empty_search_string (0.00s)
=== RUN   TestAPILoopingName
=== RUN   TestAPILoopingName/api_#a_#b_#c
=== RUN   TestAPILoopingName/__api_#a_#b_#c
=== RUN   TestAPILoopingName/@api_#a_#b_#c
=== RUN   TestAPILoopingName/api
=== RUN   TestAPILoopingName/__api__
=== RUN   TestAPILoopingName/@___api_-__name_@__
=== RUN   TestAPILoopingName/@___api_-__name_@___#a_#b
--- PASS: TestAPILoopingName (0.00s)
    --- PASS: TestAPILoopingName/api_#a_#b_#c (0.00s)
    --- PASS: TestAPILoopingName/__api_#a_#b_#c (0.00s)
    --- PASS: TestAPILoopingName/@api_#a_#b_#c (0.00s)
    --- PASS: TestAPILoopingName/api (0.00s)
    --- PASS: TestAPILoopingName/__api__ (0.00s)
    --- PASS: TestAPILoopingName/@___api_-__name_@__ (0.00s)
    --- PASS: TestAPILoopingName/@___api_-__name_@___#a_#b (0.00s)
=== RUN   TestGraphQLPlayground
=== RUN   TestGraphQLPlayground/on-premise
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_empty
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_empty/playground_html_is_loaded
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_empty/playground.js_is_loaded
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_empty/should_get_error_on_post_request_to_playground_path
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/'
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/'/playground_html_is_loaded
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/'/playground.js_is_loaded
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/'/should_get_error_on_post_request_to_playground_path
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/playground'
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/playground'/playground_html_is_loaded
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/playground'/playground.js_is_loaded
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/playground'/should_get_error_on_post_request_to_playground_path
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/ppp'
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/ppp'/playground_html_is_loaded
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/ppp'/playground.js_is_loaded
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/ppp'/should_get_error_on_post_request_to_playground_path
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/zzz/'
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/zzz/'/playground_html_is_loaded
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/zzz/'/playground.js_is_loaded
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/zzz/'/should_get_error_on_post_request_to_playground_path
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'aaa'
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'aaa'/playground_html_is_loaded
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'aaa'/playground.js_is_loaded
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'aaa'/should_get_error_on_post_request_to_playground_path
=== RUN   TestGraphQLPlayground/cloud
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_empty
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_empty/playground_html_is_loaded
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_empty/playground.js_is_loaded
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_empty/should_get_error_on_post_request_to_playground_path
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/'
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/'/playground_html_is_loaded
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/'/playground.js_is_loaded
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/'/should_get_error_on_post_request_to_playground_path
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/playground'
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/playground'/playground_html_is_loaded
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/playground'/playground.js_is_loaded
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/playground'/should_get_error_on_post_request_to_playground_path
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/ppp'
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/ppp'/playground_html_is_loaded
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/ppp'/playground.js_is_loaded
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/ppp'/should_get_error_on_post_request_to_playground_path
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/zzz/'
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/zzz/'/playground_html_is_loaded
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/zzz/'/playground.js_is_loaded
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/zzz/'/should_get_error_on_post_request_to_playground_path
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'aaa'
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'aaa'/playground_html_is_loaded
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'aaa'/playground.js_is_loaded
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'aaa'/should_get_error_on_post_request_to_playground_path
--- PASS: TestGraphQLPlayground (2.62s)
    --- PASS: TestGraphQLPlayground/on-premise (1.25s)
        --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_empty (0.22s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_empty/playground_html_is_loaded (0.00s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_empty/playground.js_is_loaded (0.15s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_empty/should_get_error_on_post_request_to_playground_path (0.00s)
        --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/' (0.20s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/'/playground_html_is_loaded (0.00s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/'/playground.js_is_loaded (0.14s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/'/should_get_error_on_post_request_to_playground_path (0.00s)
        --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/playground' (0.21s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/playground'/playground_html_is_loaded (0.00s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/playground'/playground.js_is_loaded (0.14s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/playground'/should_get_error_on_post_request_to_playground_path (0.00s)
        --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/ppp' (0.20s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/ppp'/playground_html_is_loaded (0.00s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/ppp'/playground.js_is_loaded (0.14s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/ppp'/should_get_error_on_post_request_to_playground_path (0.00s)
        --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/zzz/' (0.20s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/zzz/'/playground_html_is_loaded (0.00s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/zzz/'/playground.js_is_loaded (0.14s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/zzz/'/should_get_error_on_post_request_to_playground_path (0.00s)
        --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'aaa' (0.22s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'aaa'/playground_html_is_loaded (0.00s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'aaa'/playground.js_is_loaded (0.15s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'aaa'/should_get_error_on_post_request_to_playground_path (0.00s)
    --- PASS: TestGraphQLPlayground/cloud (1.26s)
        --- PASS: TestGraphQLPlayground/cloud/playground_path_is_empty (0.20s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_empty/playground_html_is_loaded (0.00s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_empty/playground.js_is_loaded (0.14s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_empty/should_get_error_on_post_request_to_playground_path (0.00s)
        --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/' (0.20s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/'/playground_html_is_loaded (0.00s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/'/playground.js_is_loaded (0.14s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/'/should_get_error_on_post_request_to_playground_path (0.00s)
        --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/playground' (0.21s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/playground'/playground_html_is_loaded (0.00s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/playground'/playground.js_is_loaded (0.15s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/playground'/should_get_error_on_post_request_to_playground_path (0.00s)
        --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/ppp' (0.21s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/ppp'/playground_html_is_loaded (0.00s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/ppp'/playground.js_is_loaded (0.15s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/ppp'/should_get_error_on_post_request_to_playground_path (0.00s)
        --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/zzz/' (0.21s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/zzz/'/playground_html_is_loaded (0.00s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/zzz/'/playground.js_is_loaded (0.15s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/zzz/'/should_get_error_on_post_request_to_playground_path (0.00s)
        --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'aaa' (0.22s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'aaa'/playground_html_is_loaded (0.00s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'aaa'/playground.js_is_loaded (0.15s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'aaa'/should_get_error_on_post_request_to_playground_path (0.00s)
=== RUN   TestCORS
=== RUN   TestCORS/CORS_disabled
=== RUN   TestCORS/CORS_enabled
=== RUN   TestCORS/oauth_endpoints
=== RUN   TestCORS/oauth_endpoints/CORS_disabled
=== RUN   TestCORS/oauth_endpoints/CORS_enabled
--- PASS: TestCORS (0.33s)
    --- PASS: TestCORS/CORS_disabled (0.00s)
    --- PASS: TestCORS/CORS_enabled (0.06s)
    --- PASS: TestCORS/oauth_endpoints (0.11s)
        --- PASS: TestCORS/oauth_endpoints/CORS_disabled (0.00s)
        --- PASS: TestCORS/oauth_endpoints/CORS_enabled (0.06s)
=== RUN   TestTykRateLimitsStatusOfAPI
redis: 2022/05/18 08:41:50 pubsub.go:159: redis: discarding bad PubSub connection: read tcp [::1]:50734->[::1]:6379: use of closed network connection
--- PASS: TestTykRateLimitsStatusOfAPI (0.16s)
=== RUN   TestPolicyAPI
--- PASS: TestPolicyAPI (0.27s)
=== RUN   TestHealthCheckEndpoint
--- PASS: TestHealthCheckEndpoint (0.18s)
=== RUN   TestApiHandlerPostDupPath
=== RUN   TestApiHandlerPostDupPath/Sequentieal_order
=== RUN   TestApiHandlerPostDupPath/Should_re-order
=== RUN   TestApiHandlerPostDupPath/Restore_original_order
--- PASS: TestApiHandlerPostDupPath (0.32s)
    --- PASS: TestApiHandlerPostDupPath/Sequentieal_order (0.10s)
    --- PASS: TestApiHandlerPostDupPath/Should_re-order (0.05s)
    --- PASS: TestApiHandlerPostDupPath/Restore_original_order (0.06s)
=== RUN   TestKeyHandler
=== RUN   TestKeyHandler/Create_key
=== RUN   TestKeyHandler/Create_key_with_policy
=== RUN   TestKeyHandler/Get_key
=== RUN   TestKeyHandler/List_keys
=== RUN   TestKeyHandler/List_keys/filter=""
=== RUN   TestKeyHandler/List_keys/filter=orgID
=== RUN   TestKeyHandler/Update_key
=== RUN   TestKeyHandler/Delete_key
--- PASS: TestKeyHandler (0.24s)
    --- PASS: TestKeyHandler/Create_key (0.01s)
    --- PASS: TestKeyHandler/Create_key_with_policy (0.03s)
    --- PASS: TestKeyHandler/Get_key (0.01s)
    --- PASS: TestKeyHandler/List_keys (0.01s)
        --- PASS: TestKeyHandler/List_keys/filter="" (0.00s)
        --- PASS: TestKeyHandler/List_keys/filter=orgID (0.00s)
    --- PASS: TestKeyHandler/Update_key (0.01s)
    --- PASS: TestKeyHandler/Delete_key (0.00s)
=== RUN   TestKeyHandler_UpdateKey
=== RUN   TestKeyHandler_UpdateKey/Add_policy_not_enforcing_acl
=== RUN   TestKeyHandler_UpdateKey/Remove_policy_not_enforcing_acl
=== RUN   TestKeyHandler_UpdateKey/Tags_on_key_level
=== RUN   TestKeyHandler_UpdateKey/Tags_on_key_level/Add
=== RUN   TestKeyHandler_UpdateKey/Tags_on_key_level/Make_unique
=== RUN   TestKeyHandler_UpdateKey/Tags_on_key_level/Remove
=== RUN   TestKeyHandler_UpdateKey/MetaData_on_key_level
=== RUN   TestKeyHandler_UpdateKey/MetaData_on_key_level/Add
=== RUN   TestKeyHandler_UpdateKey/MetaData_on_key_level/Make_unique
=== RUN   TestKeyHandler_UpdateKey/MetaData_on_key_level/Remove
--- PASS: TestKeyHandler_UpdateKey (0.22s)
    --- PASS: TestKeyHandler_UpdateKey/Add_policy_not_enforcing_acl (0.01s)
    --- PASS: TestKeyHandler_UpdateKey/Remove_policy_not_enforcing_acl (0.01s)
    --- PASS: TestKeyHandler_UpdateKey/Tags_on_key_level (0.02s)
        --- PASS: TestKeyHandler_UpdateKey/Tags_on_key_level/Add (0.01s)
        --- PASS: TestKeyHandler_UpdateKey/Tags_on_key_level/Make_unique (0.01s)
        --- PASS: TestKeyHandler_UpdateKey/Tags_on_key_level/Remove (0.01s)
    --- PASS: TestKeyHandler_UpdateKey/MetaData_on_key_level (0.02s)
        --- PASS: TestKeyHandler_UpdateKey/MetaData_on_key_level/Add (0.01s)
        --- PASS: TestKeyHandler_UpdateKey/MetaData_on_key_level/Make_unique (0.01s)
        --- PASS: TestKeyHandler_UpdateKey/MetaData_on_key_level/Remove (0.01s)
=== RUN   TestUpdateKeyWithCert
=== RUN   TestUpdateKeyWithCert/Update_key_with_valid_cert
=== RUN   TestUpdateKeyWithCert/Update_key_with_empty_cert
=== RUN   TestUpdateKeyWithCert/Update_key_with_invalid_cert
--- PASS: TestUpdateKeyWithCert (0.51s)
    --- PASS: TestUpdateKeyWithCert/Update_key_with_valid_cert (0.13s)
    --- PASS: TestUpdateKeyWithCert/Update_key_with_empty_cert (0.11s)
    --- PASS: TestUpdateKeyWithCert/Update_key_with_invalid_cert (0.11s)
=== RUN   TestKeyHandler_CheckKeysNotDuplicateOnUpdate
=== RUN   TestKeyHandler_CheckKeysNotDuplicateOnUpdate/short,custom,notHashed
=== RUN   TestKeyHandler_CheckKeysNotDuplicateOnUpdate/short,custom,hashed
=== RUN   TestKeyHandler_CheckKeysNotDuplicateOnUpdate/long,custom,notHashed
=== RUN   TestKeyHandler_CheckKeysNotDuplicateOnUpdate/long,custom,hashed
=== RUN   TestKeyHandler_CheckKeysNotDuplicateOnUpdate/regular,notHashed
=== RUN   TestKeyHandler_CheckKeysNotDuplicateOnUpdate/regular,hashed
--- PASS: TestKeyHandler_CheckKeysNotDuplicateOnUpdate (0.19s)
    --- PASS: TestKeyHandler_CheckKeysNotDuplicateOnUpdate/short,custom,notHashed (0.01s)
    --- PASS: TestKeyHandler_CheckKeysNotDuplicateOnUpdate/short,custom,hashed (0.00s)
    --- PASS: TestKeyHandler_CheckKeysNotDuplicateOnUpdate/long,custom,notHashed (0.01s)
    --- PASS: TestKeyHandler_CheckKeysNotDuplicateOnUpdate/long,custom,hashed (0.00s)
    --- PASS: TestKeyHandler_CheckKeysNotDuplicateOnUpdate/regular,notHashed (0.00s)
    --- PASS: TestKeyHandler_CheckKeysNotDuplicateOnUpdate/regular,hashed (0.00s)
=== RUN   TestHashKeyHandler
    util.go:32: Skipping Racy test
--- SKIP: TestHashKeyHandler (0.00s)
=== RUN   TestHashKeyHandlerLegacyWithHashFunc
    util.go:32: Skipping Racy test
--- SKIP: TestHashKeyHandlerLegacyWithHashFunc (0.00s)
=== RUN   TestHashKeyListingDisabled
=== RUN   TestHashKeyListingDisabled/Create,_get_and_delete_key_with_key_hashing
--- PASS: TestHashKeyListingDisabled (0.23s)
    --- PASS: TestHashKeyListingDisabled/Create,_get_and_delete_key_with_key_hashing (0.03s)
=== RUN   TestKeyHandler_HashingDisabled
    util.go:32: Skipping Racy test
--- SKIP: TestKeyHandler_HashingDisabled (0.00s)
=== RUN   TestInvalidateCache
--- PASS: TestInvalidateCache (0.16s)
=== RUN   TestGetOAuthClients
--- PASS: TestGetOAuthClients (0.16s)
=== RUN   TestCreateOAuthClient
=== RUN   TestCreateOAuthClient/API_is_not_OAuth
=== RUN   TestCreateOAuthClient/no_api_id_but_policy_id_provided
=== RUN   TestCreateOAuthClient/no_policy_id_but_api_id_provided
=== RUN   TestCreateOAuthClient/policy_does_not_exist
=== RUN   TestCreateOAuthClient/API_does_not_exist
--- PASS: TestCreateOAuthClient (0.17s)
    --- PASS: TestCreateOAuthClient/API_is_not_OAuth (0.00s)
    --- PASS: TestCreateOAuthClient/no_api_id_but_policy_id_provided (0.00s)
    --- PASS: TestCreateOAuthClient/no_policy_id_but_api_id_provided (0.00s)
    --- PASS: TestCreateOAuthClient/policy_does_not_exist (0.00s)
    --- PASS: TestCreateOAuthClient/API_does_not_exist (0.00s)
=== RUN   TestUpdateOauthClientHandler
=== RUN   TestUpdateOauthClientHandler/Update_description
=== RUN   TestUpdateOauthClientHandler/Secret_remains_the_same
=== RUN   TestUpdateOauthClientHandler/Secret_cannot_be_updated
--- PASS: TestUpdateOauthClientHandler (0.18s)
    --- PASS: TestUpdateOauthClientHandler/Update_description (0.00s)
    --- PASS: TestUpdateOauthClientHandler/Secret_remains_the_same (0.00s)
    --- PASS: TestUpdateOauthClientHandler/Secret_cannot_be_updated (0.00s)
=== RUN   TestGroupResetHandler
redis: 2022/05/18 08:41:53 pubsub.go:159: redis: discarding bad PubSub connection: read tcp [::1]:50844->[::1]:6379: use of closed network connection
--- PASS: TestGroupResetHandler (0.11s)
=== RUN   TestHotReloadSingle
--- PASS: TestHotReloadSingle (0.15s)
=== RUN   TestContextData
--- PASS: TestContextData (0.00s)
=== RUN   TestContextSession
--- PASS: TestContextSession (0.12s)
=== RUN   TestApiLoaderLongestPathFirst
--- PASS: TestApiLoaderLongestPathFirst (0.29s)
=== RUN   TestRotateClientSecretHandler
=== RUN   TestRotateClientSecretHandler/Secret_can_be_rotated
--- PASS: TestRotateClientSecretHandler (0.17s)
    --- PASS: TestRotateClientSecretHandler/Secret_can_be_rotated (0.00s)
=== RUN   TestHandleAddOrUpdateApi
=== RUN   TestHandleAddOrUpdateApi/should_return_error_when_api_definition_json_is_invalid
=== RUN   TestHandleAddOrUpdateApi/should_return_error_when_api_ids_are_different
=== RUN   TestHandleAddOrUpdateApi/should_return_error_when_semantic_validation_fails
=== RUN   TestHandleAddOrUpdateApi/should_return_success_when_no_error_occurs
--- PASS: TestHandleAddOrUpdateApi (0.14s)
    --- PASS: TestHandleAddOrUpdateApi/should_return_error_when_api_definition_json_is_invalid (0.00s)
    --- PASS: TestHandleAddOrUpdateApi/should_return_error_when_api_ids_are_different (0.00s)
    --- PASS: TestHandleAddOrUpdateApi/should_return_error_when_semantic_validation_fails (0.00s)
    --- PASS: TestHandleAddOrUpdateApi/should_return_success_when_no_error_occurs (0.01s)
=== RUN   TestOAS
=== RUN   TestOAS/update
=== RUN   TestOAS/update/old_api
=== RUN   TestOAS/update/old_api/with_old
=== RUN   TestOAS/update/old_api/with_old/get
=== RUN   TestOAS/update/old_api/with_old/get/in_old
=== RUN   TestOAS/update/old_api/with_old/get/in_oas
=== RUN   TestOAS/update/old_api/with_oas
=== RUN   TestOAS/update/old_api/with_oas/get
=== RUN   TestOAS/update/old_api/with_oas/get/in_oas
=== RUN   TestOAS/update/old_api/with_oas/get/in_old
=== RUN   TestOAS/update/oas_api
=== RUN   TestOAS/update/oas_api/with_old
=== RUN   TestOAS/update/oas_api/with_old/get
=== RUN   TestOAS/update/oas_api/with_old/get/in_oas
=== RUN   TestOAS/update/oas_api/with_old/get/in_old
=== RUN   TestOAS/update/oas_api/with_oas
=== RUN   TestOAS/update/oas_api/with_oas/get
=== RUN   TestOAS/update/oas_api/with_oas/get/in_oas
=== RUN   TestOAS/update/oas_api/with_oas/get/in_old
=== RUN   TestOAS/update/oas_api/export
=== RUN   TestOAS/update/oas_api/export/with_old
=== RUN   TestOAS/update/oas_api/export/with_old/get
=== RUN   TestOAS/update/oas_api/export/with_old/get_scope_public
=== RUN   TestOAS/update/oas_api/export/with_oas
=== RUN   TestOAS/update/oas_api/export/with_oas/get
=== RUN   TestOAS/update/oas_api/export/with_oas/get_scope_public
=== RUN   TestOAS/update/oas_api/export/not_found
=== RUN   TestOAS/update/oas_api/export/not_found/get
=== RUN   TestOAS/delete
--- PASS: TestOAS (0.87s)
    --- PASS: TestOAS/update (0.60s)
        --- PASS: TestOAS/update/old_api (0.25s)
            --- PASS: TestOAS/update/old_api/with_old (0.13s)
                --- PASS: TestOAS/update/old_api/with_old/get (0.01s)
                    --- PASS: TestOAS/update/old_api/with_old/get/in_old (0.01s)
                    --- PASS: TestOAS/update/old_api/with_old/get/in_oas (0.00s)
            --- PASS: TestOAS/update/old_api/with_oas (0.06s)
                --- PASS: TestOAS/update/old_api/with_oas/get (0.01s)
                    --- PASS: TestOAS/update/old_api/with_oas/get/in_oas (0.00s)
                    --- PASS: TestOAS/update/old_api/with_oas/get/in_old (0.01s)
        --- PASS: TestOAS/update/oas_api (0.23s)
            --- PASS: TestOAS/update/oas_api/with_old (0.12s)
                --- PASS: TestOAS/update/oas_api/with_old/get (0.01s)
                    --- PASS: TestOAS/update/oas_api/with_old/get/in_oas (0.00s)
                    --- PASS: TestOAS/update/oas_api/with_old/get/in_old (0.01s)
            --- PASS: TestOAS/update/oas_api/with_oas (0.11s)
                --- PASS: TestOAS/update/oas_api/with_oas/get (0.01s)
                    --- PASS: TestOAS/update/oas_api/with_oas/get/in_oas (0.00s)
                    --- PASS: TestOAS/update/oas_api/with_oas/get/in_old (0.01s)
        --- PASS: TestOAS/update/oas_api/export (0.12s)
            --- PASS: TestOAS/update/oas_api/export/with_old (0.06s)
                --- PASS: TestOAS/update/oas_api/export/with_old/get (0.00s)
                --- PASS: TestOAS/update/oas_api/export/with_old/get_scope_public (0.00s)
            --- PASS: TestOAS/update/oas_api/export/with_oas (0.01s)
                --- PASS: TestOAS/update/oas_api/export/with_oas/get (0.00s)
                --- PASS: TestOAS/update/oas_api/export/with_oas/get_scope_public (0.00s)
            --- PASS: TestOAS/update/oas_api/export/not_found (0.05s)
                --- PASS: TestOAS/update/oas_api/export/not_found/get (0.00s)
    --- PASS: TestOAS/delete (0.10s)
=== RUN   TestAuthenticationAfterDeleteKey
=== RUN   TestAuthenticationAfterDeleteKey/HashKeys=false
redis: 2022/05/18 08:41:55 pubsub.go:159: redis: discarding bad PubSub connection: read tcp [::1]:50910->[::1]:6379: use of closed network connection
=== RUN   TestAuthenticationAfterDeleteKey/HashKeys=true
redis: 2022/05/18 08:41:55 pubsub.go:159: redis: discarding bad PubSub connection: read tcp [::1]:50902->[::1]:6379: use of closed network connection
--- PASS: TestAuthenticationAfterDeleteKey (0.47s)
    --- PASS: TestAuthenticationAfterDeleteKey/HashKeys=false (0.17s)
    --- PASS: TestAuthenticationAfterDeleteKey/HashKeys=true (0.17s)
=== RUN   TestAuthenticationAfterUpdateKey
=== RUN   TestAuthenticationAfterUpdateKey/HashKeys=false
=== RUN   TestAuthenticationAfterUpdateKey/HashKeys=true
--- PASS: TestAuthenticationAfterUpdateKey (0.22s)
    --- PASS: TestAuthenticationAfterUpdateKey/HashKeys=false (0.06s)
    --- PASS: TestAuthenticationAfterUpdateKey/HashKeys=true (0.06s)
=== RUN   TestHashKeyFunctionChanged
=== RUN   TestHashKeyFunctionChanged/custom_key
=== RUN   TestHashKeyFunctionChanged/basic_auth_key
=== RUN   TestHashKeyFunctionChanged/client_certificate
--- PASS: TestHashKeyFunctionChanged (2.87s)
    --- PASS: TestHashKeyFunctionChanged/custom_key (0.02s)
    --- PASS: TestHashKeyFunctionChanged/basic_auth_key (2.28s)
    --- PASS: TestHashKeyFunctionChanged/client_certificate (0.07s)
=== RUN   TestBatch
--- PASS: TestBatch (0.19s)
=== RUN   TestVirtualEndpointBatch
=== RUN   TestVirtualEndpointBatch/Skip_verification
=== RUN   TestVirtualEndpointBatch/Verification_required
--- PASS: TestVirtualEndpointBatch (0.51s)
    --- PASS: TestVirtualEndpointBatch/Skip_verification (0.03s)
    --- PASS: TestVirtualEndpointBatch/Verification_required (0.20s)
=== RUN   TestBatchIgnoreCanonicalHeaderKey
--- PASS: TestBatchIgnoreCanonicalHeaderKey (0.21s)
=== RUN   TestPublicKeyPinning
=== RUN   TestPublicKeyPinning/Pub_key_match
=== RUN   TestPublicKeyPinning/Pub_key_not_match
    util.go:32: Skipping flaky test
=== RUN   TestPublicKeyPinning/Global_setting
    util.go:32: Skipping flaky test
=== RUN   TestPublicKeyPinning/Though_proxy
=== RUN   TestPublicKeyPinning/Enable_Common_Name_check
--- PASS: TestPublicKeyPinning (0.83s)
    --- PASS: TestPublicKeyPinning/Pub_key_match (0.17s)
    --- SKIP: TestPublicKeyPinning/Pub_key_not_match (0.00s)
    --- SKIP: TestPublicKeyPinning/Global_setting (0.00s)
    --- PASS: TestPublicKeyPinning/Though_proxy (0.26s)
    --- PASS: TestPublicKeyPinning/Enable_Common_Name_check (0.33s)
=== RUN   TestProxyTransport
=== RUN   TestProxyTransport/Global:_Cipher_match
=== RUN   TestProxyTransport/Global:_Cipher_not_match
=== RUN   TestProxyTransport/API:_Cipher_override
=== RUN   TestProxyTransport/API:_MinTLS_not_match
=== RUN   TestProxyTransport/API:_Invalid_proxy
=== RUN   TestProxyTransport/API:_Valid_proxy
--- PASS: TestProxyTransport (0.54s)
    --- PASS: TestProxyTransport/Global:_Cipher_match (0.06s)
    --- PASS: TestProxyTransport/Global:_Cipher_not_match (0.05s)
    --- PASS: TestProxyTransport/API:_Cipher_override (0.06s)
    --- PASS: TestProxyTransport/API:_MinTLS_not_match (0.05s)
    --- PASS: TestProxyTransport/API:_Invalid_proxy (0.06s)
    --- PASS: TestProxyTransport/API:_Valid_proxy (0.14s)
=== RUN   TestGatewayTLS
=== RUN   TestGatewayTLS/Without_certificates
=== RUN   TestGatewayTLS/Legacy_TLS_certificate_path
=== RUN   TestGatewayTLS/File_certificate_path
=== RUN   TestGatewayTLS/Redis_certificate
--- PASS: TestGatewayTLS (0.88s)
    --- PASS: TestGatewayTLS/Without_certificates (0.15s)
    --- PASS: TestGatewayTLS/Legacy_TLS_certificate_path (0.17s)
    --- PASS: TestGatewayTLS/File_certificate_path (0.16s)
    --- PASS: TestGatewayTLS/Redis_certificate (0.33s)
=== RUN   TestGatewayControlAPIMutualTLS
=== RUN   TestGatewayControlAPIMutualTLS/Separate_domain
=== RUN   TestGatewayControlAPIMutualTLS/Separate_domain/_control_api_with_valid_cert
--- PASS: TestGatewayControlAPIMutualTLS (0.53s)
    --- PASS: TestGatewayControlAPIMutualTLS/Separate_domain (0.17s)
    --- PASS: TestGatewayControlAPIMutualTLS/Separate_domain/_control_api_with_valid_cert (0.18s)
=== RUN   TestAPIMutualTLS
=== RUN   TestAPIMutualTLS/SNI_and_domain_per_API
=== RUN   TestAPIMutualTLS/SNI_and_domain_per_API/API_without_mutual_TLS
=== RUN   TestAPIMutualTLS/SNI_and_domain_per_API/MutualTLSCertificate_not_set
=== RUN   TestAPIMutualTLS/SNI_and_domain_per_API/Client_certificate_match
=== RUN   TestAPIMutualTLS/SNI_and_domain_per_API/Client_certificate_differ
=== RUN   TestAPIMutualTLS/Multiple_APIs_on_same_domain
=== RUN   TestAPIMutualTLS/Multiple_APIs_on_same_domain/Empty_domain
=== RUN   TestAPIMutualTLS/Multiple_APIs_on_same_domain/Empty_domain/Without_certificate
=== RUN   TestAPIMutualTLS/Multiple_APIs_on_same_domain/Empty_domain/Client_certificate_not_match
=== RUN   TestAPIMutualTLS/Multiple_APIs_on_same_domain/Empty_domain/Client_certificate_match
=== RUN   TestAPIMutualTLS/Multiple_APIs_on_same_domain/Custom_domain
=== RUN   TestAPIMutualTLS/Multiple_APIs_on_same_domain/Custom_domain/Without_certificate
=== RUN   TestAPIMutualTLS/Multiple_APIs_on_same_domain/Custom_domain/Client_certificate_not_match
=== RUN   TestAPIMutualTLS/Multiple_APIs_on_same_domain/Custom_domain/Client_certificate_match
=== RUN   TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain
=== RUN   TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Empty_domain
=== RUN   TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Empty_domain/Without_certificate
=== RUN   TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Empty_domain/Client_certificate_not_match
=== RUN   TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Empty_domain/Client_certificate_match
=== RUN   TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Custom_domain
=== RUN   TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Custom_domain/Without_certificate
=== RUN   TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Custom_domain/Client_certificate_not_match
=== RUN   TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Custom_domain/Client_certificate_match
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Empty_domain
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Empty_domain/Without_certificate
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Empty_domain/Client_certificate_not_match
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Empty_domain/Client_certificate_match
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Custom_domain
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Custom_domain/Without_certificate
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Custom_domain/Client_certificate_not_match
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Custom_domain/Client_certificate_match
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Empty_domain
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Empty_domain/Without_certificate
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Empty_domain/Client_certificate_not_match
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Empty_domain/Client_certificate_match
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Custom_domain
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Custom_domain/Without_certificate
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Custom_domain/Client_certificate_not_match
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Custom_domain/Client_certificate_match
redis: 2022/05/18 08:42:04 pubsub.go:159: redis: discarding bad PubSub connection: read tcp [::1]:51066->[::1]:6379: use of closed network connection
--- PASS: TestAPIMutualTLS (2.47s)
    --- PASS: TestAPIMutualTLS/SNI_and_domain_per_API (0.35s)
        --- PASS: TestAPIMutualTLS/SNI_and_domain_per_API/API_without_mutual_TLS (0.05s)
        --- PASS: TestAPIMutualTLS/SNI_and_domain_per_API/MutualTLSCertificate_not_set (0.05s)
        --- PASS: TestAPIMutualTLS/SNI_and_domain_per_API/Client_certificate_match (0.07s)
        --- PASS: TestAPIMutualTLS/SNI_and_domain_per_API/Client_certificate_differ (0.17s)
    --- PASS: TestAPIMutualTLS/Multiple_APIs_on_same_domain (0.39s)
        --- PASS: TestAPIMutualTLS/Multiple_APIs_on_same_domain/Empty_domain (0.19s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs_on_same_domain/Empty_domain/Without_certificate (0.06s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs_on_same_domain/Empty_domain/Client_certificate_not_match (0.06s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs_on_same_domain/Empty_domain/Client_certificate_match (0.06s)
        --- PASS: TestAPIMutualTLS/Multiple_APIs_on_same_domain/Custom_domain (0.20s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs_on_same_domain/Custom_domain/Without_certificate (0.07s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs_on_same_domain/Custom_domain/Client_certificate_not_match (0.06s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs_on_same_domain/Custom_domain/Client_certificate_match (0.06s)
    --- PASS: TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain (0.43s)
        --- PASS: TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Empty_domain (0.21s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Empty_domain/Without_certificate (0.06s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Empty_domain/Client_certificate_not_match (0.06s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Empty_domain/Client_certificate_match (0.08s)
        --- PASS: TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Custom_domain (0.22s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Custom_domain/Without_certificate (0.07s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Custom_domain/Client_certificate_not_match (0.07s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Custom_domain/Client_certificate_match (0.08s)
    --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom (0.39s)
        --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Empty_domain (0.19s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Empty_domain/Without_certificate (0.07s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Empty_domain/Client_certificate_not_match (0.06s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Empty_domain/Client_certificate_match (0.06s)
        --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Custom_domain (0.19s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Custom_domain/Without_certificate (0.07s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Custom_domain/Client_certificate_not_match (0.06s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Custom_domain/Client_certificate_match (0.06s)
    --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty (0.39s)
        --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Empty_domain (0.19s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Empty_domain/Without_certificate (0.07s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Empty_domain/Client_certificate_not_match (0.06s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Empty_domain/Client_certificate_match (0.06s)
        --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Custom_domain (0.19s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Custom_domain/Without_certificate (0.07s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Custom_domain/Client_certificate_not_match (0.06s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Custom_domain/Client_certificate_match (0.06s)
=== RUN   TestUpstreamMutualTLS
    util.go:32: Skipping flaky test
--- SKIP: TestUpstreamMutualTLS (0.00s)
=== RUN   TestSSLForceCommonName
    util.go:32: Skipping flaky test
--- SKIP: TestSSLForceCommonName (0.00s)
=== RUN   TestKeyWithCertificateTLS
    util.go:32: Skipping flaky test
--- SKIP: TestKeyWithCertificateTLS (0.00s)
=== RUN   TestAPICertificate
=== RUN   TestAPICertificate/Cert_set_via_API
=== RUN   TestAPICertificate/Cert_unknown
--- PASS: TestAPICertificate (0.30s)
    --- PASS: TestAPICertificate/Cert_set_via_API (0.06s)
    --- PASS: TestAPICertificate/Cert_unknown (0.05s)
=== RUN   TestCertificateHandlerTLS
    util.go:32: Skipping flaky test
--- SKIP: TestCertificateHandlerTLS (0.00s)
=== RUN   TestCipherSuites
=== RUN   TestCipherSuites/Cipher_match
=== RUN   TestCipherSuites/Cipher_non-match
--- PASS: TestCipherSuites (0.34s)
    --- PASS: TestCipherSuites/Cipher_match (0.01s)
    --- PASS: TestCipherSuites/Cipher_non-match (0.00s)
=== RUN   TestBundleLoader
=== RUN   TestBundleLoader/Nonexistent_bundle
=== RUN   TestBundleLoader/Existing_bundle_with_auth_check
--- PASS: TestBundleLoader (0.29s)
    --- PASS: TestBundleLoader/Nonexistent_bundle (0.08s)
    --- PASS: TestBundleLoader/Existing_bundle_with_auth_check (0.09s)
=== RUN   TestBundleFetcher
=== RUN   TestBundleFetcher/Simple_bundle_base_URL
=== RUN   TestBundleFetcher/Bundle_base_URL_with_querystring
--- PASS: TestBundleFetcher (0.27s)
    --- PASS: TestBundleFetcher/Simple_bundle_base_URL (0.08s)
    --- PASS: TestBundleFetcher/Bundle_base_URL_with_querystring (0.08s)
=== RUN   TestResponseOverride
=== RUN   TestResponseOverride/Python
=== RUN   TestResponseOverride/JSVM
--- PASS: TestResponseOverride (0.65s)
    --- PASS: TestResponseOverride/Python (0.33s)
    --- PASS: TestResponseOverride/JSVM (0.19s)
=== RUN   TestValueExtractor
=== RUN   TestValueExtractor/HeaderSource
=== RUN   TestValueExtractor/FormSource
--- PASS: TestValueExtractor (0.11s)
    --- PASS: TestValueExtractor/HeaderSource (0.00s)
    --- PASS: TestValueExtractor/FormSource (0.00s)
=== RUN   TestRegexExtractor
=== RUN   TestRegexExtractor/HeaderSource
=== RUN   TestRegexExtractor/BodySource
=== RUN   TestRegexExtractor/FormSource
--- PASS: TestRegexExtractor (0.12s)
    --- PASS: TestRegexExtractor/HeaderSource (0.00s)
    --- PASS: TestRegexExtractor/BodySource (0.00s)
    --- PASS: TestRegexExtractor/FormSource (0.00s)
=== RUN   TestXPathExtractor
=== RUN   TestXPathExtractor/HeaderSource
=== RUN   TestXPathExtractor/BodySource
=== RUN   TestXPathExtractor/FormSource
redis: 2022/05/18 08:42:07 pubsub.go:159: redis: discarding bad PubSub connection: read tcp [::1]:51132->[::1]:6379: use of closed network connection
--- PASS: TestXPathExtractor (0.12s)
    --- PASS: TestXPathExtractor/HeaderSource (0.00s)
    --- PASS: TestXPathExtractor/BodySource (0.00s)
    --- PASS: TestXPathExtractor/FormSource (0.00s)
=== RUN   Test_BuildDashboardConnStr
--- PASS: Test_BuildDashboardConnStr (2.13s)
=== RUN   TestNewValid
--- PASS: TestNewValid (0.12s)
=== RUN   TestNewInvalid
--- PASS: TestNewInvalid (0.11s)
=== RUN   TestChecksum
--- PASS: TestChecksum (0.12s)
=== RUN   TestBuildRequest
--- PASS: TestBuildRequest (0.11s)
=== RUN   TestBuildRequestIngoreCanonicalHeaderKey
--- PASS: TestBuildRequestIngoreCanonicalHeaderKey (0.11s)
=== RUN   TestCreateBody
--- PASS: TestCreateBody (0.12s)
=== RUN   TestGet
--- PASS: TestGet (0.11s)
=== RUN   TestPost
--- PASS: TestPost (0.12s)
=== RUN   TestNewCustomTemplate
=== RUN   TestNewCustomTemplate/UseDefault
=== RUN   TestNewCustomTemplate/FallbackToDefault
=== RUN   TestNewCustomTemplate/UseCustom
=== RUN   TestNewCustomTemplate/MissingDefault
=== RUN   TestNewCustomTemplate/MissingDefaultFallback
=== RUN   TestNewCustomTemplate/MissingDefaultNotNeeded
--- PASS: TestNewCustomTemplate (0.12s)
    --- PASS: TestNewCustomTemplate/UseDefault (0.00s)
    --- PASS: TestNewCustomTemplate/FallbackToDefault (0.00s)
    --- PASS: TestNewCustomTemplate/UseCustom (0.00s)
    --- PASS: TestNewCustomTemplate/MissingDefault (0.00s)
    --- PASS: TestNewCustomTemplate/MissingDefaultFallback (0.00s)
    --- PASS: TestNewCustomTemplate/MissingDefaultNotNeeded (0.00s)
=== RUN   TestWebhookContentTypeHeader
=== RUN   TestWebhookContentTypeHeader/MissingTemplatePath
=== RUN   TestWebhookContentTypeHeader/MissingTemplatePath/CustomHeaders
=== RUN   TestWebhookContentTypeHeader/InvalidTemplatePath
=== RUN   TestWebhookContentTypeHeader/InvalidTemplatePath/CustomHeaders
=== RUN   TestWebhookContentTypeHeader/CustomTemplate
=== RUN   TestWebhookContentTypeHeader/CustomTemplate/CustomHeaders
--- PASS: TestWebhookContentTypeHeader (0.12s)
    --- PASS: TestWebhookContentTypeHeader/MissingTemplatePath (0.00s)
    --- PASS: TestWebhookContentTypeHeader/MissingTemplatePath/CustomHeaders (0.00s)
    --- PASS: TestWebhookContentTypeHeader/InvalidTemplatePath (0.00s)
    --- PASS: TestWebhookContentTypeHeader/InvalidTemplatePath/CustomHeaders (0.00s)
    --- PASS: TestWebhookContentTypeHeader/CustomTemplate (0.00s)
    --- PASS: TestWebhookContentTypeHeader/CustomTemplate/CustomHeaders (0.00s)
=== RUN   TestEventHandlerByName
--- PASS: TestEventHandlerByName (0.11s)
=== RUN   TestLogMessageEventHandler
--- PASS: TestLogMessageEventHandler (0.11s)
=== RUN   TestInitGenericEventHandlers
--- PASS: TestInitGenericEventHandlers (0.11s)
=== RUN   TestParambasedAuth
--- PASS: TestParambasedAuth (0.17s)
=== RUN   TestStripPathWithURLRewrite
=== RUN   TestStripPathWithURLRewrite/rewrite_URL_containing_listen_path
--- PASS: TestStripPathWithURLRewrite (0.16s)
    --- PASS: TestStripPathWithURLRewrite/rewrite_URL_containing_listen_path (0.05s)
=== RUN   TestSkipTargetPassEscapingOff
=== RUN   TestSkipTargetPassEscapingOff/With_escaping,_default
=== RUN   TestSkipTargetPassEscapingOff/Without_escaping
=== RUN   TestSkipTargetPassEscapingOff/With_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_OFF
=== RUN   TestSkipTargetPassEscapingOff/Without_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_OFF
=== RUN   TestSkipTargetPassEscapingOff/With_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_ON
=== RUN   TestSkipTargetPassEscapingOff/Without_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_ON
--- PASS: TestSkipTargetPassEscapingOff (0.44s)
    --- PASS: TestSkipTargetPassEscapingOff/With_escaping,_default (0.06s)
    --- PASS: TestSkipTargetPassEscapingOff/Without_escaping (0.05s)
    --- PASS: TestSkipTargetPassEscapingOff/With_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_OFF (0.05s)
    --- PASS: TestSkipTargetPassEscapingOff/Without_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_OFF (0.05s)
    --- PASS: TestSkipTargetPassEscapingOff/With_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_ON (0.06s)
    --- PASS: TestSkipTargetPassEscapingOff/Without_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_ON (0.05s)
=== RUN   TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue
=== RUN   TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue/With_escaping,_default
=== RUN   TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue/Without_escaping,_default
=== RUN   TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue/With_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_OFF
=== RUN   TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue/Without_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_OFF
=== RUN   TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue/With_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_ON
=== RUN   TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue/Without_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_ON
--- PASS: TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue (0.45s)
    --- PASS: TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue/With_escaping,_default (0.05s)
    --- PASS: TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue/Without_escaping,_default (0.05s)
    --- PASS: TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue/With_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_OFF (0.06s)
    --- PASS: TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue/Without_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_OFF (0.06s)
    --- PASS: TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue/With_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_ON (0.06s)
    --- PASS: TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue/Without_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_ON (0.06s)
=== RUN   TestQuota
--- PASS: TestQuota (0.19s)
=== RUN   TestListener
=== RUN   TestListener/hotReload:_false,_overrideDefaults:_false
=== RUN   TestListener/hotReload:_false,_overrideDefaults:_true
=== RUN   TestListener/hotReload:_true,_overrideDefaults:_true
=== RUN   TestListener/hotReload:_true,_overrideDefaults:_false
--- PASS: TestListener (0.80s)
    --- PASS: TestListener/hotReload:_false,_overrideDefaults:_false (0.14s)
    --- PASS: TestListener/hotReload:_false,_overrideDefaults:_true (0.14s)
    --- PASS: TestListener/hotReload:_true,_overrideDefaults:_true (0.13s)
    --- PASS: TestListener/hotReload:_true,_overrideDefaults:_false (0.13s)
=== RUN   TestControlListener
=== RUN   TestControlListener/hotReload:_false,_overrideDefaults:_false
=== RUN   TestControlListener/hotReload:_false,_overrideDefaults:_true
=== RUN   TestControlListener/hotReload:_true,_overrideDefaults:_true
=== RUN   TestControlListener/hotReload:_true,_overrideDefaults:_false
=== RUN   TestControlListener/hotReload:_false,_overrideDefaults:_false#01
=== RUN   TestControlListener/hotReload:_false,_overrideDefaults:_true#01
=== RUN   TestControlListener/hotReload:_true,_overrideDefaults:_true#01
=== RUN   TestControlListener/hotReload:_true,_overrideDefaults:_false#01
--- PASS: TestControlListener (0.26s)
    --- PASS: TestControlListener/hotReload:_false,_overrideDefaults:_false (0.00s)
    --- PASS: TestControlListener/hotReload:_false,_overrideDefaults:_true (0.00s)
    --- PASS: TestControlListener/hotReload:_true,_overrideDefaults:_true (0.00s)
    --- PASS: TestControlListener/hotReload:_true,_overrideDefaults:_false (0.00s)
    --- PASS: TestControlListener/hotReload:_false,_overrideDefaults:_false#01 (0.00s)
    --- PASS: TestControlListener/hotReload:_false,_overrideDefaults:_true#01 (0.00s)
    --- PASS: TestControlListener/hotReload:_true,_overrideDefaults:_true#01 (0.00s)
    --- PASS: TestControlListener/hotReload:_true,_overrideDefaults:_false#01 (0.00s)
=== RUN   TestHttpPprof
=== RUN   TestHttpPprof/HTTP_Profile_not_active
=== RUN   TestHttpPprof/HTTP_Profile_active
--- PASS: TestHttpPprof (0.36s)
    --- PASS: TestHttpPprof/HTTP_Profile_not_active (0.11s)
    --- PASS: TestHttpPprof/HTTP_Profile_active (0.25s)
=== RUN   TestManagementNodeRedisEvents
=== RUN   TestManagementNodeRedisEvents/Without_signing:
=== RUN   TestManagementNodeRedisEvents/With_signature
--- PASS: TestManagementNodeRedisEvents (0.12s)
    --- PASS: TestManagementNodeRedisEvents/Without_signing: (0.00s)
    --- PASS: TestManagementNodeRedisEvents/With_signature (0.00s)
=== RUN   TestListenPathTykPrefix
--- PASS: TestListenPathTykPrefix (0.16s)
=== RUN   TestReloadGoroutineLeakWithTest
    util.go:32: Skipping flaky test
--- SKIP: TestReloadGoroutineLeakWithTest (0.00s)
=== RUN   TestReloadGoroutineLeakWithCircuitBreaker
--- PASS: TestReloadGoroutineLeakWithCircuitBreaker (0.23s)
=== RUN   TestProxyProtocol
--- PASS: TestProxyProtocol (0.18s)
=== RUN   TestProxyUserAgent
--- PASS: TestProxyUserAgent (0.17s)
=== RUN   TestSkipUrlCleaning
--- PASS: TestSkipUrlCleaning (0.17s)
=== RUN   TestMultiTargetProxy
--- PASS: TestMultiTargetProxy (0.18s)
=== RUN   TestCustomDomain
=== RUN   TestCustomDomain/With_custom_domain_support
=== RUN   TestCustomDomain/Without_custom_domain_support
--- PASS: TestCustomDomain (0.24s)
    --- PASS: TestCustomDomain/With_custom_domain_support (0.06s)
    --- PASS: TestCustomDomain/Without_custom_domain_support (0.07s)
=== RUN   TestGatewayHealthCheck
=== RUN   TestGatewayHealthCheck/control_api_port_==_listen_port
=== RUN   TestGatewayHealthCheck/control_api_port_==_listen_port/Without_APIs
=== RUN   TestGatewayHealthCheck/control_api_port_==_listen_port/With_API
=== RUN   TestGatewayHealthCheck/control_api_port_!=_listen_port
=== RUN   TestGatewayHealthCheck/control_api_port_!=_listen_port/Without_APIs
=== RUN   TestGatewayHealthCheck/control_api_port_!=_listen_port/With_API
--- PASS: TestGatewayHealthCheck (0.33s)
    --- PASS: TestGatewayHealthCheck/control_api_port_==_listen_port (0.16s)
        --- PASS: TestGatewayHealthCheck/control_api_port_==_listen_port/Without_APIs (0.00s)
        --- PASS: TestGatewayHealthCheck/control_api_port_==_listen_port/With_API (0.05s)
    --- PASS: TestGatewayHealthCheck/control_api_port_!=_listen_port (0.16s)
        --- PASS: TestGatewayHealthCheck/control_api_port_!=_listen_port/Without_APIs (0.00s)
        --- PASS: TestGatewayHealthCheck/control_api_port_!=_listen_port/With_API (0.05s)
=== RUN   TestCacheAllSafeRequests
--- PASS: TestCacheAllSafeRequests (0.21s)
=== RUN   TestCacheAllSafeRequestsWithCachedHeaders
--- PASS: TestCacheAllSafeRequestsWithCachedHeaders (0.23s)
=== RUN   TestCacheWithAdvanceUrlRewrite
--- PASS: TestCacheWithAdvanceUrlRewrite (0.19s)
=== RUN   TestCachePostRequest
--- PASS: TestCachePostRequest (0.27s)
=== RUN   TestAdvanceCachePutRequest
--- PASS: TestAdvanceCachePutRequest (0.46s)
=== RUN   TestCacheAllSafeRequestsWithAdvancedCacheEndpoint
--- PASS: TestCacheAllSafeRequestsWithAdvancedCacheEndpoint (0.20s)
=== RUN   TestCacheEtag
--- PASS: TestCacheEtag (0.27s)
=== RUN   TestOldCachePlugin
=== RUN   TestOldCachePlugin/migration
--- PASS: TestOldCachePlugin (0.29s)
    --- PASS: TestOldCachePlugin/migration (0.08s)
=== RUN   TestWebsocketsSeveralOpenClose
--- PASS: TestWebsocketsSeveralOpenClose (0.17s)
=== RUN   TestWebsocketsAndHTTPEndpointMatch
--- PASS: TestWebsocketsAndHTTPEndpointMatch (0.20s)
=== RUN   TestKeepAliveConns
=== RUN   TestKeepAliveConns/Should_use_same_connection
=== RUN   TestKeepAliveConns/Should_use_separate_connection
=== RUN   TestKeepAliveConns/Should_respect_max_conn_time
--- PASS: TestKeepAliveConns (0.28s)
    --- PASS: TestKeepAliveConns/Should_use_same_connection (0.05s)
    --- PASS: TestKeepAliveConns/Should_use_separate_connection (0.05s)
    --- PASS: TestKeepAliveConns/Should_respect_max_conn_time (0.05s)
=== RUN   TestRateLimitForAPIAndRateLimitAndQuotaCheck
    gateway_test.go:1602: [2] Expected status code `200` got `429. {
            "error": "API Rate limit exceeded"
        }`. 
--- FAIL: TestRateLimitForAPIAndRateLimitAndQuotaCheck (0.40s)
FAIL
coverage: 43.3% of statements
FAIL	github.com/TykTechnologies/tyk/gateway	37.233s
FAIL

gofmt

all ok

goimports

apidef/oas/default_test.go rpc/rpc_client.go

gogenerate

all ok

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

github-actions[bot] avatar May 18 '22 08:05 github-actions[bot]

API tests result: success :white_check_mark: Branch used: refs/pull/4053/merge Commit: 0fe77be0f321ef3748c55fe8527c3347b796327b Triggered by: pull_request (@mitjaziv) Execution page

Tyk-ITS avatar May 18 '22 08:05 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
--- 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)
=== RUN   TestDecodeFromDB
=== RUN   TestDecodeFromDB/update_Scopes.JWT_when_JWTScopeClaimName_is_not_empty
time="May 31 08:38:41" 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="May 31 08:38:41" 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="May 31 08:38:41" level=error msg="Couldn't Decode, leaving as it may be legacy..."
time="May 31 08:38:41" level=error msg="Couldn't Decode, leaving as it may be legacy..."
--- PASS: TestAPIDefinition_DecodeFromDB_AuthDeprecation (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: 62.1% of statements
ok  	github.com/TykTechnologies/tyk/apidef	0.094s	coverage: 62.1% 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.137s	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="May 31 08:38:45" level=error msg="Port for service HolidayService2 not found. Skiping processing of the service"
time="May 31 08:38:45" level=error msg="Unsupported transport protocol. Skipping process of the service StockQuoteService"
time="May 31 08:38:45" level=error msg="Port for service StockQuoteService not found. Skiping processing of the service"
--- PASS: TestToAPIDefinition_WSDL (0.03s)
PASS
coverage: 65.7% of statements
ok  	github.com/TykTechnologies/tyk/apidef/importer	0.072s	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   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   TestOAS
=== RUN   TestOAS/empty
--- PASS: TestOAS (0.00s)
    --- PASS: TestOAS/empty (0.00s)
=== RUN   TestOAS_AddServers
=== PAUSE TestOAS_AddServers
=== RUN   TestOAS_UpdateServers
=== PAUSE TestOAS_UpdateServers
=== RUN   TestOAS_GetSecuritySchemes
--- PASS: TestOAS_GetSecuritySchemes (0.01s)
=== 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
=== RUN   TestValidateRequest/ref
=== RUN   TestValidateRequest/value
--- PASS: TestValidateRequest (0.00s)
    --- PASS: TestValidateRequest/ref (0.00s)
    --- PASS: TestValidateRequest/value (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   TestClientCertificates
=== PAUSE TestClientCertificates
=== RUN   TestPinnedPublicKeys
=== PAUSE TestPinnedPublicKeys
=== RUN   TestTagsImport
=== PAUSE TestTagsImport
=== RUN   TestTagsExportServer
=== PAUSE TestTagsExportServer
=== RUN   TestUpstream
--- PASS: TestUpstream (0.00s)
=== RUN   TestServiceDiscovery
--- PASS: TestServiceDiscovery (0.00s)
=== RUN   TestTest
--- PASS: TestTest (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.18s)
=== CONT  TestOAS_BuildDefaultTykExtension
=== CONT  TestClientCertificates
--- PASS: TestClientCertificates (0.00s)
=== RUN   TestOAS_BuildDefaultTykExtension/build_tyk_extension_with_no_supplied_params
=== CONT  Test_loadOASSchema
=== RUN   Test_loadOASSchema/load_OAS
=== PAUSE Test_loadOASSchema/load_OAS
=== CONT  TestValidateOASObject
=== RUN   TestOAS_BuildDefaultTykExtension/build_tyk_extension_with_supplied_params
=== 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   TestValidateOASObject/valid_OAS_object
=== RUN   TestOAS_BuildDefaultTykExtension/error_when_no_supplied_params_and_invalid_URL_in_servers
=== PAUSE TestValidateOASObject/valid_OAS_object
=== RUN   TestOAS_BuildDefaultTykExtension/error_when_no_supplied_params_and_no_servers
=== RUN   TestValidateOASObject/invalid_OAS_object
=== 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   TestOAS_BuildDefaultTykExtension/middlewares/allowList/enable_allowList_for_all_paths_when_operationID_is_configured_in_OAS
=== 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
=== CONT  TestTagsExportServer
=== RUN   TestTagsExportServer/export_segment_tags_if_enabled
=== RUN   TestOAS_BuildDefaultTykExtension/middlewares/allowList/disable_allowList_for_all_paths_when_operationID_is_configured_in_OAS
=== PAUSE TestTagsExportServer/export_segment_tags_if_enabled
=== RUN   TestTagsExportServer/export_segment_tags_if_disabled
=== RUN   TestOAS_BuildDefaultTykExtension/middlewares/allowList/override_allowList_(disable)_configured_in_tyk_extension_-_do_not_toggle_block_list_if_any
=== RUN   TestOAS_BuildDefaultTykExtension/middlewares/allowList/override_allowList_(enable)_configured_in_tyk_extension_-_toggle_enabled_block_list_if_any
=== PAUSE TestTagsExportServer/export_segment_tags_if_disabled
=== RUN   TestOAS_BuildDefaultTykExtension/middlewares/allowList/do_not_configure_allowList_when_parameter_is_not_provided_(nil)
=== RUN   TestTagsExportServer/empty_segment_tags
=== 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
=== PAUSE TestTagsExportServer/empty_segment_tags
=== CONT  Test_findDefaultVersion
=== RUN   TestOAS_BuildDefaultTykExtension/middlewares/validateRequest/enable_validateRequest_for_all_paths_with_application/json_req_body_when_no_configured_operationID_in_OAS
=== RUN   Test_findDefaultVersion/single_version
=== RUN   TestOAS_BuildDefaultTykExtension/middlewares/validateRequest/enable_validateRequest_for_all_paths_with_application/json_req_body_when_operationID_is_configured_in_OAS
=== RUN   Test_findDefaultVersion/multiple_versions
=== 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
--- PASS: Test_findDefaultVersion (0.00s)
    --- PASS: Test_findDefaultVersion/single_version (0.00s)
    --- PASS: Test_findDefaultVersion/multiple_versions (0.00s)
=== CONT  TestTagsImport
=== RUN   TestTagsImport/keep_segment_tags_values_if_disabled
=== PAUSE TestTagsImport/keep_segment_tags_values_if_disabled
=== RUN   TestTagsImport/keep_segment_tags_values_if_enabled
=== RUN   TestOAS_BuildDefaultTykExtension/middlewares/validateRequest/override_validateRequest_configured_in_tyk_extension
=== RUN   TestOAS_BuildDefaultTykExtension/middlewares/validateRequest/do_not_configure_validateRequest_when_parameter_is_not_provided_(nil)
=== RUN   TestOAS_BuildDefaultTykExtension/middlewares/validateRequest/do_not_configure_validateRequest_when_no_paths_have_application/json_req_body
=== PAUSE TestTagsImport/keep_segment_tags_values_if_enabled
=== CONT  TestPinnedPublicKeys
=== 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
--- PASS: TestOAS_BuildDefaultTykExtension (0.01s)
    --- 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.00s)
            --- 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.00s)
            --- 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)
=== CONT  TestListenPath
--- PASS: TestListenPath (0.00s)
=== CONT  TestServer
--- PASS: TestServer (0.00s)
=== CONT  TestOAS_RegexPaths
--- PASS: TestOAS_RegexPaths (0.00s)
=== CONT  TestOAS_PathsAndOperationsRegex
--- PASS: TestOAS_PathsAndOperationsRegex (0.00s)
=== CONT  TestOAS_RegexOperationIDs
--- PASS: TestOAS_RegexOperationIDs (0.00s)
=== CONT  TestOAS_UpdateServers
=== CONT  TestOAS_PathsAndOperations
=== RUN   TestOAS_UpdateServers/empty_servers
=== CONT  TestOAS_AddServers
=== RUN   TestOAS_AddServers/empty_servers
--- PASS: TestPinnedPublicKeys (0.00s)
--- PASS: TestOAS_PathsAndOperations (0.00s)
=== RUN   TestOAS_UpdateServers/non-empty_servers_replace_with_new
=== RUN   TestOAS_AddServers/non-empty_servers
=== RUN   TestOAS_UpdateServers/non-empty_servers_not_replace
=== RUN   TestOAS_AddServers/non-empty_servers_having_same_URL_that_of_apiURL
--- 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  Test_loadOASSchema/load_OAS
=== RUN   TestOAS_AddServers/non-empty_servers_having_same_URL_that_of_apiURL#01
--- 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  TestValidateOASObject/invalid_OAS_object
--- PASS: Test_loadOASSchema (0.00s)
    --- PASS: Test_loadOASSchema/load_OAS (0.19s)
=== CONT  TestValidateOASObject/wrong_typed_OAS_object
=== CONT  TestValidateOASObject/valid_OAS_object
=== CONT  TestTagsExportServer/export_segment_tags_if_enabled
=== CONT  TestTagsExportServer/empty_segment_tags
=== CONT  TestTagsExportServer/export_segment_tags_if_disabled
--- PASS: TestTagsExportServer (0.00s)
    --- PASS: TestTagsExportServer/export_segment_tags_if_enabled (0.00s)
    --- PASS: TestTagsExportServer/empty_segment_tags (0.00s)
    --- PASS: TestTagsExportServer/export_segment_tags_if_disabled (0.00s)
=== CONT  TestTagsImport/keep_segment_tags_values_if_enabled
=== CONT  TestTagsImport/keep_segment_tags_values_if_disabled
--- PASS: TestTagsImport (0.00s)
    --- PASS: TestTagsImport/keep_segment_tags_values_if_enabled (0.00s)
    --- PASS: TestTagsImport/keep_segment_tags_values_if_disabled (0.00s)
--- PASS: TestValidateOASObject (0.00s)
    --- PASS: TestValidateOASObject/invalid_OAS_object (0.24s)
    --- PASS: TestValidateOASObject/wrong_typed_OAS_object (0.05s)
    --- PASS: TestValidateOASObject/valid_OAS_object (0.05s)
PASS
coverage: 91.1% of statements
ok  	github.com/TykTechnologies/tyk/apidef/oas	0.787s	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
    util.go:32: Skipping flaky test
--- SKIP: TestAddCertificate (0.00s)
=== RUN   TestCertificateStorage
=== RUN   TestCertificateStorage/File_certificates
time="2022-05-31T08:38:54Z" 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 (5.25s)
    --- 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 (1.81s)
PASS
coverage: 46.5% of statements
ok  	github.com/TykTechnologies/tyk/certs	7.124s	coverage: 46.5% 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="May 31 08:38:58" level=info msg="Building bundle using 'manifest.json'" prefix=tyk
time="May 31 08:38:58" level=warning msg="Using default bundle path 'bundle.zip'" prefix=tyk
time="May 31 08:38:58" level=warning msg="The bundle will be unsigned" prefix=tyk
time="May 31 08:38:58" level=info msg="Wrote 'bundle.zip' (377 bytes)" prefix=tyk
--- PASS: TestCommands (0.01s)
=== RUN   TestBuild
=== RUN   TestBuild/Bundle_errors
time="May 31 08:38:58" level=info msg="Building bundle using 'manifest.json'" prefix=tyk
time="May 31 08:38:58" level=info msg="Building bundle using 'manifest.json'" prefix=tyk
time="May 31 08:38:58" level=info msg="Building bundle using 'manifest.json'" prefix=tyk
time="May 31 08:38:58" level=info msg="Building bundle using 'manifest.json'" prefix=tyk
time="May 31 08:38:58" level=info msg="Building bundle using 'manifest.json'" prefix=tyk
=== RUN   TestBuild/Simple_bundle_build
time="May 31 08:38:58" level=info msg="Building bundle using 'manifest.json'" prefix=tyk
time="May 31 08:38:58" level=warning msg="Using default bundle path 'bundle.zip'" prefix=tyk
time="May 31 08:38:58" level=warning msg="The bundle will be unsigned" prefix=tyk
time="May 31 08:38:58" level=info msg="Wrote 'bundle.zip' (506 bytes)" prefix=tyk
--- PASS: TestBuild (0.01s)
    --- PASS: TestBuild/Bundle_errors (0.00s)
    --- PASS: TestBuild/Simple_bundle_build (0.01s)
PASS
coverage: 70.7% of statements
ok  	github.com/TykTechnologies/tyk/cli/bundler	0.062s	coverage: 70.7% 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.338s	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="May 31 08:39:02" level=warning msg="No config file found, writing default to /tmp/tyk906791120/tyk1.conf"
time="May 31 08:39:02" 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="May 31 08:39:02" 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.00s)
    --- PASS: TestLoad_tracing/Env_only (0.01s)
        --- PASS: TestLoad_tracing/Env_only/testdata/env.jaeger.json (0.01s)
        --- PASS: TestLoad_tracing/Env_only/testdata/env.zipkin.json (0.00s)
=== RUN   TestLoadZipkin
=== RUN   TestLoadZipkin/loads_env_vars
--- PASS: TestLoadZipkin (0.00s)
    --- 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: 69.6% of statements
ok  	github.com/TykTechnologies/tyk/config	0.196s	coverage: 69.6% 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="May 31 08:39:07" level=info msg="starting test"
time="May 31 08:39:07" level=info msg="gRPC dispatcher was initialized" prefix=coprocess
=== 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
--- PASS: 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)
=== RUN   TestGRPCIgnore
--- PASS: TestGRPCIgnore (0.37s)
PASS
coverage: [no statements]
ok  	github.com/TykTechnologies/tyk/coprocess/grpc	1.140s	coverage: [no statements]
go test -race -count=1 -failfast -v -timeout 15m -coverprofile=python.cov github.com/TykTechnologies/tyk/coprocess/python
=== RUN   TestValueExtractorHeaderSource
    util.go:32: Skipping flaky test
--- SKIP: TestValueExtractorHeaderSource (0.00s)
=== RUN   TestPythonBundles
time="May 31 08:39:12" level=info msg="starting test"
=== RUN   TestPythonBundles/Single-file_bundle_with_authentication_hook
=== RUN   TestPythonBundles/Auth_with_policy
=== RUN   TestPythonBundles/Single-file_bundle_with_post_hook
=== RUN   TestPythonBundles/Single-file_bundle_with_response_hook
=== RUN   TestPythonBundles/Single-file_bundle_with_pre_hook_and_UTF-8/non-UTF-8_request_data
=== RUN   TestPythonBundles/python_post_hook_with_url_rewrite_and_method_transform
--- PASS: TestPythonBundles (8.10s)
    --- PASS: TestPythonBundles/Single-file_bundle_with_authentication_hook (2.36s)
    --- PASS: TestPythonBundles/Auth_with_policy (1.11s)
    --- PASS: TestPythonBundles/Single-file_bundle_with_post_hook (1.13s)
    --- PASS: TestPythonBundles/Single-file_bundle_with_response_hook (1.12s)
    --- PASS: TestPythonBundles/Single-file_bundle_with_pre_hook_and_UTF-8/non-UTF-8_request_data (1.12s)
    --- PASS: TestPythonBundles/python_post_hook_with_url_rewrite_and_method_transform (1.13s)
PASS
coverage: [no statements]
ok  	github.com/TykTechnologies/tyk/coprocess/python	8.446s	coverage: [no statements]
go test -race -count=1 -failfast -v -timeout 15m -coverprofile=ctx.cov github.com/TykTechnologies/tyk/ctx
?   	github.com/TykTechnologies/tyk/ctx	[no test files]
go test -race -count=1 -failfast -v -timeout 15m -coverprofile=dlpython.cov github.com/TykTechnologies/tyk/dlpython
Using Python 3.5 for tests
=== RUN   TestFindPythonConfig
    main_test.go:20: Library path is 
    main_test.go:25: Library path is /opt/hostedtoolcache/Python/3.5.10/x64/lib/libpython3.5m.so
--- PASS: TestFindPythonConfig (0.24s)
=== RUN   TestInit
    main_test.go:33: Library path is /opt/hostedtoolcache/Python/3.5.10/x64/lib/libpython3.5m.so
--- PASS: TestInit (0.15s)
PASS
coverage: 54.7% of statements
ok  	github.com/TykTechnologies/tyk/dlpython	0.417s	coverage: 54.7% of statements
go test -race -count=1 -failfast -v -timeout 15m -coverprofile=dnscache.cov github.com/TykTechnologies/tyk/dnscache
=== RUN   TestWrapDialerDialContextFunc
=== RUN   TestWrapDialerDialContextFunc/PickFirstStrategy(1_ip):_Should_parse_address,_call_storage.FetchItem,_cache_ip,_call_storage.Delete_on_DialContext_error
=== RUN   TestWrapDialerDialContextFunc/PickFirstStrategy(>1_ip):_Should_parse_address,_call_storage.FetchItem,_cache_all_ips,_call_storage.Delete_on_DialContext_error
=== RUN   TestWrapDialerDialContextFunc/NoCacheStrategy(1_ip):_Should_parse_address,_call_storage.FetchItem,_cache_ip,_call_storage.Delete_on_DialContext_error
=== RUN   TestWrapDialerDialContextFunc/NoCacheStrategy(>1_ip):_Should_parse_address,_call_storage.FetchItem,_remove_ips_caching
=== RUN   TestWrapDialerDialContextFunc/RandomStrategy(>1_ip):_Should_parse_address,_call_storage.FetchItem,_cache_all_ips,_connect_to_random_ip,_call_storage.Delete_on_DialContext_error
=== RUN   TestWrapDialerDialContextFunc/Shouldn't_call_FetchItem_when_caching_is_disabled(storage_==_nil)
=== RUN   TestWrapDialerDialContextFunc/Shouldn't_cache_ipv4_address
=== RUN   TestWrapDialerDialContextFunc/Should_faifast_on_address_without_port(accept_only_address_with_port)
--- PASS: TestWrapDialerDialContextFunc (0.00s)
    --- PASS: TestWrapDialerDialContextFunc/PickFirstStrategy(1_ip):_Should_parse_address,_call_storage.FetchItem,_cache_ip,_call_storage.Delete_on_DialContext_error (0.00s)
    --- PASS: TestWrapDialerDialContextFunc/PickFirstStrategy(>1_ip):_Should_parse_address,_call_storage.FetchItem,_cache_all_ips,_call_storage.Delete_on_DialContext_error (0.00s)
    --- PASS: TestWrapDialerDialContextFunc/NoCacheStrategy(1_ip):_Should_parse_address,_call_storage.FetchItem,_cache_ip,_call_storage.Delete_on_DialContext_error (0.00s)
    --- PASS: TestWrapDialerDialContextFunc/NoCacheStrategy(>1_ip):_Should_parse_address,_call_storage.FetchItem,_remove_ips_caching (0.00s)
    --- PASS: TestWrapDialerDialContextFunc/RandomStrategy(>1_ip):_Should_parse_address,_call_storage.FetchItem,_cache_all_ips,_connect_to_random_ip,_call_storage.Delete_on_DialContext_error (0.00s)
    --- PASS: TestWrapDialerDialContextFunc/Shouldn't_call_FetchItem_when_caching_is_disabled(storage_==_nil) (0.00s)
    --- PASS: TestWrapDialerDialContextFunc/Shouldn't_cache_ipv4_address (0.00s)
    --- PASS: TestWrapDialerDialContextFunc/Should_faifast_on_address_without_port(accept_only_address_with_port) (0.00s)
=== RUN   TestStorageFetchItem
=== RUN   TestStorageFetchItem/Should_cache_first_dns_record_first_fetch
=== RUN   TestStorageFetchItem/Should_cache_second_dns_record_first_fetch
=== RUN   TestStorageFetchItem/Should_populate_from_cache_first_dns_record_second_fetch
=== RUN   TestStorageFetchItem/Should_populate_from_cache_first_dns_record_third_fetch
=== RUN   TestStorageFetchItem/Should_populate_from_cache_second_dns_record_second_fetch
=== RUN   TestStorageFetchItem/Shouldn't_cache_dns_record_fetch_in_case_error
--- PASS: TestStorageFetchItem (0.01s)
    --- PASS: TestStorageFetchItem/Should_cache_first_dns_record_first_fetch (0.00s)
    --- PASS: TestStorageFetchItem/Should_cache_second_dns_record_first_fetch (0.00s)
    --- PASS: TestStorageFetchItem/Should_populate_from_cache_first_dns_record_second_fetch (0.00s)
    --- PASS: TestStorageFetchItem/Should_populate_from_cache_first_dns_record_third_fetch (0.00s)
    --- PASS: TestStorageFetchItem/Should_populate_from_cache_second_dns_record_second_fetch (0.00s)
    --- PASS: TestStorageFetchItem/Shouldn't_cache_dns_record_fetch_in_case_error (0.00s)
=== RUN   TestStorageRecordExpiration
=== RUN   TestStorageRecordExpiration/Shouldn't_remove_dns_record_when_ttl/expiration_<_1
=== RUN   TestStorageRecordExpiration/Should_remove_single_dns_record_after_expiration
=== RUN   TestStorageRecordExpiration/Should_leave_as_expired_dns_records_if_check_interval=-1
=== RUN   TestStorageRecordExpiration/Should_remove_all(>1)_dns_records_after_expiration
=== RUN   TestStorageRecordExpiration/Should_remove_only_expired_record_after_expiration
=== RUN   TestStorageRecordExpiration/Should_remove_only_expired_records_after_expiration
--- PASS: TestStorageRecordExpiration (11.65s)
    --- PASS: TestStorageRecordExpiration/Shouldn't_remove_dns_record_when_ttl/expiration_<_1 (1.51s)
    --- PASS: TestStorageRecordExpiration/Should_remove_single_dns_record_after_expiration (2.01s)
    --- PASS: TestStorageRecordExpiration/Should_leave_as_expired_dns_records_if_check_interval=-1 (1.51s)
    --- PASS: TestStorageRecordExpiration/Should_remove_all(>1)_dns_records_after_expiration (2.01s)
    --- PASS: TestStorageRecordExpiration/Should_remove_only_expired_record_after_expiration (2.10s)
    --- PASS: TestStorageRecordExpiration/Should_remove_only_expired_records_after_expiration (2.50s)
PASS
coverage: 82.5% of statements
ok  	github.com/TykTechnologies/tyk/dnscache	11.718s	coverage: 82.5% of statements
go test -race -count=1 -failfast -v -timeout 15m -coverprofile=gateway.cov github.com/TykTechnologies/tyk/gateway
=== RUN   TestAnalytics_Write
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_msgpack
time="May 31 08:39:58" level=info msg="starting test"
time="May 31 08:39:58" level=info msg="Rich plugins are disabled" prefix=coprocess
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Log_errors
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Log_success
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Detailed_analytics_with_api_spec_config_enabled
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Detailed_analytics_with_only_key_flag_set
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Detailed_analytics
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Detailed_analytics_with_latency
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Detailed_analytics_with_cache
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_protobuf
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Log_errors
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Log_success
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Detailed_analytics_with_api_spec_config_enabled
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Detailed_analytics_with_only_key_flag_set
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Detailed_analytics
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Detailed_analytics_with_latency
=== RUN   TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Detailed_analytics_with_cache
--- PASS: TestAnalytics_Write (1.48s)
    --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_msgpack (0.77s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Log_errors (0.05s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Log_success (0.03s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Detailed_analytics_with_api_spec_config_enabled (0.10s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Detailed_analytics_with_only_key_flag_set (0.09s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Detailed_analytics (0.10s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Detailed_analytics_with_latency (0.09s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_msgpack/Detailed_analytics_with_cache (0.11s)
    --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_protobuf (0.70s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Log_errors (0.05s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Log_success (0.03s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Detailed_analytics_with_api_spec_config_enabled (0.09s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Detailed_analytics_with_only_key_flag_set (0.08s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Detailed_analytics (0.08s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Detailed_analytics_with_latency (0.09s)
        --- PASS: TestAnalytics_Write/Testing_analytics_flows_with_protobuf/Detailed_analytics_with_cache (0.11s)
=== RUN   TestGeoIPLookup
--- PASS: TestGeoIPLookup (0.15s)
=== RUN   TestURLReplacer
--- PASS: TestURLReplacer (0.12s)
=== RUN   TestTagHeaders
--- PASS: TestTagHeaders (0.00s)
=== RUN   TestURLRewrites
=== RUN   TestURLRewrites/Extended_Paths_with_url_rewrites
--- PASS: TestURLRewrites (0.21s)
    --- PASS: TestURLRewrites/Extended_Paths_with_url_rewrites (0.06s)
=== RUN   TestWhitelist
=== RUN   TestWhitelist/Extended_Paths
=== RUN   TestWhitelist/Simple_Paths
=== RUN   TestWhitelist/Test_#1944
=== RUN   TestWhitelist/Case_Sensitivity
=== RUN   TestWhitelist/Listen_path_matches
=== RUN   TestWhitelist/Disabled
--- PASS: TestWhitelist (0.54s)
    --- PASS: TestWhitelist/Extended_Paths (0.06s)
    --- PASS: TestWhitelist/Simple_Paths (0.07s)
    --- PASS: TestWhitelist/Test_#1944 (0.09s)
    --- PASS: TestWhitelist/Case_Sensitivity (0.06s)
    --- PASS: TestWhitelist/Listen_path_matches (0.07s)
    --- PASS: TestWhitelist/Disabled (0.06s)
=== RUN   TestBlacklist
=== RUN   TestBlacklist/Extended_Paths
=== RUN   TestBlacklist/Simple_Paths
=== RUN   TestBlacklist/Case_Sensitivity
=== RUN   TestBlacklist/Listen_path_matches
=== RUN   TestBlacklist/Disabled
--- PASS: TestBlacklist (0.46s)
    --- PASS: TestBlacklist/Extended_Paths (0.07s)
    --- PASS: TestBlacklist/Simple_Paths (0.07s)
    --- PASS: TestBlacklist/Case_Sensitivity (0.06s)
    --- PASS: TestBlacklist/Listen_path_matches (0.08s)
    --- PASS: TestBlacklist/Disabled (0.06s)
=== RUN   TestConflictingPaths
--- PASS: TestConflictingPaths (0.19s)
=== RUN   TestIgnored
=== RUN   TestIgnored/Extended_Paths
=== RUN   TestIgnored/Simple_Paths
=== RUN   TestIgnored/With_URL_rewrite
=== RUN   TestIgnored/Case_Sensitivity
=== RUN   TestIgnored/Case_Sensitivity/ignore-case_globally
=== RUN   TestIgnored/Case_Sensitivity/ignore-case_in_api_level
=== RUN   TestIgnored/Disabled
--- PASS: TestIgnored (0.65s)
    --- PASS: TestIgnored/Extended_Paths (0.07s)
    --- PASS: TestIgnored/Simple_Paths (0.07s)
    --- PASS: TestIgnored/With_URL_rewrite (0.06s)
    --- PASS: TestIgnored/Case_Sensitivity (0.27s)
        --- PASS: TestIgnored/Case_Sensitivity/ignore-case_globally (0.07s)
        --- PASS: TestIgnored/Case_Sensitivity/ignore-case_in_api_level (0.07s)
    --- PASS: TestIgnored/Disabled (0.06s)
=== RUN   TestOldMockResponse
    util.go:32: Skipping Racy test
--- SKIP: TestOldMockResponse (0.00s)
=== RUN   TestNewMockResponse
=== RUN   TestNewMockResponse/protected
=== RUN   TestNewMockResponse/keyless
redis: 2022/05/31 08:40:02 pubsub.go:159: redis: discarding bad PubSub connection: read tcp [::1]:46456->[::1]:6379: use of closed network connection
--- PASS: TestNewMockResponse (0.25s)
    --- PASS: TestNewMockResponse/protected (0.00s)
    --- PASS: TestNewMockResponse/keyless (0.07s)
=== RUN   TestWhitelistMethodWithAdditionalMiddleware
=== RUN   TestWhitelistMethodWithAdditionalMiddleware/Extended_Paths
--- PASS: TestWhitelistMethodWithAdditionalMiddleware (0.21s)
    --- PASS: TestWhitelistMethodWithAdditionalMiddleware/Extended_Paths (0.06s)
=== RUN   TestSyncAPISpecsDashboardSuccess
--- PASS: TestSyncAPISpecsDashboardSuccess (0.18s)
=== RUN   TestRoundRobin
--- PASS: TestRoundRobin (0.00s)
=== RUN   TestDefaultVersion
--- PASS: TestDefaultVersion (0.19s)
=== RUN   TestGetVersionFromRequest
=== RUN   TestGetVersionFromRequest/Header_location
=== RUN   TestGetVersionFromRequest/Header_location/strip_versioning_data
=== RUN   TestGetVersionFromRequest/URL_param_location
=== RUN   TestGetVersionFromRequest/URL_param_location/strip_versioning_data
redis: 2022/05/31 08:40:03 pubsub.go:159: redis: discarding bad PubSub connection: read tcp [::1]:46500->[::1]:6379: use of closed network connection
=== RUN   TestGetVersionFromRequest/URL_location
=== RUN   TestGetVersionFromRequest/URL_location/strip_versioning_data
--- PASS: TestGetVersionFromRequest (0.73s)
    --- PASS: TestGetVersionFromRequest/Header_location (0.24s)
        --- PASS: TestGetVersionFromRequest/Header_location/strip_versioning_data (0.06s)
    --- PASS: TestGetVersionFromRequest/URL_param_location (0.24s)
        --- PASS: TestGetVersionFromRequest/URL_param_location/strip_versioning_data (0.06s)
    --- PASS: TestGetVersionFromRequest/URL_location (0.25s)
        --- PASS: TestGetVersionFromRequest/URL_location/strip_versioning_data (0.06s)
=== RUN   TestSyncAPISpecsDashboardJSONFailure
--- PASS: TestSyncAPISpecsDashboardJSONFailure (0.22s)
=== RUN   TestAPIDefinitionLoader_Template
=== RUN   TestAPIDefinitionLoader_Template/loadFileTemplate
=== RUN   TestAPIDefinitionLoader_Template/loadBlobTemplate
--- PASS: TestAPIDefinitionLoader_Template (0.12s)
    --- PASS: TestAPIDefinitionLoader_Template/loadFileTemplate (0.00s)
    --- PASS: TestAPIDefinitionLoader_Template/loadBlobTemplate (0.00s)
=== RUN   TestAPIExpiration
=== RUN   TestAPIExpiration/versioning=false
=== RUN   TestAPIExpiration/versioning=false/not_expired
=== RUN   TestAPIExpiration/versioning=false/expired
=== RUN   TestAPIExpiration/versioning=true
=== RUN   TestAPIExpiration/versioning=true/not_expired
=== RUN   TestAPIExpiration/versioning=true/expired
--- PASS: TestAPIExpiration (0.36s)
    --- PASS: TestAPIExpiration/versioning=false (0.11s)
        --- PASS: TestAPIExpiration/versioning=false/not_expired (0.06s)
        --- PASS: TestAPIExpiration/versioning=false/expired (0.06s)
    --- PASS: TestAPIExpiration/versioning=true (0.12s)
        --- PASS: TestAPIExpiration/versioning=true/not_expired (0.06s)
        --- PASS: TestAPIExpiration/versioning=true/expired (0.06s)
=== RUN   TestStripListenPath
--- PASS: TestStripListenPath (0.00s)
=== RUN   TestAPISpec_SanitizeProxyPaths
=== RUN   TestAPISpec_SanitizeProxyPaths/strip=false
=== RUN   TestAPISpec_SanitizeProxyPaths/strip=true
--- PASS: TestAPISpec_SanitizeProxyPaths (0.00s)
    --- PASS: TestAPISpec_SanitizeProxyPaths/strip=false (0.00s)
    --- PASS: TestAPISpec_SanitizeProxyPaths/strip=true (0.00s)
=== RUN   TestEnforcedTimeout
    util.go:32: Skipping flaky test
--- SKIP: TestEnforcedTimeout (0.00s)
=== RUN   TestOpenTracing
=== RUN   TestOpenTracing/ensure_the_manager_is_enabled
=== RUN   TestOpenTracing/ensure_services_are_initialized
--- PASS: TestOpenTracing (0.18s)
    --- PASS: TestOpenTracing/ensure_the_manager_is_enabled (0.00s)
    --- PASS: TestOpenTracing/ensure_services_are_initialized (0.06s)
=== RUN   TestInternalAPIUsage
=== RUN   TestInternalAPIUsage/with_name
=== RUN   TestInternalAPIUsage/with_api_id
--- PASS: TestInternalAPIUsage (0.26s)
    --- PASS: TestInternalAPIUsage/with_name (0.01s)
    --- PASS: TestInternalAPIUsage/with_api_id (0.07s)
=== RUN   TestFuzzyFindAPI
=== RUN   TestFuzzyFindAPI/ignore_case
=== RUN   TestFuzzyFindAPI/ignore_categories
=== RUN   TestFuzzyFindAPI/replace_underscores
=== RUN   TestFuzzyFindAPI/replace_@
=== RUN   TestFuzzyFindAPI/supply_hex
=== RUN   TestFuzzyFindAPI/supply_APIID
=== RUN   TestFuzzyFindAPI/empty_search_string
--- PASS: TestFuzzyFindAPI (0.22s)
    --- PASS: TestFuzzyFindAPI/ignore_case (0.00s)
    --- PASS: TestFuzzyFindAPI/ignore_categories (0.00s)
    --- PASS: TestFuzzyFindAPI/replace_underscores (0.00s)
    --- PASS: TestFuzzyFindAPI/replace_@ (0.00s)
    --- PASS: TestFuzzyFindAPI/supply_hex (0.00s)
    --- PASS: TestFuzzyFindAPI/supply_APIID (0.00s)
    --- PASS: TestFuzzyFindAPI/empty_search_string (0.00s)
=== RUN   TestAPILoopingName
=== RUN   TestAPILoopingName/api_#a_#b_#c
=== RUN   TestAPILoopingName/__api_#a_#b_#c
=== RUN   TestAPILoopingName/@api_#a_#b_#c
=== RUN   TestAPILoopingName/api
=== RUN   TestAPILoopingName/__api__
=== RUN   TestAPILoopingName/@___api_-__name_@__
=== RUN   TestAPILoopingName/@___api_-__name_@___#a_#b
--- PASS: TestAPILoopingName (0.00s)
    --- PASS: TestAPILoopingName/api_#a_#b_#c (0.00s)
    --- PASS: TestAPILoopingName/__api_#a_#b_#c (0.00s)
    --- PASS: TestAPILoopingName/@api_#a_#b_#c (0.00s)
    --- PASS: TestAPILoopingName/api (0.00s)
    --- PASS: TestAPILoopingName/__api__ (0.00s)
    --- PASS: TestAPILoopingName/@___api_-__name_@__ (0.00s)
    --- PASS: TestAPILoopingName/@___api_-__name_@___#a_#b (0.00s)
=== RUN   TestGraphQLPlayground
=== RUN   TestGraphQLPlayground/on-premise
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_empty
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_empty/playground_html_is_loaded
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_empty/playground.js_is_loaded
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_empty/should_get_error_on_post_request_to_playground_path
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/'
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/'/playground_html_is_loaded
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/'/playground.js_is_loaded
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/'/should_get_error_on_post_request_to_playground_path
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/playground'
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/playground'/playground_html_is_loaded
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/playground'/playground.js_is_loaded
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/playground'/should_get_error_on_post_request_to_playground_path
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/ppp'
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/ppp'/playground_html_is_loaded
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/ppp'/playground.js_is_loaded
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/ppp'/should_get_error_on_post_request_to_playground_path
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/zzz/'
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/zzz/'/playground_html_is_loaded
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/zzz/'/playground.js_is_loaded
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'/zzz/'/should_get_error_on_post_request_to_playground_path
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'aaa'
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'aaa'/playground_html_is_loaded
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'aaa'/playground.js_is_loaded
=== RUN   TestGraphQLPlayground/on-premise/playground_path_is_'aaa'/should_get_error_on_post_request_to_playground_path
=== RUN   TestGraphQLPlayground/cloud
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_empty
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_empty/playground_html_is_loaded
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_empty/playground.js_is_loaded
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_empty/should_get_error_on_post_request_to_playground_path
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/'
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/'/playground_html_is_loaded
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/'/playground.js_is_loaded
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/'/should_get_error_on_post_request_to_playground_path
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/playground'
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/playground'/playground_html_is_loaded
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/playground'/playground.js_is_loaded
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/playground'/should_get_error_on_post_request_to_playground_path
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/ppp'
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/ppp'/playground_html_is_loaded
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/ppp'/playground.js_is_loaded
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/ppp'/should_get_error_on_post_request_to_playground_path
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/zzz/'
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/zzz/'/playground_html_is_loaded
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/zzz/'/playground.js_is_loaded
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'/zzz/'/should_get_error_on_post_request_to_playground_path
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'aaa'
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'aaa'/playground_html_is_loaded
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'aaa'/playground.js_is_loaded
=== RUN   TestGraphQLPlayground/cloud/playground_path_is_'aaa'/should_get_error_on_post_request_to_playground_path
--- PASS: TestGraphQLPlayground (2.92s)
    --- PASS: TestGraphQLPlayground/on-premise (1.39s)
        --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_empty (0.24s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_empty/playground_html_is_loaded (0.00s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_empty/playground.js_is_loaded (0.16s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_empty/should_get_error_on_post_request_to_playground_path (0.00s)
        --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/' (0.23s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/'/playground_html_is_loaded (0.00s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/'/playground.js_is_loaded (0.15s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/'/should_get_error_on_post_request_to_playground_path (0.00s)
        --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/playground' (0.23s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/playground'/playground_html_is_loaded (0.01s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/playground'/playground.js_is_loaded (0.15s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/playground'/should_get_error_on_post_request_to_playground_path (0.00s)
        --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/ppp' (0.23s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/ppp'/playground_html_is_loaded (0.00s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/ppp'/playground.js_is_loaded (0.15s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/ppp'/should_get_error_on_post_request_to_playground_path (0.00s)
        --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/zzz/' (0.23s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/zzz/'/playground_html_is_loaded (0.00s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/zzz/'/playground.js_is_loaded (0.15s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'/zzz/'/should_get_error_on_post_request_to_playground_path (0.00s)
        --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'aaa' (0.23s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'aaa'/playground_html_is_loaded (0.00s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'aaa'/playground.js_is_loaded (0.15s)
            --- PASS: TestGraphQLPlayground/on-premise/playground_path_is_'aaa'/should_get_error_on_post_request_to_playground_path (0.00s)
    --- PASS: TestGraphQLPlayground/cloud (1.40s)
        --- PASS: TestGraphQLPlayground/cloud/playground_path_is_empty (0.24s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_empty/playground_html_is_loaded (0.00s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_empty/playground.js_is_loaded (0.16s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_empty/should_get_error_on_post_request_to_playground_path (0.00s)
        --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/' (0.23s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/'/playground_html_is_loaded (0.00s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/'/playground.js_is_loaded (0.15s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/'/should_get_error_on_post_request_to_playground_path (0.00s)
        --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/playground' (0.24s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/playground'/playground_html_is_loaded (0.00s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/playground'/playground.js_is_loaded (0.16s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/playground'/should_get_error_on_post_request_to_playground_path (0.00s)
        --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/ppp' (0.24s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/ppp'/playground_html_is_loaded (0.00s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/ppp'/playground.js_is_loaded (0.16s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/ppp'/should_get_error_on_post_request_to_playground_path (0.00s)
        --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/zzz/' (0.23s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/zzz/'/playground_html_is_loaded (0.00s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/zzz/'/playground.js_is_loaded (0.15s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'/zzz/'/should_get_error_on_post_request_to_playground_path (0.00s)
        --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'aaa' (0.23s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'aaa'/playground_html_is_loaded (0.00s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'aaa'/playground.js_is_loaded (0.15s)
            --- PASS: TestGraphQLPlayground/cloud/playground_path_is_'aaa'/should_get_error_on_post_request_to_playground_path (0.00s)
=== RUN   TestCORS
=== RUN   TestCORS/CORS_disabled
=== RUN   TestCORS/CORS_enabled
=== RUN   TestCORS/oauth_endpoints
=== RUN   TestCORS/oauth_endpoints/CORS_disabled
=== RUN   TestCORS/oauth_endpoints/CORS_enabled
--- PASS: TestCORS (0.40s)
    --- PASS: TestCORS/CORS_disabled (0.00s)
    --- PASS: TestCORS/CORS_enabled (0.06s)
    --- PASS: TestCORS/oauth_endpoints (0.13s)
        --- PASS: TestCORS/oauth_endpoints/CORS_disabled (0.00s)
        --- PASS: TestCORS/oauth_endpoints/CORS_enabled (0.07s)
=== RUN   TestTykRateLimitsStatusOfAPI
--- PASS: TestTykRateLimitsStatusOfAPI (0.20s)
=== RUN   TestPolicyAPI
--- PASS: TestPolicyAPI (0.32s)
=== RUN   TestHealthCheckEndpoint
--- PASS: TestHealthCheckEndpoint (0.19s)
=== RUN   TestApiHandlerPostDupPath
=== RUN   TestApiHandlerPostDupPath/Sequentieal_order
=== RUN   TestApiHandlerPostDupPath/Should_re-order
=== RUN   TestApiHandlerPostDupPath/Restore_original_order
--- PASS: TestApiHandlerPostDupPath (0.38s)
    --- PASS: TestApiHandlerPostDupPath/Sequentieal_order (0.13s)
    --- PASS: TestApiHandlerPostDupPath/Should_re-order (0.06s)
    --- PASS: TestApiHandlerPostDupPath/Restore_original_order (0.07s)
=== RUN   TestKeyHandler
=== RUN   TestKeyHandler/Create_key
=== RUN   TestKeyHandler/Create_key_with_policy
=== RUN   TestKeyHandler/Get_key
=== RUN   TestKeyHandler/List_keys
=== RUN   TestKeyHandler/List_keys/filter=""
=== RUN   TestKeyHandler/List_keys/filter=orgID
=== RUN   TestKeyHandler/Update_key
=== RUN   TestKeyHandler/Delete_key
--- PASS: TestKeyHandler (0.27s)
    --- PASS: TestKeyHandler/Create_key (0.01s)
    --- PASS: TestKeyHandler/Create_key_with_policy (0.03s)
    --- PASS: TestKeyHandler/Get_key (0.01s)
    --- PASS: TestKeyHandler/List_keys (0.02s)
        --- PASS: TestKeyHandler/List_keys/filter="" (0.00s)
        --- PASS: TestKeyHandler/List_keys/filter=orgID (0.00s)
    --- PASS: TestKeyHandler/Update_key (0.01s)
    --- PASS: TestKeyHandler/Delete_key (0.01s)
=== RUN   TestKeyHandler_UpdateKey
=== RUN   TestKeyHandler_UpdateKey/Add_policy_not_enforcing_acl
=== RUN   TestKeyHandler_UpdateKey/Remove_policy_not_enforcing_acl
=== RUN   TestKeyHandler_UpdateKey/Tags_on_key_level
=== RUN   TestKeyHandler_UpdateKey/Tags_on_key_level/Add
=== RUN   TestKeyHandler_UpdateKey/Tags_on_key_level/Make_unique
=== RUN   TestKeyHandler_UpdateKey/Tags_on_key_level/Remove
=== RUN   TestKeyHandler_UpdateKey/MetaData_on_key_level
=== RUN   TestKeyHandler_UpdateKey/MetaData_on_key_level/Add
=== RUN   TestKeyHandler_UpdateKey/MetaData_on_key_level/Make_unique
=== RUN   TestKeyHandler_UpdateKey/MetaData_on_key_level/Remove
--- PASS: TestKeyHandler_UpdateKey (0.24s)
    --- PASS: TestKeyHandler_UpdateKey/Add_policy_not_enforcing_acl (0.01s)
    --- PASS: TestKeyHandler_UpdateKey/Remove_policy_not_enforcing_acl (0.01s)
    --- PASS: TestKeyHandler_UpdateKey/Tags_on_key_level (0.02s)
        --- PASS: TestKeyHandler_UpdateKey/Tags_on_key_level/Add (0.01s)
        --- PASS: TestKeyHandler_UpdateKey/Tags_on_key_level/Make_unique (0.01s)
        --- PASS: TestKeyHandler_UpdateKey/Tags_on_key_level/Remove (0.01s)
    --- PASS: TestKeyHandler_UpdateKey/MetaData_on_key_level (0.02s)
        --- PASS: TestKeyHandler_UpdateKey/MetaData_on_key_level/Add (0.01s)
        --- PASS: TestKeyHandler_UpdateKey/MetaData_on_key_level/Make_unique (0.01s)
        --- PASS: TestKeyHandler_UpdateKey/MetaData_on_key_level/Remove (0.01s)
=== RUN   TestUpdateKeyWithCert
=== RUN   TestUpdateKeyWithCert/Update_key_with_valid_cert
=== RUN   TestUpdateKeyWithCert/Update_key_with_empty_cert
=== RUN   TestUpdateKeyWithCert/Update_key_with_invalid_cert
--- PASS: TestUpdateKeyWithCert (0.69s)
    --- PASS: TestUpdateKeyWithCert/Update_key_with_valid_cert (0.18s)
    --- PASS: TestUpdateKeyWithCert/Update_key_with_empty_cert (0.17s)
    --- PASS: TestUpdateKeyWithCert/Update_key_with_invalid_cert (0.16s)
=== RUN   TestKeyHandler_CheckKeysNotDuplicateOnUpdate
=== RUN   TestKeyHandler_CheckKeysNotDuplicateOnUpdate/short,custom,notHashed
=== RUN   TestKeyHandler_CheckKeysNotDuplicateOnUpdate/short,custom,hashed
=== RUN   TestKeyHandler_CheckKeysNotDuplicateOnUpdate/long,custom,notHashed
=== RUN   TestKeyHandler_CheckKeysNotDuplicateOnUpdate/long,custom,hashed
=== RUN   TestKeyHandler_CheckKeysNotDuplicateOnUpdate/regular,notHashed
=== RUN   TestKeyHandler_CheckKeysNotDuplicateOnUpdate/regular,hashed
--- PASS: TestKeyHandler_CheckKeysNotDuplicateOnUpdate (0.22s)
    --- PASS: TestKeyHandler_CheckKeysNotDuplicateOnUpdate/short,custom,notHashed (0.01s)
    --- PASS: TestKeyHandler_CheckKeysNotDuplicateOnUpdate/short,custom,hashed (0.01s)
    --- PASS: TestKeyHandler_CheckKeysNotDuplicateOnUpdate/long,custom,notHashed (0.01s)
    --- PASS: TestKeyHandler_CheckKeysNotDuplicateOnUpdate/long,custom,hashed (0.01s)
    --- PASS: TestKeyHandler_CheckKeysNotDuplicateOnUpdate/regular,notHashed (0.01s)
    --- PASS: TestKeyHandler_CheckKeysNotDuplicateOnUpdate/regular,hashed (0.01s)
=== RUN   TestHashKeyHandler
    util.go:32: Skipping Racy test
--- SKIP: TestHashKeyHandler (0.00s)
=== RUN   TestHashKeyHandlerLegacyWithHashFunc
    util.go:32: Skipping Racy test
--- SKIP: TestHashKeyHandlerLegacyWithHashFunc (0.00s)
=== RUN   TestHashKeyListingDisabled
=== RUN   TestHashKeyListingDisabled/Create,_get_and_delete_key_with_key_hashing
--- PASS: TestHashKeyListingDisabled (0.26s)
    --- PASS: TestHashKeyListingDisabled/Create,_get_and_delete_key_with_key_hashing (0.03s)
=== RUN   TestKeyHandler_HashingDisabled
    util.go:32: Skipping Racy test
--- SKIP: TestKeyHandler_HashingDisabled (0.00s)
=== RUN   TestInvalidateCache
--- PASS: TestInvalidateCache (0.18s)
=== RUN   TestGetOAuthClients
--- PASS: TestGetOAuthClients (0.18s)
=== RUN   TestCreateOAuthClient
=== RUN   TestCreateOAuthClient/API_is_not_OAuth
=== RUN   TestCreateOAuthClient/no_api_id_but_policy_id_provided
=== RUN   TestCreateOAuthClient/no_policy_id_but_api_id_provided
=== RUN   TestCreateOAuthClient/policy_does_not_exist
=== RUN   TestCreateOAuthClient/API_does_not_exist
--- PASS: TestCreateOAuthClient (0.19s)
    --- PASS: TestCreateOAuthClient/API_is_not_OAuth (0.00s)
    --- PASS: TestCreateOAuthClient/no_api_id_but_policy_id_provided (0.00s)
    --- PASS: TestCreateOAuthClient/no_policy_id_but_api_id_provided (0.00s)
    --- PASS: TestCreateOAuthClient/policy_does_not_exist (0.00s)
    --- PASS: TestCreateOAuthClient/API_does_not_exist (0.00s)
=== RUN   TestUpdateOauthClientHandler
=== RUN   TestUpdateOauthClientHandler/Update_description
=== RUN   TestUpdateOauthClientHandler/Secret_remains_the_same
=== RUN   TestUpdateOauthClientHandler/Secret_cannot_be_updated
--- PASS: TestUpdateOauthClientHandler (0.21s)
    --- PASS: TestUpdateOauthClientHandler/Update_description (0.00s)
    --- PASS: TestUpdateOauthClientHandler/Secret_remains_the_same (0.00s)
    --- PASS: TestUpdateOauthClientHandler/Secret_cannot_be_updated (0.00s)
=== RUN   TestGroupResetHandler
--- PASS: TestGroupResetHandler (0.13s)
=== RUN   TestHotReloadSingle
--- PASS: TestHotReloadSingle (0.18s)
=== RUN   TestContextData
--- PASS: TestContextData (0.00s)
=== RUN   TestContextSession
--- PASS: TestContextSession (0.13s)
=== RUN   TestApiLoaderLongestPathFirst
--- PASS: TestApiLoaderLongestPathFirst (0.34s)
=== RUN   TestRotateClientSecretHandler
=== RUN   TestRotateClientSecretHandler/Secret_can_be_rotated
--- PASS: TestRotateClientSecretHandler (0.19s)
    --- PASS: TestRotateClientSecretHandler/Secret_can_be_rotated (0.00s)
=== RUN   TestHandleAddApi
=== RUN   TestHandleAddApi/should_return_error_when_api_definition_json_is_invalid
=== RUN   TestHandleAddApi/should_return_error_when_semantic_validation_fails
=== RUN   TestHandleAddApi/should_return_success_when_no_error_occurs
--- PASS: TestHandleAddApi (0.14s)
    --- PASS: TestHandleAddApi/should_return_error_when_api_definition_json_is_invalid (0.00s)
    --- PASS: TestHandleAddApi/should_return_error_when_semantic_validation_fails (0.00s)
    --- PASS: TestHandleAddApi/should_return_success_when_no_error_occurs (0.01s)
=== RUN   TestHandleUpdateApi
=== RUN   TestHandleUpdateApi/should_return_error_when_api_definition_json_is_invalid
=== RUN   TestHandleUpdateApi/should_return_error_when_api_ids_are_different
=== RUN   TestHandleUpdateApi/should_return_error_when_semantic_validation_fails
=== RUN   TestHandleUpdateApi/should_return_success_when_no_error_occurs
=== RUN   TestHandleUpdateApi/API_not_found_for_non_existing_API
--- PASS: TestHandleUpdateApi (0.21s)
    --- PASS: TestHandleUpdateApi/should_return_error_when_api_definition_json_is_invalid (0.00s)
    --- PASS: TestHandleUpdateApi/should_return_error_when_api_ids_are_different (0.00s)
    --- PASS: TestHandleUpdateApi/should_return_error_when_semantic_validation_fails (0.00s)
    --- PASS: TestHandleUpdateApi/should_return_success_when_no_error_occurs (0.01s)
    --- PASS: TestHandleUpdateApi/API_not_found_for_non_existing_API (0.00s)
=== RUN   TestDeleteAPI
=== RUN   TestDeleteAPI/API_not_found_for_non_existing_API
--- PASS: TestDeleteAPI (0.15s)
    --- PASS: TestDeleteAPI/API_not_found_for_non_existing_API (0.00s)
=== RUN   TestOAS
=== RUN   TestOAS/get_old_api_in_OAS_format_-_should_fail
=== RUN   TestOAS/toggle_isOAS_-_should_override
=== RUN   TestOAS/update
=== RUN   TestOAS/update/old_api
=== RUN   TestOAS/update/old_api/with_old
=== RUN   TestOAS/update/old_api/with_old/get
=== RUN   TestOAS/update/old_api/with_old/get/in_old
=== RUN   TestOAS/update/old_api/with_old/get/in_oas_-_should_fail
=== RUN   TestOAS/update/old_api/with_oas_-_should_fail
=== RUN   TestOAS/update/oas_api
=== RUN   TestOAS/update/oas_api/with_old
=== RUN   TestOAS/update/oas_api/with_old/update_oas_API_with_old_format_-_should_fail
=== RUN   TestOAS/update/oas_api/with_oas
=== RUN   TestOAS/update/oas_api/with_oas/get
=== RUN   TestOAS/update/oas_api/with_oas/get/in_oas
=== RUN   TestOAS/update/oas_api/with_oas/get/in_old
=== RUN   TestOAS/update/oas_api/export
=== RUN   TestOAS/update/oas_api/export/with_old
=== RUN   TestOAS/update/oas_api/export/with_old/get
=== RUN   TestOAS/update/oas_api/export/with_old/get_scope_public
=== RUN   TestOAS/update/oas_api/export/with_oas
=== RUN   TestOAS/update/oas_api/export/with_oas/get
=== RUN   TestOAS/update/oas_api/export/with_oas/get_scope_public
=== RUN   TestOAS/update/oas_api/export/not_found
=== RUN   TestOAS/update/oas_api/export/not_found/get
=== RUN   TestOAS/patch
=== RUN   TestOAS/patch/when_tyk_extension_is_provided_and_no_params_are_provided_-_act_like_PUT
=== RUN   TestOAS/patch/when_tyk_extension_and_parameters_are_not_provided_-_update_OAS_part_only
=== RUN   TestOAS/patch/when_params_are_provided_and_no_tyk_extension_in_request_-_override_values_in_existing_API
=== RUN   TestOAS/patch/when_param_are_provided_and_tyk_extension_in_request_-_override_values_(if_any)_in_request
=== RUN   TestOAS/patch/retain_old_OAS_servers
=== RUN   TestOAS/patch/retain_old_OAS_servers/should_retain_first_entry_in_existing_API
=== RUN   TestOAS/patch/retain_old_OAS_servers/do_not_modify_if_first_server_is_same_as_that_of_gw
=== RUN   TestOAS/patch/error_on_invalid_upstreamURL
=== RUN   TestOAS/patch/request_validation
=== RUN   TestOAS/patch/request_validation/empty_apiID
=== RUN   TestOAS/patch/request_validation/malformed_body
=== RUN   TestOAS/patch/request_validation/error_when_APIID_doesn't_exist_in_gw
=== RUN   TestOAS/patch/request_validation/when_dashboard_app_config_set_to_true
=== RUN   TestOAS/patch/request_validation/fail_when_non_OAS_API_tried_to_patch
=== RUN   TestOAS/patch/OAS_validation
=== RUN   TestOAS/delete
=== RUN   TestOAS/delete/oas
=== RUN   TestOAS/delete/old_api
=== RUN   TestOAS/import/OAS
=== RUN   TestOAS/import/OAS/success_without_tyk_extension
=== RUN   TestOAS/import/OAS/missing_paths_from_OAS
=== RUN   TestOAS/import/OAS/malformed_upstream_URL
=== RUN   TestOAS/import/OAS/missing_upstream_URL
=== RUN   TestOAS/import/OAS/missing_api_ID
=== RUN   TestOAS/import/OAS/success_without_config_query_params
=== RUN   TestOAS/import/OAS/override_ID_from_x-tyk-gateway
--- PASS: TestOAS (3.03s)
    --- PASS: TestOAS/get_old_api_in_OAS_format_-_should_fail (0.00s)
    --- PASS: TestOAS/toggle_isOAS_-_should_override (0.08s)
    --- PASS: TestOAS/update (0.55s)
        --- PASS: TestOAS/update/old_api (0.23s)
            --- PASS: TestOAS/update/old_api/with_old (0.16s)
                --- PASS: TestOAS/update/old_api/with_old/get (0.01s)
                    --- PASS: TestOAS/update/old_api/with_old/get/in_old (0.01s)
                    --- PASS: TestOAS/update/old_api/with_old/get/in_oas_-_should_fail (0.00s)
            --- PASS: TestOAS/update/old_api/with_oas_-_should_fail (0.00s)
        --- PASS: TestOAS/update/oas_api (0.17s)
            --- PASS: TestOAS/update/oas_api/with_old (0.01s)
                --- PASS: TestOAS/update/oas_api/with_old/update_oas_API_with_old_format_-_should_fail (0.00s)
            --- PASS: TestOAS/update/oas_api/with_oas (0.16s)
                --- PASS: TestOAS/update/oas_api/with_oas/get (0.01s)
                    --- PASS: TestOAS/update/oas_api/with_oas/get/in_oas (0.00s)
                    --- PASS: TestOAS/update/oas_api/with_oas/get/in_old (0.01s)
        --- PASS: TestOAS/update/oas_api/export (0.15s)
            --- PASS: TestOAS/update/oas_api/export/with_old (0.07s)
                --- PASS: TestOAS/update/oas_api/export/with_old/get (0.00s)
                --- PASS: TestOAS/update/oas_api/export/with_old/get_scope_public (0.00s)
            --- PASS: TestOAS/update/oas_api/export/with_oas (0.01s)
                --- PASS: TestOAS/update/oas_api/export/with_oas/get (0.00s)
                --- PASS: TestOAS/update/oas_api/export/with_oas/get_scope_public (0.00s)
            --- PASS: TestOAS/update/oas_api/export/not_found (0.07s)
                --- PASS: TestOAS/update/oas_api/export/not_found/get (0.00s)
    --- PASS: TestOAS/patch (1.38s)
        --- PASS: TestOAS/patch/when_tyk_extension_is_provided_and_no_params_are_provided_-_act_like_PUT (0.18s)
        --- PASS: TestOAS/patch/when_tyk_extension_and_parameters_are_not_provided_-_update_OAS_part_only (0.18s)
        --- PASS: TestOAS/patch/when_params_are_provided_and_no_tyk_extension_in_request_-_override_values_in_existing_API (0.19s)
        --- PASS: TestOAS/patch/when_param_are_provided_and_tyk_extension_in_request_-_override_values_(if_any)_in_request (0.19s)
        --- PASS: TestOAS/patch/retain_old_OAS_servers (0.36s)
            --- PASS: TestOAS/patch/retain_old_OAS_servers/should_retain_first_entry_in_existing_API (0.18s)
            --- PASS: TestOAS/patch/retain_old_OAS_servers/do_not_modify_if_first_server_is_same_as_that_of_gw (0.18s)
        --- PASS: TestOAS/patch/error_on_invalid_upstreamURL (0.04s)
        --- PASS: TestOAS/patch/request_validation (0.19s)
            --- PASS: TestOAS/patch/request_validation/empty_apiID (0.04s)
            --- PASS: TestOAS/patch/request_validation/malformed_body (0.00s)
            --- PASS: TestOAS/patch/request_validation/error_when_APIID_doesn't_exist_in_gw (0.05s)
            --- PASS: TestOAS/patch/request_validation/when_dashboard_app_config_set_to_true (0.05s)
            --- PASS: TestOAS/patch/request_validation/fail_when_non_OAS_API_tried_to_patch (0.04s)
        --- PASS: TestOAS/patch/OAS_validation (0.04s)
    --- PASS: TestOAS/delete (0.13s)
        --- PASS: TestOAS/delete/oas (0.07s)
        --- PASS: TestOAS/delete/old_api (0.06s)
    --- PASS: TestOAS/import/OAS (0.67s)
        --- PASS: TestOAS/import/OAS/success_without_tyk_extension (0.10s)
        --- PASS: TestOAS/import/OAS/missing_paths_from_OAS (0.10s)
        --- PASS: TestOAS/import/OAS/malformed_upstream_URL (0.09s)
        --- PASS: TestOAS/import/OAS/missing_upstream_URL (0.09s)
        --- PASS: TestOAS/import/OAS/missing_api_ID (0.09s)
        --- PASS: TestOAS/import/OAS/success_without_config_query_params (0.10s)
        --- PASS: TestOAS/import/OAS/override_ID_from_x-tyk-gateway (0.10s)
=== RUN   TestAuthenticationAfterDeleteKey
=== RUN   TestAuthenticationAfterDeleteKey/HashKeys=false
=== RUN   TestAuthenticationAfterDeleteKey/HashKeys=true
--- PASS: TestAuthenticationAfterDeleteKey (0.54s)
    --- PASS: TestAuthenticationAfterDeleteKey/HashKeys=false (0.20s)
    --- PASS: TestAuthenticationAfterDeleteKey/HashKeys=true (0.19s)
=== RUN   TestAuthenticationAfterUpdateKey
=== RUN   TestAuthenticationAfterUpdateKey/HashKeys=false
=== RUN   TestAuthenticationAfterUpdateKey/HashKeys=true
--- PASS: TestAuthenticationAfterUpdateKey (0.26s)
    --- PASS: TestAuthenticationAfterUpdateKey/HashKeys=false (0.07s)
    --- PASS: TestAuthenticationAfterUpdateKey/HashKeys=true (0.07s)
=== RUN   TestHashKeyFunctionChanged
=== RUN   TestHashKeyFunctionChanged/custom_key
=== RUN   TestHashKeyFunctionChanged/basic_auth_key
=== RUN   TestHashKeyFunctionChanged/client_certificate
redis: 2022/05/31 08:40:20 pubsub.go:159: redis: discarding bad PubSub connection: read tcp [::1]:46806->[::1]:6379: use of closed network connection
--- PASS: TestHashKeyFunctionChanged (3.27s)
    --- PASS: TestHashKeyFunctionChanged/custom_key (0.03s)
    --- PASS: TestHashKeyFunctionChanged/basic_auth_key (2.66s)
    --- PASS: TestHashKeyFunctionChanged/client_certificate (0.09s)
=== RUN   TestBatch
--- PASS: TestBatch (0.23s)
=== RUN   TestVirtualEndpointBatch
=== RUN   TestVirtualEndpointBatch/Skip_verification
=== RUN   TestVirtualEndpointBatch/Verification_required
--- PASS: TestVirtualEndpointBatch (0.60s)
    --- PASS: TestVirtualEndpointBatch/Skip_verification (0.03s)
    --- PASS: TestVirtualEndpointBatch/Verification_required (0.23s)
=== RUN   TestBatchIgnoreCanonicalHeaderKey
--- PASS: TestBatchIgnoreCanonicalHeaderKey (0.25s)
=== RUN   TestPublicKeyPinning
=== RUN   TestPublicKeyPinning/Pub_key_match
=== RUN   TestPublicKeyPinning/Pub_key_not_match
    util.go:32: Skipping flaky test
=== RUN   TestPublicKeyPinning/Global_setting
    util.go:32: Skipping flaky test
=== RUN   TestPublicKeyPinning/Though_proxy
=== RUN   TestPublicKeyPinning/Enable_Common_Name_check
redis: 2022/05/31 08:40:22 pubsub.go:159: redis: discarding bad PubSub connection: read tcp [::1]:46860->[::1]:6379: use of closed network connection
--- PASS: TestPublicKeyPinning (1.26s)
    --- PASS: TestPublicKeyPinning/Pub_key_match (0.22s)
    --- SKIP: TestPublicKeyPinning/Pub_key_not_match (0.00s)
    --- SKIP: TestPublicKeyPinning/Global_setting (0.00s)
    --- PASS: TestPublicKeyPinning/Though_proxy (0.44s)
    --- PASS: TestPublicKeyPinning/Enable_Common_Name_check (0.50s)
=== RUN   TestProxyTransport
=== RUN   TestProxyTransport/Global:_Cipher_match
=== RUN   TestProxyTransport/Global:_Cipher_not_match
=== RUN   TestProxyTransport/API:_Cipher_override
=== RUN   TestProxyTransport/API:_MinTLS_not_match
=== RUN   TestProxyTransport/API:_Invalid_proxy
=== RUN   TestProxyTransport/API:_Valid_proxy
--- PASS: TestProxyTransport (0.68s)
    --- PASS: TestProxyTransport/Global:_Cipher_match (0.07s)
    --- PASS: TestProxyTransport/Global:_Cipher_not_match (0.06s)
    --- PASS: TestProxyTransport/API:_Cipher_override (0.07s)
    --- PASS: TestProxyTransport/API:_MinTLS_not_match (0.06s)
    --- PASS: TestProxyTransport/API:_Invalid_proxy (0.08s)
    --- PASS: TestProxyTransport/API:_Valid_proxy (0.23s)
=== RUN   TestGatewayTLS
=== RUN   TestGatewayTLS/Without_certificates
=== RUN   TestGatewayTLS/Legacy_TLS_certificate_path
=== RUN   TestGatewayTLS/File_certificate_path
=== RUN   TestGatewayTLS/Redis_certificate
--- PASS: TestGatewayTLS (1.07s)
    --- PASS: TestGatewayTLS/Without_certificates (0.19s)
    --- PASS: TestGatewayTLS/Legacy_TLS_certificate_path (0.22s)
    --- PASS: TestGatewayTLS/File_certificate_path (0.21s)
    --- PASS: TestGatewayTLS/Redis_certificate (0.38s)
=== RUN   TestGatewayControlAPIMutualTLS
=== RUN   TestGatewayControlAPIMutualTLS/Separate_domain
=== RUN   TestGatewayControlAPIMutualTLS/Separate_domain/_control_api_with_valid_cert
--- PASS: TestGatewayControlAPIMutualTLS (0.54s)
    --- PASS: TestGatewayControlAPIMutualTLS/Separate_domain (0.20s)
    --- PASS: TestGatewayControlAPIMutualTLS/Separate_domain/_control_api_with_valid_cert (0.20s)
=== RUN   TestAPIMutualTLS
=== RUN   TestAPIMutualTLS/SNI_and_domain_per_API
=== RUN   TestAPIMutualTLS/SNI_and_domain_per_API/API_without_mutual_TLS
=== RUN   TestAPIMutualTLS/SNI_and_domain_per_API/MutualTLSCertificate_not_set
=== RUN   TestAPIMutualTLS/SNI_and_domain_per_API/Client_certificate_match
=== RUN   TestAPIMutualTLS/SNI_and_domain_per_API/Client_certificate_differ
=== RUN   TestAPIMutualTLS/Multiple_APIs_on_same_domain
=== RUN   TestAPIMutualTLS/Multiple_APIs_on_same_domain/Empty_domain
=== RUN   TestAPIMutualTLS/Multiple_APIs_on_same_domain/Empty_domain/Without_certificate
=== RUN   TestAPIMutualTLS/Multiple_APIs_on_same_domain/Empty_domain/Client_certificate_not_match
=== RUN   TestAPIMutualTLS/Multiple_APIs_on_same_domain/Empty_domain/Client_certificate_match
=== RUN   TestAPIMutualTLS/Multiple_APIs_on_same_domain/Custom_domain
=== RUN   TestAPIMutualTLS/Multiple_APIs_on_same_domain/Custom_domain/Without_certificate
=== RUN   TestAPIMutualTLS/Multiple_APIs_on_same_domain/Custom_domain/Client_certificate_not_match
=== RUN   TestAPIMutualTLS/Multiple_APIs_on_same_domain/Custom_domain/Client_certificate_match
=== RUN   TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain
=== RUN   TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Empty_domain
=== RUN   TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Empty_domain/Without_certificate
=== RUN   TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Empty_domain/Client_certificate_not_match
=== RUN   TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Empty_domain/Client_certificate_match
=== RUN   TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Custom_domain
=== RUN   TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Custom_domain/Without_certificate
=== RUN   TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Custom_domain/Client_certificate_not_match
=== RUN   TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Custom_domain/Client_certificate_match
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Empty_domain
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Empty_domain/Without_certificate
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Empty_domain/Client_certificate_not_match
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Empty_domain/Client_certificate_match
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Custom_domain
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Custom_domain/Without_certificate
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Custom_domain/Client_certificate_not_match
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Custom_domain/Client_certificate_match
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Empty_domain
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Empty_domain/Without_certificate
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Empty_domain/Client_certificate_not_match
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Empty_domain/Client_certificate_match
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Custom_domain
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Custom_domain/Without_certificate
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Custom_domain/Client_certificate_not_match
=== RUN   TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Custom_domain/Client_certificate_match
--- PASS: TestAPIMutualTLS (3.13s)
    --- PASS: TestAPIMutualTLS/SNI_and_domain_per_API (0.39s)
        --- PASS: TestAPIMutualTLS/SNI_and_domain_per_API/API_without_mutual_TLS (0.08s)
        --- PASS: TestAPIMutualTLS/SNI_and_domain_per_API/MutualTLSCertificate_not_set (0.07s)
        --- PASS: TestAPIMutualTLS/SNI_and_domain_per_API/Client_certificate_match (0.08s)
        --- PASS: TestAPIMutualTLS/SNI_and_domain_per_API/Client_certificate_differ (0.15s)
    --- PASS: TestAPIMutualTLS/Multiple_APIs_on_same_domain (0.46s)
        --- PASS: TestAPIMutualTLS/Multiple_APIs_on_same_domain/Empty_domain (0.23s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs_on_same_domain/Empty_domain/Without_certificate (0.08s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs_on_same_domain/Empty_domain/Client_certificate_not_match (0.07s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs_on_same_domain/Empty_domain/Client_certificate_match (0.08s)
        --- PASS: TestAPIMutualTLS/Multiple_APIs_on_same_domain/Custom_domain (0.23s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs_on_same_domain/Custom_domain/Without_certificate (0.08s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs_on_same_domain/Custom_domain/Client_certificate_not_match (0.07s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs_on_same_domain/Custom_domain/Client_certificate_match (0.08s)
    --- PASS: TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain (0.51s)
        --- PASS: TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Empty_domain (0.25s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Empty_domain/Without_certificate (0.07s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Empty_domain/Client_certificate_not_match (0.08s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Empty_domain/Client_certificate_match (0.10s)
        --- PASS: TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Custom_domain (0.26s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Custom_domain/Without_certificate (0.07s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Custom_domain/Client_certificate_not_match (0.08s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs_with_Mutual_TLS_on_the_same_domain/Custom_domain/Client_certificate_match (0.10s)
    --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom (0.47s)
        --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Empty_domain (0.23s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Empty_domain/Without_certificate (0.08s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Empty_domain/Client_certificate_not_match (0.08s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Empty_domain/Client_certificate_match (0.08s)
        --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Custom_domain (0.24s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Custom_domain/Without_certificate (0.08s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Custom_domain/Client_certificate_not_match (0.08s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_custom/Custom_domain/Client_certificate_match (0.07s)
    --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty (0.48s)
        --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Empty_domain (0.23s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Empty_domain/Without_certificate (0.07s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Empty_domain/Client_certificate_not_match (0.08s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Empty_domain/Client_certificate_match (0.07s)
        --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Custom_domain (0.24s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Custom_domain/Without_certificate (0.08s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Custom_domain/Client_certificate_not_match (0.07s)
            --- PASS: TestAPIMutualTLS/Multiple_APIs,_mutual_on_empty/Custom_domain/Client_certificate_match (0.08s)
=== RUN   TestUpstreamMutualTLS
    util.go:32: Skipping flaky test
--- SKIP: TestUpstreamMutualTLS (0.00s)
=== RUN   TestSSLForceCommonName
    util.go:32: Skipping flaky test
--- SKIP: TestSSLForceCommonName (0.00s)
=== RUN   TestKeyWithCertificateTLS
    util.go:32: Skipping flaky test
--- SKIP: TestKeyWithCertificateTLS (0.00s)
=== RUN   TestAPICertificate
=== RUN   TestAPICertificate/Cert_set_via_API
=== RUN   TestAPICertificate/Cert_unknown
--- PASS: TestAPICertificate (0.34s)
    --- PASS: TestAPICertificate/Cert_set_via_API (0.07s)
    --- PASS: TestAPICertificate/Cert_unknown (0.05s)
=== RUN   TestCertificateHandlerTLS
    util.go:32: Skipping flaky test
--- SKIP: TestCertificateHandlerTLS (0.00s)
=== RUN   TestCipherSuites
=== RUN   TestCipherSuites/Cipher_match
=== RUN   TestCipherSuites/Cipher_non-match
--- PASS: TestCipherSuites (0.50s)
    --- PASS: TestCipherSuites/Cipher_match (0.01s)
    --- PASS: TestCipherSuites/Cipher_non-match (0.00s)
=== RUN   TestBundleLoader
=== RUN   TestBundleLoader/Nonexistent_bundle
=== RUN   TestBundleLoader/Existing_bundle_with_auth_check
--- PASS: TestBundleLoader (0.33s)
    --- PASS: TestBundleLoader/Nonexistent_bundle (0.10s)
    --- PASS: TestBundleLoader/Existing_bundle_with_auth_check (0.10s)
=== RUN   TestBundleFetcher
=== RUN   TestBundleFetcher/Simple_bundle_base_URL
=== RUN   TestBundleFetcher/Bundle_base_URL_with_querystring
--- PASS: TestBundleFetcher (0.35s)
    --- PASS: TestBundleFetcher/Simple_bundle_base_URL (0.10s)
    --- PASS: TestBundleFetcher/Bundle_base_URL_with_querystring (0.10s)
=== RUN   TestResponseOverride
    util.go:32: Skipping flaky test
--- SKIP: TestResponseOverride (0.00s)
=== RUN   TestValueExtractor
=== RUN   TestValueExtractor/HeaderSource
=== RUN   TestValueExtractor/FormSource
--- PASS: TestValueExtractor (0.14s)
    --- PASS: TestValueExtractor/HeaderSource (0.00s)
    --- PASS: TestValueExtractor/FormSource (0.00s)
=== RUN   TestRegexExtractor
=== RUN   TestRegexExtractor/HeaderSource
=== RUN   TestRegexExtractor/BodySource
=== RUN   TestRegexExtractor/FormSource
--- PASS: TestRegexExtractor (0.13s)
    --- PASS: TestRegexExtractor/HeaderSource (0.00s)
    --- PASS: TestRegexExtractor/BodySource (0.00s)
    --- PASS: TestRegexExtractor/FormSource (0.00s)
=== RUN   TestXPathExtractor
=== RUN   TestXPathExtractor/HeaderSource
=== RUN   TestXPathExtractor/BodySource
=== RUN   TestXPathExtractor/FormSource
--- PASS: TestXPathExtractor (0.14s)
    --- PASS: TestXPathExtractor/HeaderSource (0.00s)
    --- PASS: TestXPathExtractor/BodySource (0.00s)
    --- PASS: TestXPathExtractor/FormSource (0.00s)
=== RUN   Test_BuildDashboardConnStr
--- PASS: Test_BuildDashboardConnStr (2.13s)
=== RUN   TestNewValid
--- PASS: TestNewValid (0.12s)
=== RUN   TestNewInvalid
--- PASS: TestNewInvalid (0.15s)
=== RUN   TestChecksum
--- PASS: TestChecksum (0.12s)
=== RUN   TestBuildRequest
redis: 2022/05/31 08:40:32 pubsub.go:159: redis: discarding bad PubSub connection: read tcp [::1]:47050->[::1]:6379: use of closed network connection
--- PASS: TestBuildRequest (0.14s)
=== RUN   TestBuildRequestIngoreCanonicalHeaderKey
--- PASS: TestBuildRequestIngoreCanonicalHeaderKey (0.13s)
=== RUN   TestCreateBody
--- PASS: TestCreateBody (0.14s)
=== RUN   TestGet
--- PASS: TestGet (0.13s)
=== RUN   TestPost
--- PASS: TestPost (0.14s)
=== RUN   TestNewCustomTemplate
=== RUN   TestNewCustomTemplate/UseDefault
=== RUN   TestNewCustomTemplate/FallbackToDefault
=== RUN   TestNewCustomTemplate/UseCustom
=== RUN   TestNewCustomTemplate/MissingDefault
=== RUN   TestNewCustomTemplate/MissingDefaultFallback
=== RUN   TestNewCustomTemplate/MissingDefaultNotNeeded
--- PASS: TestNewCustomTemplate (0.14s)
    --- PASS: TestNewCustomTemplate/UseDefault (0.00s)
    --- PASS: TestNewCustomTemplate/FallbackToDefault (0.00s)
    --- PASS: TestNewCustomTemplate/UseCustom (0.00s)
    --- PASS: TestNewCustomTemplate/MissingDefault (0.00s)
    --- PASS: TestNewCustomTemplate/MissingDefaultFallback (0.00s)
    --- PASS: TestNewCustomTemplate/MissingDefaultNotNeeded (0.00s)
=== RUN   TestWebhookContentTypeHeader
=== RUN   TestWebhookContentTypeHeader/MissingTemplatePath
=== RUN   TestWebhookContentTypeHeader/MissingTemplatePath/CustomHeaders
=== RUN   TestWebhookContentTypeHeader/InvalidTemplatePath
=== RUN   TestWebhookContentTypeHeader/InvalidTemplatePath/CustomHeaders
=== RUN   TestWebhookContentTypeHeader/CustomTemplate
=== RUN   TestWebhookContentTypeHeader/CustomTemplate/CustomHeaders
--- PASS: TestWebhookContentTypeHeader (0.14s)
    --- PASS: TestWebhookContentTypeHeader/MissingTemplatePath (0.00s)
    --- PASS: TestWebhookContentTypeHeader/MissingTemplatePath/CustomHeaders (0.00s)
    --- PASS: TestWebhookContentTypeHeader/InvalidTemplatePath (0.00s)
    --- PASS: TestWebhookContentTypeHeader/InvalidTemplatePath/CustomHeaders (0.00s)
    --- PASS: TestWebhookContentTypeHeader/CustomTemplate (0.00s)
    --- PASS: TestWebhookContentTypeHeader/CustomTemplate/CustomHeaders (0.00s)
=== RUN   TestEventHandlerByName
--- PASS: TestEventHandlerByName (0.13s)
=== RUN   TestLogMessageEventHandler
--- PASS: TestLogMessageEventHandler (0.13s)
=== RUN   TestInitGenericEventHandlers
--- PASS: TestInitGenericEventHandlers (0.13s)
=== RUN   TestParambasedAuth
--- PASS: TestParambasedAuth (0.20s)
=== RUN   TestStripPathWithURLRewrite
=== RUN   TestStripPathWithURLRewrite/rewrite_URL_containing_listen_path
--- PASS: TestStripPathWithURLRewrite (0.21s)
    --- PASS: TestStripPathWithURLRewrite/rewrite_URL_containing_listen_path (0.06s)
=== RUN   TestSkipTargetPassEscapingOff
=== RUN   TestSkipTargetPassEscapingOff/With_escaping,_default
=== RUN   TestSkipTargetPassEscapingOff/Without_escaping
=== RUN   TestSkipTargetPassEscapingOff/With_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_OFF
=== RUN   TestSkipTargetPassEscapingOff/Without_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_OFF
=== RUN   TestSkipTargetPassEscapingOff/With_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_ON
=== RUN   TestSkipTargetPassEscapingOff/Without_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_ON
--- PASS: TestSkipTargetPassEscapingOff (0.52s)
    --- PASS: TestSkipTargetPassEscapingOff/With_escaping,_default (0.07s)
    --- PASS: TestSkipTargetPassEscapingOff/Without_escaping (0.07s)
    --- PASS: TestSkipTargetPassEscapingOff/With_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_OFF (0.06s)
    --- PASS: TestSkipTargetPassEscapingOff/Without_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_OFF (0.06s)
    --- PASS: TestSkipTargetPassEscapingOff/With_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_ON (0.07s)
    --- PASS: TestSkipTargetPassEscapingOff/Without_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_ON (0.06s)
=== RUN   TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue
=== RUN   TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue/With_escaping,_default
=== RUN   TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue/Without_escaping,_default
=== RUN   TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue/With_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_OFF
=== RUN   TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue/Without_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_OFF
=== RUN   TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue/With_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_ON
=== RUN   TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue/Without_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_ON
--- PASS: TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue (0.54s)
    --- PASS: TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue/With_escaping,_default (0.06s)
    --- PASS: TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue/Without_escaping,_default (0.06s)
    --- PASS: TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue/With_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_OFF (0.07s)
    --- PASS: TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue/Without_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_OFF (0.07s)
    --- PASS: TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue/With_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_ON (0.07s)
    --- PASS: TestSkipTargetPassEscapingOffWithSkipURLCleaningTrue/Without_escaping,_listen_path_and_target_URL_are_set,_StripListenPath_is_ON (0.07s)
=== RUN   TestQuota
--- PASS: TestQuota (0.21s)
=== RUN   TestListener
=== RUN   TestListener/hotReload:_false,_overrideDefaults:_false
=== RUN   TestListener/hotReload:_false,_overrideDefaults:_true
=== RUN   TestListener/hotReload:_true,_overrideDefaults:_true
=== RUN   TestListener/hotReload:_true,_overrideDefaults:_false
--- PASS: TestListener (0.94s)
    --- PASS: TestListener/hotReload:_false,_overrideDefaults:_false (0.15s)
    --- PASS: TestListener/hotReload:_false,_overrideDefaults:_true (0.17s)
    --- PASS: TestListener/hotReload:_true,_overrideDefaults:_true (0.17s)
    --- PASS: TestListener/hotReload:_true,_overrideDefaults:_false (0.15s)
=== RUN   TestControlListener
=== RUN   TestControlListener/hotReload:_false,_overrideDefaults:_false
=== RUN   TestControlListener/hotReload:_false,_overrideDefaults:_true
=== RUN   TestControlListener/hotReload:_true,_overrideDefaults:_true
=== RUN   TestControlListener/hotReload:_true,_overrideDefaults:_false
=== RUN   TestControlListener/hotReload:_false,_overrideDefaults:_false#01
=== RUN   TestControlListener/hotReload:_false,_overrideDefaults:_true#01
=== RUN   TestControlListener/hotReload:_true,_overrideDefaults:_true#01
=== RUN   TestControlListener/hotReload:_true,_overrideDefaults:_false#01
--- PASS: TestControlListener (0.28s)
    --- PASS: TestControlListener/hotReload:_false,_overrideDefaults:_false (0.00s)
    --- PASS: TestControlListener/hotReload:_false,_overrideDefaults:_true (0.00s)
    --- PASS: TestControlListener/hotReload:_true,_overrideDefaults:_true (0.00s)
    --- PASS: TestControlListener/hotReload:_true,_overrideDefaults:_false (0.01s)
    --- PASS: TestControlListener/hotReload:_false,_overrideDefaults:_false#01 (0.00s)
    --- PASS: TestControlListener/hotReload:_false,_overrideDefaults:_true#01 (0.01s)
    --- PASS: TestControlListener/hotReload:_true,_overrideDefaults:_true#01 (0.00s)
    --- PASS: TestControlListener/hotReload:_true,_overrideDefaults:_false#01 (0.00s)
=== RUN   TestHttpPprof
=== RUN   TestHttpPprof/HTTP_Profile_not_active
=== RUN   TestHttpPprof/HTTP_Profile_active
--- PASS: TestHttpPprof (0.44s)
    --- PASS: TestHttpPprof/HTTP_Profile_not_active (0.13s)
    --- PASS: TestHttpPprof/HTTP_Profile_active (0.32s)
=== RUN   TestManagementNodeRedisEvents
=== RUN   TestManagementNodeRedisEvents/Without_signing:
=== RUN   TestManagementNodeRedisEvents/With_signature
--- PASS: TestManagementNodeRedisEvents (0.13s)
    --- PASS: TestManagementNodeRedisEvents/Without_signing: (0.00s)
    --- PASS: TestManagementNodeRedisEvents/With_signature (0.00s)
=== RUN   TestListenPathTykPrefix
--- PASS: TestListenPathTykPrefix (0.18s)
=== RUN   TestReloadGoroutineLeakWithTest
    util.go:32: Skipping flaky test
--- SKIP: TestReloadGoroutineLeakWithTest (0.00s)
=== RUN   TestReloadGoroutineLeakWithCircuitBreaker
--- PASS: TestReloadGoroutineLeakWithCircuitBreaker (0.25s)
=== RUN   TestProxyProtocol
--- PASS: TestProxyProtocol (0.19s)
=== RUN   TestProxyUserAgent
--- PASS: TestProxyUserAgent (0.19s)
=== RUN   TestSkipUrlCleaning
--- PASS: TestSkipUrlCleaning (0.19s)
=== RUN   TestMultiTargetProxy
--- PASS: TestMultiTargetProxy (0.19s)
=== RUN   TestCustomDomain
=== RUN   TestCustomDomain/With_custom_domain_support
=== RUN   TestCustomDomain/Without_custom_domain_support
--- PASS: TestCustomDomain (0.28s)
    --- PASS: TestCustomDomain/With_custom_domain_support (0.08s)
    --- PASS: TestCustomDomain/Without_custom_domain_support (0.08s)
=== RUN   TestGatewayHealthCheck
=== RUN   TestGatewayHealthCheck/control_api_port_==_listen_port
=== RUN   TestGatewayHealthCheck/control_api_port_==_listen_port/Without_APIs
=== RUN   TestGatewayHealthCheck/control_api_port_==_listen_port/With_API
=== RUN   TestGatewayHealthCheck/control_api_port_!=_listen_port
=== RUN   TestGatewayHealthCheck/control_api_port_!=_listen_port/Without_APIs
=== RUN   TestGatewayHealthCheck/control_api_port_!=_listen_port/With_API
--- PASS: TestGatewayHealthCheck (0.44s)
    --- PASS: TestGatewayHealthCheck/control_api_port_==_listen_port (0.20s)
        --- PASS: TestGatewayHealthCheck/control_api_port_==_listen_port/Without_APIs (0.00s)
        --- PASS: TestGatewayHealthCheck/control_api_port_==_listen_port/With_API (0.06s)
    --- PASS: TestGatewayHealthCheck/control_api_port_!=_listen_port (0.24s)
        --- PASS: TestGatewayHealthCheck/control_api_port_!=_listen_port/Without_APIs (0.01s)
        --- PASS: TestGatewayHealthCheck/control_api_port_!=_listen_port/With_API (0.08s)
=== RUN   TestCacheAllSafeRequests
--- PASS: TestCacheAllSafeRequests (0.22s)
=== RUN   TestCacheAllSafeRequestsWithCachedHeaders
--- PASS: TestCacheAllSafeRequestsWithCachedHeaders (0.33s)
=== RUN   TestCacheWithAdvanceUrlRewrite
--- PASS: TestCacheWithAdvanceUrlRewrite (0.23s)
=== RUN   TestCachePostRequest
--- PASS: TestCachePostRequest (0.29s)
=== RUN   TestAdvanceCachePutRequest
--- PASS: TestAdvanceCachePutRequest (0.51s)
=== RUN   TestCacheAllSafeRequestsWithAdvancedCacheEndpoint
--- PASS: TestCacheAllSafeRequestsWithAdvancedCacheEndpoint (0.21s)
=== RUN   TestCacheEtag
--- PASS: TestCacheEtag (0.30s)
=== RUN   TestOldCachePlugin
=== RUN   TestOldCachePlugin/migration
--- PASS: TestOldCachePlugin (0.32s)
    --- PASS: TestOldCachePlugin/migration (0.09s)
=== RUN   TestWebsocketsSeveralOpenClose
--- PASS: TestWebsocketsSeveralOpenClose (0.20s)
=== RUN   TestWebsocketsAndHTTPEndpointMatch
--- PASS: TestWebsocketsAndHTTPEndpointMatch (0.21s)
=== RUN   TestKeepAliveConns
=== RUN   TestKeepAliveConns/Should_use_same_connection
=== RUN   TestKeepAliveConns/Should_use_separate_connection
=== RUN   TestKeepAliveConns/Should_respect_max_conn_time
--- PASS: TestKeepAliveConns (0.33s)
    --- PASS: TestKeepAliveConns/Should_use_same_connection (0.07s)
    --- PASS: TestKeepAliveConns/Should_use_separate_connection (0.07s)
    --- PASS: TestKeepAliveConns/Should_respect_max_conn_time (0.07s)
=== RUN   TestRateLimitForAPIAndRateLimitAndQuotaCheck
--- PASS: TestRateLimitForAPIAndRateLimitAndQuotaCheck (0.43s)
=== RUN   TestTracing
=== RUN   TestTracing/Custom_auth_header
--- PASS: TestTracing (0.21s)
    --- PASS: TestTracing/Custom_auth_header (0.03s)
=== RUN   TestBrokenClients
=== RUN   TestBrokenClients/Valid_client
=== RUN   TestBrokenClients/Invalid_client:_close_without_read
--- PASS: TestBrokenClients (0.69s)
    --- PASS: TestBrokenClients/Valid_client (0.01s)
    --- PASS: TestBrokenClients/Invalid_client:_close_without_read (0.50s)
=== RUN   TestStripRegex
--- PASS: TestStripRegex (0.00s)
=== RUN   TestCache_singleErrorResponse
redis: 2022/05/31 08:40:45 pubsub.go:159: redis: discarding bad PubSub connection: read tcp [::1]:47422->[::1]:6379: use of closed network connection
--- PASS: TestCache_singleErrorResponse (1.20s)
=== RUN   TestOverrideErrors
=== RUN   TestOverrideErrors/Partial_override
--- PASS: TestOverrideErrors (0.14s)
    --- PASS: TestOverrideErrors/Partial_override (0.00s)
=== RUN   TestHTTP2_h2C
--- PASS: TestHTTP2_h2C (0.19s)
=== RUN   TestGRPC_H2C
--- PASS: TestGRPC_H2C (0.23s)
=== RUN   TestHTTP2_TLS
--- PASS: TestHTTP2_TLS (1.63s)
=== RUN   TestTLSTyk_H2cUpstream
redis: 2022/05/31 08:40:47 pubsub.go:159: redis: discarding bad PubSub connection: read tcp [::1]:47466->[::1]:6379: use of closed network connection
--- PASS: TestTLSTyk_H2cUpstream (1.45s)
=== RUN   TestGRPC_TLS
--- PASS: TestGRPC_TLS (0.44s)
=== RUN   TestGRPC_MutualTLS
--- PASS: TestGRPC_MutualTLS (0.57s)
=== RUN   TestGRPC_BasicAuthentication
--- PASS: TestGRPC_BasicAuthentication (2.98s)
=== RUN   TestGRPC_TokenBasedAuthentication
--- PASS: TestGRPC_TokenBasedAuthentication (0.46s)
=== RUN   TestGRPC_Stream_MutualTLS
=== RUN   TestGRPC_Stream_MutualTLS/Valid_feature
=== RUN   TestGRPC_Stream_MutualTLS/Feature_missing.
=== RUN   TestGRPC_Stream_MutualTLS/Range_features
=== RUN   TestGRPC_Stream_MutualTLS/RecordRoute
    grpc_streamin_client_test.go:97: Traversing 27 points.
=== RUN   TestGRPC_Stream_MutualTLS/RouteChat
    grpc_streamin_client_test.go:164: Sending note First message
    grpc_streamin_client_test.go:149: Got message First message at point(0, 1)
    grpc_streamin_client_test.go:164: Sending note Second message
    grpc_streamin_client_test.go:149: Got message Second message at point(0, 2)
    grpc_streamin_client_test.go:164: Sending note Third message
    grpc_streamin_client_test.go:149: Got message Third message at point(0, 3)
    grpc_streamin_client_test.go:164: Sending note Fourth message
    grpc_streamin_client_test.go:149: Got message First message at point(0, 1)
    grpc_streamin_client_test.go:149: Got message Fourth message at point(0, 1)
    grpc_streamin_client_test.go:151: finish to receive the notes
    grpc_streamin_client_test.go:164: Sending note Fifth message
    grpc_streamin_client_test.go:164: Sending note Sixth message
    grpc_streamin_client_test.go:166: finish to send the notes
    grpc_streamin_client_test.go:170: finish process, will close the stream
    grpc_streamin_client_test.go:177: grpc stream closed
=== CONT  TestGRPC_Stream_MutualTLS
    grpc_test.go:703: Will stop grpc server
    grpc_test.go:705: grpc server stopped
--- PASS: TestGRPC_Stream_MutualTLS (0.66s)
    --- PASS: TestGRPC_Stream_MutualTLS/Valid_feature (0.02s)
    --- PASS: TestGRPC_Stream_MutualTLS/Feature_missing. (0.01s)
    --- PASS: TestGRPC_Stream_MutualTLS/Range_features (0.01s)
    --- PASS: TestGRPC_Stream_MutualTLS/RecordRoute (0.02s)
    --- PASS: TestGRPC_Stream_MutualTLS/RouteChat (0.07s)
=== RUN   TestGRPC_Stream_TokenBasedAuthentication
=== RUN   TestGRPC_Stream_TokenBasedAuthentication/Valid_feature
=== RUN   TestGRPC_Stream_TokenBasedAuthentication/Feature_missing.
=== RUN   TestGRPC_Stream_TokenBasedAuthentication/Range_features
=== RUN   TestGRPC_Stream_TokenBasedAuthentication/RecordRoute
    grpc_streamin_client_test.go:97: Traversing 6 points.
=== RUN   TestGRPC_Stream_TokenBasedAuthentication/RouteChat
    grpc_streamin_client_test.go:164: Sending note First message
    grpc_streamin_client_test.go:149: Got message First message at point(0, 1)
    grpc_streamin_client_test.go:164: Sending note Second message
    grpc_streamin_client_test.go:149: Got message Second message at point(0, 2)
    grpc_streamin_client_test.go:164: Sending note Third message
    grpc_streamin_client_test.go:149: Got message Third message at point(0, 3)
    grpc_streamin_client_test.go:164: Sending note Fourth message
    grpc_streamin_client_test.go:149: Got message First message at point(0, 1)
    grpc_streamin_client_test.go:149: Got message Fourth message at point(0, 1)
    grpc_streamin_client_test.go:151: finish to receive the notes
    grpc_streamin_client_test.go:164: Sending note Fifth message
    grpc_streamin_client_test.go:164: Sending note Sixth message
    grpc_streamin_client_test.go:166: finish to send the notes
    grpc_streamin_client_test.go:170: finish process, will close the stream
    grpc_streamin_client_test.go:177: grpc stream closed
=== CONT  TestGRPC_Stream_TokenBasedAuthentication
    grpc_test.go:736: Will stop grpc server
    grpc_test.go:738: grpc server stopped
--- PASS: TestGRPC_Stream_TokenBasedAuthentication (0.54s)
    --- PASS: TestGRPC_Stream_TokenBasedAuthentication/Valid_feature (0.02s)
    --- PASS: TestGRPC_Stream_TokenBasedAuthentication/Feature_missing. (0.01s)
    --- PASS: TestGRPC_Stream_TokenBasedAuthentication/Range_features (0.01s)
    --- PASS: TestGRPC_Stream_TokenBasedAuthentication/RecordRoute (0.01s)
    --- PASS: TestGRPC_Stream_TokenBasedAuthentication/RouteChat (0.07s)
=== RUN   TestGRPC_Stream_BasicAuthentication
=== RUN   TestGRPC_Stream_BasicAuthentication/Valid_feature
=== RUN   TestGRPC_Stream_BasicAuthentication/Feature_missing.
=== RUN   TestGRPC_Stream_BasicAuthentication/Range_features
=== RUN   TestGRPC_Stream_BasicAuthentication/RecordRoute
    grpc_streamin_client_test.go:97: Traversing 35 points.
=== RUN   TestGRPC_Stream_BasicAuthentication/RouteChat
    grpc_streamin_client_test.go:164: Sending note First message
    grpc_streamin_client_test.go:149: Got message First message at point(0, 1)
    grpc_streamin_client_test.go:164: Sending note Second message
    grpc_streamin_client_test.go:149: Got message Second message at point(0, 2)
    grpc_streamin_client_test.go:164: Sending note Third message
    grpc_streamin_client_test.go:149: Got message Third message at point(0, 3)
    grpc_streamin_client_test.go:164: Sending note Fourth message
    grpc_streamin_client_test.go:149: Got message First message at point(0, 1)
    grpc_streamin_client_test.go:149: Got message Fourth message at point(0, 1)
    grpc_streamin_client_test.go:151: finish to receive the notes
    grpc_streamin_client_test.go:164: Sending note Fifth message
    grpc_streamin_client_test.go:164: Sending note Sixth message
    grpc_streamin_client_test.go:166: finish to send the notes
    grpc_streamin_client_test.go:170: finish process, will close the stream
    grpc_streamin_client_test.go:177: grpc stream closed
--- PASS: TestGRPC_Stream_BasicAuthentication (3.10s)
    --- PASS: TestGRPC_Stream_BasicAuthentication/Valid_feature (1.29s)
    --- PASS: TestGRPC_Stream_BasicAuthentication/Feature_missing. (0.01s)
    --- PASS: TestGRPC_Stream_BasicAuthentication/Range_features (0.01s)
    --- PASS: TestGRPC_Stream_BasicAuthentication/RecordRoute (0.02s)
    --- PASS: TestGRPC_Stream_BasicAuthentication/RouteChat (0.07s)
=== RUN   TestGRPC_Stream_H2C
=== RUN   TestGRPC_Stream_H2C/Valid_feature
=== RUN   TestGRPC_Stream_H2C/Feature_missing.
=== RUN   TestGRPC_Stream_H2C/Range_features
=== RUN   TestGRPC_Stream_H2C/RecordRoute
    grpc_streamin_client_test.go:97: Traversing 36 points.
=== RUN   TestGRPC_Stream_H2C/RouteChat
    grpc_streamin_client_test.go:164: Sending note First message
    grpc_streamin_client_test.go:149: Got message First message at point(0, 1)
    grpc_streamin_client_test.go:164: Sending note Second message
    grpc_streamin_client_test.go:149: Got message Second message at point(0, 2)
    grpc_streamin_client_test.go:164: Sending note Third message
    grpc_streamin_client_test.go:149: Got message Third message at point(0, 3)
    grpc_streamin_client_test.go:164: Sending note Fourth message
    grpc_streamin_client_test.go:149: Got message First message at point(0, 1)
    grpc_streamin_client_test.go:149: Got message Fourth message at point(0, 1)
    grpc_streamin_client_test.go:151: finish to receive the notes
    grpc_streamin_client_test.go:164: Sending note Fifth message
    grpc_streamin_client_test.go:164: Sending note Sixth message
    grpc_streamin_client_test.go:166: finish to send the notes
    grpc_streamin_client_test.go:170: finish process, will close the stream
    grpc_streamin_client_test.go:177: grpc stream closed
--- PASS: TestGRPC_Stream_H2C (0.35s)
    --- PASS: TestGRPC_Stream_H2C/Valid_feature (0.01s)
    --- PASS: TestGRPC_Stream_H2C/Feature_missing. (0.01s)
    --- PASS: TestGRPC_Stream_H2C/Range_features (0.01s)
    --- PASS: TestGRPC_Stream_H2C/RecordRoute (0.02s)
    --- PASS: TestGRPC_Stream_H2C/RouteChat (0.07s)
=== RUN   TestHandleDefaultErrorXml
--- PASS: TestHandleDefaultErrorXml (0.18s)
=== RUN   TestHandleDefaultErrorJSON
--- PASS: TestHandleDefaultErrorJSON (0.21s)
=== RUN   TestHostCheckerManagerInit
--- PASS: TestHostCheckerManagerInit (0.13s)
=== RUN   TestAmIPolling
--- PASS: TestAmIPolling (0.13s)
=== RUN   TestGenerateCheckerId
--- PASS: TestGenerateCheckerId (0.13s)
=== RUN   TestCheckActivePollerLoop
    util.go:32: Skipping flaky test
--- SKIP: TestCheckActivePollerLoop (0.00s)
=== RUN   TestStartPoller
--- PASS: TestStartPoller (0.12s)
=== RUN   TestRecordUptimeAnalytics
--- PASS: TestRecordUptimeAnalytics (0.12s)
=== RUN   TestHostChecker
--- PASS: TestHostChecker (0.13s)
=== RUN   TestReverseProxyAllDown
--- PASS: TestReverseProxyAllDown (0.14s)
=== RUN   TestTestCheckerTCPHosts_correct_answers
--- PASS: TestTestCheckerTCPHosts_correct_answers (1.12s)
=== RUN   TestTestCheckerTCPHosts_correct_answers_proxy_protocol
--- PASS: TestTestCheckerTCPHosts_correct_answers_proxy_protocol (1.13s)
=== RUN   TestTestCheckerTCPHosts_correct_wrong_answers
--- PASS: TestTestCheckerTCPHosts_correct_wrong_answers (1.15s)
=== RUN   TestProxyWhenHostIsDown
--- PASS: TestProxyWhenHostIsDown (0.30s)
=== RUN   TestChecker_triggerSampleLimit
    util.go:32: Skipping flaky test
--- SKIP: TestChecker_triggerSampleLimit (0.00s)
=== RUN   TestChecker_HostReporter_up_then_down
redis: 2022/05/31 08:41:06 pubsub.go:159: redis: discarding bad PubSub connection: read tcp [::1]:47654->[::1]:6379: use of closed network connection
--- PASS: TestChecker_HostReporter_up_then_down (4.15s)
=== RUN   TestChecker_HostReporter_down_then_up
redis: 2022/05/31 08:41:12 pubsub.go:159: redis: discarding bad PubSub connection: read tcp [::1]:47662->[::1]:6379: use of closed network connection
--- PASS: TestChecker_HostReporter_down_then_up (5.13s)
=== RUN   TestGetLogEntryForRequest
--- PASS: TestGetLogEntryForRequest (0.14s)
=== RUN   TestBaseMiddleware_OrgSessionExpiry
--- PASS: TestBaseMiddleware_OrgSessionExpiry (0.14s)
=== RUN   TestBaseMiddleware_getAuthType
--- PASS: TestBaseMiddleware_getAuthType (0.13s)
=== RUN   TestSessionLimiter_RedisQuotaExceeded_PerAPI
redis: 2022/05/31 08:41:12 pubsub.go:159: redis: discarding bad PubSub connection: read tcp [::1]:47696->[::1]:6379: use of closed network connection
--- PASS: TestSessionLimiter_RedisQuotaExceeded_PerAPI (0.29s)
=== RUN   TestMultiSession_BA_Standard_OK
redis: 2022/05/31 08:41:12 pubsub.go:159: redis: discarding bad PubSub connection: read tcp [::1]:47704->[::1]:6379: use of closed network connection
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x23499d3]

goroutine 18224 [running]:
github.com/TykTechnologies/tyk/gateway.(*Gateway).handleRedisEvent(0xc000c57000, 0x2801a40, 0x0, 0x0, 0x0)
	/home/runner/work/tyk/tyk/gateway/redis_signals.go:71 +0x153
github.com/TykTechnologies/tyk/gateway.(*Gateway).startPubSubLoop.func1(0x2801a40, 0x0)
	/home/runner/work/tyk/tyk/gateway/redis_signals.go:58 +0x85
github.com/TykTechnologies/tyk/storage.(*RedisCluster).StartPubSubHandler(0xc000b747a8, 0x309db58, 0xc0007a2800, 0x2b3c919, 0x19, 0xc0009b9f88, 0x0, 0x0)
	/home/runner/work/tyk/tyk/storage/redis_cluster.go:673 +0x23c
github.com/TykTechnologies/tyk/gateway.(*Gateway).startPubSubLoop(0xc000c57000)
	/home/runner/work/tyk/tyk/gateway/redis_signals.go:57 +0x10c
created by github.com/TykTechnologies/tyk/gateway.(*Test).newGateway
	/home/runner/work/tyk/tyk/gateway/testutil.go:1123 +0x19cd
FAIL	github.com/TykTechnologies/tyk/gateway	75.050s
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 May 31 '22 08:05 github-actions[bot]

API tests result: skipped :no_entry_sign: Branch used: refs/pull/4053/merge Commit: 3bfae123cdae844c9a0d243138111804f315b2db Triggered by: pull_request (@urbanishimwe) Execution page

Tyk-ITS avatar May 31 '22 08:05 Tyk-ITS

API tests result: skipped :no_entry_sign: Branch used: refs/pull/4053/merge Commit: 7f4937d1360a081914baa98e41331d7526d1a9b8 Triggered by: pull_request (@mitjaziv) Execution page

Tyk-ITS avatar May 31 '22 09:05 Tyk-ITS

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

sonarqubecloud[bot] avatar Jun 04 '22 07:06 sonarqubecloud[bot]

API tests result: success :white_check_mark: Branch used: refs/pull/4053/merge Commit: e6e7bf196a499b790d0399d7f085c154d266e781 Triggered by: pull_request (@mitjaziv) Execution page

Tyk-ITS avatar Jun 04 '22 07:06 Tyk-ITS

jwt dep got updated as part fo https://github.com/TykTechnologies/tyk/pull/4347 & https://github.com/TykTechnologies/tyk/pull/4348

jeffy-mathew avatar Oct 03 '23 09:10 jeffy-mathew