Surefire Report

Summary

[Summary] [Package List] [Test Cases]


Tests Errors Failures Skipped Success Rate Time
919 0 0 0 100% 9.109

Note: failures are anticipated and checked for with assertions while errors are unanticipated.


Package List

[Summary] [Package List] [Test Cases]


Package Tests Errors Failures Skipped Success Rate Time
org.apache.hc.client5.http.impl.schedule 2 0 0 0 100% 0.006
org.apache.hc.client5.http.schedule 1 0 0 0 100% 0.001
org.apache.hc.client5.http.cache 40 0 0 0 100% 1.654
org.apache.hc.client5.http.impl.cache 874 0 0 0 100% 6.542
org.apache.hc.client5.http.impl.cache.memcached 2 0 0 0 100% 0.906

Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.

org.apache.hc.client5.http.impl.schedule

Class Tests Errors Failures Skipped Success Rate Time
TestExponentialBackingOffSchedulingStrategy 1 0 0 0 100% 0.004
TestImmediateSchedulingStrategy 1 0 0 0 100% 0.002

org.apache.hc.client5.http.schedule

Class Tests Errors Failures Skipped Success Rate Time
TestConcurrentCountMap 1 0 0 0 100% 0.001

org.apache.hc.client5.http.cache

Class Tests Errors Failures Skipped Success Rate Time
ManagedHttpCacheStorageTest 3 0 0 0 100% 0.255
TestHttpCacheEntry 24 0 0 0 100% 1.288
TestHttpCacheEntryFactory 13 0 0 0 100% 0.111

org.apache.hc.client5.http.impl.cache

Class Tests Errors Failures Skipped Success Rate Time
CacheControlGeneratorTest 2 0 0 0 100% 0.012
CacheControlParserTest 23 0 0 0 100% 1.176
TestAbstractSerializingAsyncCacheStorage 12 0 0 0 100% 0.338
TestAbstractSerializingCacheStorage 12 0 0 0 100% 0.14
TestBasicHttpAsyncCache 29 0 0 0 100% 0.36
TestBasicHttpCache 14 0 0 0 100% 0.111
TestByteArrayCacheEntrySerializer 36 0 0 0 100% 0.104
TestCacheableRequestPolicy 7 0 0 0 100% 0.018
TestCachedHttpResponseGenerator 9 0 0 0 100% 0.199
TestCachedResponseSuitabilityChecker 20 0 0 0 100% 0.08
TestCacheKeyGenerator 28 0 0 0 100% 0.309
TestCacheRevalidatorBase 6 0 0 0 100% 0.105
TestCacheSupport 1 0 0 0 100% 0.003
TestCacheUpdateHandler 13 0 0 0 100% 0.051
TestCacheValidityPolicy 43 0 0 0 100% 0.092
TestCachingExecChain 47 0 0 0 100% 0.614
TestCombinedEntity 1 0 0 0 100% 0.028
TestConditionalRequestBuilder 16 0 0 0 100% 0.032
TestDateSupport 2 0 0 0 100% 0.009
TestDefaultAsyncCacheInvalidator 31 0 0 0 100% 0.2
TestDefaultCacheInvalidator 31 0 0 0 100% 0.115
TestHttpByteArrayCacheEntrySerializer 20 0 0 0 100% 0.129
TestHttpCacheJiraNumber1147 1 0 0 0 100% 0.396
TestInternalCacheStorage 2 0 0 0 100% 0.003
TestProtocolAllowedBehavior 2 0 0 0 100% 0.011
TestProtocolDeviations 4 0 0 0 100% 0.014
TestProtocolRecommendations 87 0 0 0 100% 0.373
TestProtocolRequirements 226 0 0 0 100% 1.221
TestRequestProtocolCompliance 12 0 0 0 100% 0.025
TestResponseCacheConformance 5 0 0 0 100% 0.007
TestResponseCachingPolicy 96 0 0 0 100% 0.12
TestResponseProtocolCompliance 1 0 0 0 100% 0.003
TestRFC5861Compliance 16 0 0 0 100% 0.101
TestViaCacheGenerator 2 0 0 0 100% 0.018
TestWarningValue 17 0 0 0 100% 0.025

org.apache.hc.client5.http.impl.cache.memcached

Class Tests Errors Failures Skipped Success Rate Time
TestPrefixKeyHashingScheme 1 0 0 0 100% 0.005
TestSHA256HashingScheme 1 0 0 0 100% 0.901

Test Cases

[Summary] [Package List] [Test Cases]

ManagedHttpCacheStorageTest

cacheDisableThrowsIllegalStateException 0.163
isActive 0.005
putEntry 0.004

TestHttpCacheEntry

canConstructWithoutVariants 1.184
testMissingDateHeaderIsIgnored 0.003
testGetHeadersReturnsEmptyArrayIfNoneMatch 0.001
testCacheEntryWithVaryStarHasVariants 0.003
testGetHeadersReturnsCorrectHeaders 0.002
statusCodeComesFromOriginalStatusLine 0.002
testGetMethodReturnsCorrectRequestMethod 0.004
canGetOriginalRequestDate 0.003
canRetrieveOriginalVariantMap 0.002
canGetOriginalResource 0.003
testCacheEntryWithOneVaryHeaderHasVariants 0.002
mustProvideResponseDate 0.001
retrievedVariantMapIsNotModifiable 0.002
testGetFirstHeaderReturnsNullIfNoneMatch 0.001
mustProvideResponseHeaders 0.001
testGetFirstHeaderReturnsCorrectHeader 0.002
canProvideVariantMap 0.002
canGetOriginalResponseDate 0.002
canConvertToString 0.005
testMalformedDateHeaderIsIgnored 0.003
testValidDateHeaderIsParsed 0.002
mustProvideRequestDate 0.001
testCacheEntryWithMultipleVaryHeadersHasVariants 0.002
canGetOriginalHeaders 0.004

TestHttpCacheEntryFactory

testNewerHeadersReplaceExistingHeaders 0.035
testCreateRootVariantEntry 0.019
testFilterHopByHopAndConnectionSpecificHeaders 0.007
testHeadersAreMergedCorrectly 0.003
testNewHeadersAreAddedByMerge 0.002
testUpdateHasLatestRequestAndResponseDates 0.002
testUpdateNotModifiedIfResponseOlder 0.003
testCreateUpdatedResourceEntry 0.004
entryIsStillUpdatedByResponseWithMalformedDate 0.001
testCreateResourceEntry 0.004
entryWithMalformedDateIsStillUpdated 0.002
cannotUpdateFromANon304OriginResponse 0.004
testUpdateCacheEntryReturnsDifferentEntryInstance 0.003

CacheControlGeneratorTest

testGenerateRequestCacheControlHeader 0.008
testGenerateRequestCacheControlHeaderNoDirectives 0.001

CacheControlParserTest

testParseNoCacheFields 0.005
testParseMultipleDirectives2 0.006
testParseMultipleIsImmutable 0.002
testParseMultipleDirectives 0.003
testParsePublic 0.001
testParsePrivate 0.001
testParseMaxAgeZero 0.001
testParseCookieEmptyValue 0.002
testParseNoDirective 0.001
testParseNoCacheFieldsNoQuote 0.001
testParseEmptyHeader 0
testGarbage 0.002
testParseStaleWhileRevalidate 0
testParseInvalidHeader 0.001
testParseInvalidCacheValue 0.001
testParseSMaxAge 0.002
testParseMultipleHeaders 0.001
testParseNullHeader 0.001
testParseNoCacheFieldsMessy 0.001
testParseRequestMultipleDirectives 0.003
testParseNoCache 0.003
testParseNoStore 0.001
testParseIsImmutable 0.001

TestPrefixKeyHashingScheme

addsPrefixToBackingScheme 0.002

TestSHA256HashingScheme

canHash 0.9

TestAbstractSerializingAsyncCacheStorage

testCacheUpdateFail 0.218
testCacheGetKeyMismatch 0.015
testBulkGet 0.016
testCacheRemove 0.003
testCacheGetNullEntry 0.004
testCacheGet 0.008
testCachePut 0.01
testCacheCASUpdate 0.008
testCacheUpdateNullEntry 0.006
testSingleCacheUpdateRetry 0.015
testCacheCASUpdateKeyMismatch 0.012
testBulkGetKeyMismatch 0.01

TestAbstractSerializingCacheStorage

testCacheUpdateFail 0.054
testCacheGetKeyMismatch 0.006
testBulkGet 0.009
testCacheRemove 0.003
testCacheGetNullEntry 0.002
testCacheGet 0.005
testCachePut 0.004
testCacheCASUpdate 0.008
testCacheUpdateNullEntry 0.004
testSingleCacheUpdateRetry 0.01
testCacheCASUpdateKeyMismatch 0.011
testBulkGetKeyMismatch 0.009

TestBasicHttpAsyncCache

testDoesNotInvalidateUriSpecifiedByContentLocationIfEtagsMatch 0.109
testInvalidateUriSpecifiedByContentLocationNonCanonical 0.012
testStoreFromNegotiatedVariant 0.028
testInvalidateUriSpecifiedByContentLocationRelative 0.011
testInvalidatesUnsafeRequests 0.004
testDoesNotInvalidateUriSpecifiedByContentLocationOtherOrigin 0.006
testDoesNotInvalidateUriSpecifiedByContentLocationIfOlder 0.006
testGetVariantCacheEntriesReturnsAllVariants 0.025
testInvalidatesUriSpecifiedByContentLocationIfResponseHasMalformedDate 0.005
testInvalidateUriSpecifiedByLocationAndFresher 0.01
testDoesNotInvalidateForUnsuccessfulResponse 0.004
testUpdateCacheEntryTurnsVariant 0.007
testInvalidateUriSpecifiedByContentLocationAndFresher 0.007
testGetCacheEntryReturnsNullIfNoVariantInCache 0.008
testInvalidatesUriSpecifiedByContentLocationIfResponseHasNoDate 0.006
testGetCacheEntryReturnsVariantWithMostRecentDateHeader 0.011
testInvalidatesUnsafeRequestsWithVariants 0.007
testGetVariantsRootNonExistentVariants 0.001
testDoesNotInvalidateUriSpecifiedByContentLocationIfEntryHasNoEtag 0.006
testGetCacheEntryReturnsNullOnCacheMiss 0.004
testUpdateVariantCacheEntry 0.006
testInvalidatesUriSpecifiedByContentLocationIfEntryHasMalformedDate 0.009
testDoesNotInvalidateSafeRequests 0.001
testGetVariantsRootNoVariants 0.003
testGetCacheEntryFetchesFromCacheOnCacheHitIfNoVariants 0.003
testGetCacheEntryReturnsVariantIfPresentInCache 0.005
testInvalidatesUriSpecifiedByContentLocationIfEntryHasNoDate 0.005
testDoesNotInvalidateUriSpecifiedByContentLocationIfResponseHasNoEtag 0.005
testUpdateCacheEntry 0.004

TestBasicHttpCache

testDoNotFlushCacheEntriesOnOptions 0.032
testDoNotFlushCacheEntriesOnTrace 0.002
testGetVariantCacheEntriesReturnsAllVariants 0.029
testDoNotFlushContentLocationEntryIfSafeRequest 0.003
testCanFlushCacheEntriesAtUri 0.005
testStoreInCachePutsNonVariantEntryInPlace 0.002
testGetCacheEntryReturnsNullIfNoVariantInCache 0.005
testGetCacheEntryReturnsNullOnCacheMiss 0.003
testFlushContentLocationEntryIfUnSafeRequest 0.007
testDoNotFlushCacheEntriesOnGet 0.002
testDoNotFlushCacheEntriesOnHead 0.002
testGetCacheEntryFetchesFromCacheOnCacheHitIfNoVariants 0.001
testGetCacheEntryReturnsVariantIfPresentInCache 0.003
testGetVariantCacheEntriesReturnsEmptySetOnNoVariants 0.001

TestByteArrayCacheEntrySerializer

isAllowedClassNameStringTrue 0.003
isAllowedClassNameCalanTemplatesImplFalse 0.001
canSerializeEntriesWithVariantMapsAndInstant 0.006
isAllowedClassNameJavaxXmlTransformTemplatesFalse 0.001
isAllowedClassNameFloatArrayArrayTrue 0.001
isAllowedClassNameIntArrayArrayTrue 0.001
isAllowedClassNameShortArrayTrue 0
isAllowedClassNameJavaxManagementMBeanServerInvocationHandlerFalse 0.001
isAllowedClassNameResourceTrue 0.001
isAllowedClassNameLongArrayTrue 0.001
isAllowedClassNameIntArrayTrue 0.001
isAllowedClassNameDoubleArrayTrue 0.001
isAllowedClassNameCollectionsInvokerTransformerFalse 0.002
isAllowedClassNameInstantTrue 0.001
isAllowedClassNameDataTrue 0
canSerializeEntriesWithVariantMapsDeprecatedConstructor 0.019
isAllowedClassNameJavaRmiServerRemoteObjectInvocationHandlerFalse 0.004
isAllowedClassNameStringArrayTrue 0.001
isAllowedClassNameGroovyMethodClosureFalse 0.002
isAllowedClassNameShortArrayArrayTrue 0.001
isAllowedClassNameGroovyConvertedClosureFalse 0.001
isAllowedClassNameLongArrayArrayTrue 0.002
isAllowedClassNameFloatArrayTrue 0.002
isAllowedClassNameCharArrayTrue 0.001
isAllowedClassNameByteArrayArrayTrue 0.002
isAllowedClassNameJavaRmiRegistryFalse 0.001
isAllowedClassNameCollectionsInstantiateTransformerFalse 0.001
isAllowedClassNameCalanTemplatesImplArrayFalse 0.001
isAllowedClassNameStringArrayArrayTrue 0.001
isAllowedClassNameCollections4InstantiateTransformerFalse 0.001
isAllowedClassNameByteArrayTrue 0.002
isAllowedClassNameStatusLineTrue 0.002
isAllowedClassNameSpringObjectFactoryFalse 0.001
isAllowedClassNameCharArrayArrayTrue 0
isAllowedClassNameDoubleArrayArrayTrue 0.001
isAllowedClassNameCollections4InvokerTransformerFalse 0.002

TestCacheableRequestPolicy

testIsGetServableFromCache 0.002
testIsHeadServableFromCache 0.001
testIsGetWithCacheControlServableFromCache 0.001
testIsHeadWithCacheControlServableFromCache 0.001
testIsGetWithPragmaServableFromCache 0.001
testIsArbitraryMethodServableFromCache 0.003
testIsHeadWithPragmaServableFromCache 0.001

TestCachedHttpResponseGenerator

testAgeHeaderIsNotPopulatedIfCurrentAgeOfCacheEntryIsZero 0.166
testAgeHeaderIsPopulatedWithCurrentAgeOfCacheEntryIfNonZero 0.004
testResponseDoesNotContainEntityToServeHEADRequestIfEntryContainsResource 0.004
testResponseStatusCodeMatchesCacheEntry 0.002
testContentLengthIsNotAddedWhenTransferEncodingIsPresent 0.002
testResponseMatchesCacheEntry 0.001
testResponseContainsEntityToServeGETRequestIfEntryContainsResource 0.003
testResponseHasContentLength 0.003
testAgeHeaderIsPopulatedWithMaxAgeIfCurrentAgeTooBig 0.004

TestCachedResponseSuitabilityChecker

testNotSuitableIfContentLengthHeaderIsWrong 0.005
testNotSuitableIfStaleButTooStaleForRequestMaxStale 0.003
testNotSuitableIfRequestHasNoCache 0.002
testNotSuitableIfAgeExceedsRequestMaxAge 0.003
testSuitableIfRequestMethodisHEAD 0.003
testSuitableIfFreshAndFreshnessLifetimeGreaterThanRequestMinFresh 0.003
testNotSuitableIfFreshnessLifetimeLessThanRequestMinFresh 0.002
testMalformedCacheControlMinFreshRequestHeaderCausesUnsuitableEntry 0.002
testNotSuitableIfCacheEntryIsNotFresh 0.003
testSuitableForGETIfHeadResponseCachingEnabledAndEntryDoesNotSpecifyARequestMethodButContains204Response 0.002
testMalformedCacheControlMaxAgeRequestHeaderCausesUnsuitableEntry 0.002
testSuitableIfCacheEntryIsHeuristicallyFreshEnoughByDefault 0.003
testSuitableEvenIfStaleButPermittedByRequestMaxStale 0.002
testNotSuitableIfRequestMethodIsGETAndEntryResourceIsNull 0.003
testNotSuitableForGETIfEntryDoesNotSpecifyARequestMethodOrEntity 0.003
testSuitableIfFreshAndAgeIsUnderRequestMaxAge 0.005
testSuitableForGETIfEntryDoesNotSpecifyARequestMethodButContainsEntity 0.003
testSuitableIfCacheEntryIsHeuristicallyFreshEnough 0.003
testSuitableForHEADIfHeadResponseCachingEnabledAndEntryDoesNotSpecifyARequestMethod 0.003
testSuitableIfCacheEntryIsFresh 0.002

TestCacheKeyGenerator

testGetVariantURIHandlesMultipleLineRequestHeaders 0.224
testIntermidateDotSegementsAreEquivalent 0.002
testGetURIWithQueryParameters 0.007
testGetVariantURIHandlesMultipleVaryHeaders 0.005
testEmptyPortEquivalentToDefaultPortForHttpsAbsoluteURI 0.002
testIntermidateDotDotSegementsAreEquivalent 0.003
testGetVariantURIAlphabetizesWithMultipleVaryingHeaders 0.005
testSchemeNameComparisonsAreCaseInsensitive 0.002
testExtraDotDotSegmentsAreIgnored 0.002
testExtraDotSegmentsAreIgnored 0.002
testExtractsUriFromAbsoluteUriInRequest 0.001
testGetVariantURIWithNoVaryHeaderReturnsNormalURI 0.004
testNotProvidedPortEquivalentToDefaultPortForHttp 0.001
testGetVariantURIWithSingleValueVaryHeaderPrepends 0.003
testEmptyPortEquivalentToDefaultPortForHttp 0.002
testHostNameComparisonsAreCaseInsensitive 0.002
testIntermidateEncodedDotDotSegementsAreEquivalent 0.003
testEquivalentPathEncodingsAreEquivalent 0.002
testEquivalentExtraPathEncodingsWithPercentAreEquivalent 0.003
testEmptyPortEquivalentToDefaultPortForHttps 0.001
testGetURIWithDifferentScheme 0.001
testEquivalentExtraPathEncodingsAreEquivalent 0.001
testEmptyAbsPathIsEquivalentToSlash 0.001
testGetURIWithDefaultPortAndScheme 0.001
testGetURIWithDifferentPortAndScheme 0.002
testNotProvidedPortEquivalentToDefaultPortForHttpsAbsoluteURI 0.003
testGetURIWithDifferentPort 0.001
testGetVariantURIWithMissingRequestHeader 0.004

TestCacheRevalidatorBase

testRevalidateCacheEntryProperlyCollapsesRequest 0.078
testRevalidateCacheEntrySchedulesExecutionAndPopulatesIdentifier 0.002
testStaleResponse 0.002
testRevalidateCacheEntryDoesNotPopulateIdentifierOnRejectedExecutionException 0.008
testShutdown 0.002
testMarkCompleteRemovesIdentifier 0.002

TestCacheSupport

testParseDeltaSeconds 0

TestCacheUpdateHandler

testNewerHeadersReplaceExistingHeaders 0.005
testUpdatedEntryHasLatestRequestAndResponseDates 0.001
testHeadersAreMergedCorrectly 0.003
testContentEncodingHeaderIsNotUpdatedByMerge 0.004
testNewHeadersAreAddedByMerge 0.002
oldHeadersRetainedIfResponseOlderThanEntry 0.002
entry1xxWarningsAreRemovedOnUpdate 0.002
entryIsStillUpdatedByResponseWithMalformedDate 0.005
testCacheUpdateAddsVariantURIToParentEntry 0.002
entryWithMalformedDateIsStillUpdated 0.003
testContentLengthIsNotAddedWhenTransferEncodingIsPresent 0.001
cannotUpdateFromANon304OriginResponse 0.001
testUpdateCacheEntryReturnsDifferentEntryInstance 0.007

TestCacheValidityPolicy

testCorrectContentLengthDoesntInvalidateEntry 0.002
testResponseIsNotFreshIfFreshnessLifetimeEqualsCurrentAge 0.002
testProxyRevalidateIsTrueWhenDirectiveIsPresent 0.001
testMayReturnStaleIfErrorInResponseIsTrueWithinStaleness 0.003
testFreshnessLifetimeIsSMaxAgeIfPresent 0.001
testFreshnessLifetimeIsMaxAgeEvenIfExpiresIsPresent 0.001
testMalformedCacheControlMaxAgeHeaderReturnsZero 0.001
testApparentAgeIsMaxIntIfDateHeaderNotPresent 0.001
testWrongContentLengthInvalidatesEntry 0.001
testProxyRevalidateIsFalseIfDirectiveNotPresent 0.001
testResponseIsNotFreshIfCurrentAgeExceedsFreshnessLifetime 0.002
testHeuristicFreshnessLifetime 0.001
testCorrectedReceivedAgeIsApparentAgeIfLarger 0.003
testMustRevalidateIsTrueWhenDirectiveIsPresent 0.001
testMayReturnStaleWhileRevalidatingIsFalseWhenPastStaleness 0.004
testMayNotReturnStaleIfErrorInResponseAndAfterRequestWindow 0.003
testCorrectedReceivedAgeIsAgeHeaderIfLarger 0.001
testMayReturnStaleIfErrorInRequestIsTrueWithinStaleness 0.002
testMustRevalidateIsFalseIfDirectiveNotPresent 0
testResponseDelayIsDifferenceBetweenResponseAndRequestTimes 0.001
testCacheEntryIsRevalidatableIfHeadersIncludeETag 0.001
testMayReturnStaleWhileRevalidatingIsTrueWhenWithinStaleness 0.003
testHeuristicFreshnessLifetimeDefaultsProperly 0.002
testMayReturnStaleWhileRevalidatingIsFalseWhenDirectiveEmpty 0.001
testCorrectedInitialAgeIsCorrectedReceivedAgePlusResponseDelay 0.001
testHeuristicFreshnessLifetimeIsNonNegative 0.001
testMayReturnStaleWhileRevalidatingIsFalseWhenDirectiveIsAbsent 0
testMalformedAgeHeaderValueReturnsMaxAge 0.001
testFreshnessLifetimeIsMaxAgeIfPresent 0.001
testMissingContentLengthDoesntInvalidateEntry 0.001
testResidentTimeSecondsIsTimeSinceResponseTime 0.002
testCurrentAgeIsCorrectedInitialAgePlusResidentTime 0.001
testCacheEntryIsNotRevalidatableIfNoAppropriateHeaders 0.001
testApparentAgeIsResponseReceivedTimeLessDateHeader 0.002
testFreshnessLifetimeIsFromExpiresHeaderIfNoMaxAge 0.001
testNullResourceInvalidatesEntry 0
testFreshnessLifetimeIsMostRestrictiveOfMaxAgeAndSMaxAge 0
testFreshnessLifetimeIsSMaxAgeEvenIfExpiresIsPresent 0.001
testNegativeApparentAgeIsBroughtUpToZero 0.001
testMayNotReturnStaleIfErrorInResponseAndAfterResponseWindow 0.001
testNegativeAgeHeaderValueReturnsMaxAge 0
testCacheEntryIsRevalidatableIfHeadersIncludeLastModifiedDate 0.001
testResponseIsFreshIfFreshnessLifetimeExceedsCurrentAge 0.001

TestCachingExecChain

testReturns304ForIfNoneMatchPassesIfRequestServedFromOrigin 0.216
testSetsRouteInContextOnCacheHit 0.012
testVariantsMissServerReturns304CacheReturns304 0.018
testReturns304ForIfModifiedSinceHeaderIfRequestServedFromCache 0.011
testReturns304ForIfNoneMatchHeaderIfRequestServedFromCache 0.009
testIfOnlyIfCachedAndNoCacheEntryBackendNotCalled 0.006
testSocketTimeoutExceptionIsNotSilentlyCatched 0.007
testTooLargeResponsesAreNotCached 0.004
testSetsModuleGeneratedResponseContextForCacheOptionsResponse 0.004
testReturns200ForIfNoneMatchHeaderFails 0.009
testSetsViaHeaderOnResponseIfRequestServedFromCache 0.01
testSetsCacheMissContextIfRequestNotServableFromCache 0.006
testReturns200ForOptionsFollowedByGetIfAuthorizationHeaderAndSharedCache 0.006
testSetsResponseInContextOnCacheHit 0.006
testReturns304ForIfNoneMatchHeaderAndIfModifiedSinceIfRequestServedFromCache 0.006
testReturns200ForIfNoneMatchFailsIfRequestServedFromOrigin 0.009
testNewerCacheableResponsesReplaceExistingCacheEntry 0.01
testReturns200ForIfModifiedSinceDateIsInvalid 0.007
testSetViaHeaderIfValidationFailsButNotRequired 0.006
testSetsModuleResponseContextIfValidationFailsButNotRequired 0.006
testDoesNotSend304ForNonConditionalRequest 0.01
testNoEntityForIfNoneMatchRequestNotYetInCache 0.005
testSetsCacheHitContextIfRequestServedFromCache 0.005
testCanCacheAResponseWithoutABody 0.007
testSetsRequestInContextOnCacheHit 0.005
testSetsModuleResponseContextIfValidationRequiredButFailed 0.011
testUsesVirtualHostForCacheKey 0.006
testReturns304ForIfModifiedSinceHeaderIf304ResponseInCache 0.006
testSetsViaHeaderOnResponseIfRequestNotServableFromCache 0.003
testVariantMissServerIfReturns304CacheReturns200 0.01
testSetsRequestSentInContextOnCacheHit 0.005
testIsSharedCache 0.001
testSetsModuleGeneratedResponseContextForFatallyNoncompliantRequest 0.003
testReturns200ForIfModifiedSinceDateIsLess 0.008
testOlderCacheableResponsesDoNotGoIntoCache 0.007
testSmallEnoughResponsesAreCached 0.031
testNotModifiedResponseUpdatesCacheEntryWhenNoEntity 0.006
testSetsViaHeaderOnResponseForCacheMiss 0.005
testNonCacheableResponseIsNotCachedAndIsReturnedAsIs 0.004
testSetsViaHeaderIfRequestWasSuccessfullyValidated 0.008
testReturns200ForIfNoneMatchHeaderFailsIfModifiedSinceIgnored 0.006
testCacheableResponsesGoIntoCache 0.008
testNotModifiedResponseWithVaryUpdatesCacheEntryWhenNoEntity 0.009
testSetsValidatedContextIfRequestWasSuccessfullyValidated 0.008
testReturns200ForIfModifiedSinceFailsIfRequestServedFromOrigin 0.008
testRecordsClientProtocolInViaHeaderIfRequestNotServableFromCache 0.008
testReturns304ForIfModifiedSincePassesIfRequestServedFromOrigin 0.01

TestCombinedEntity

testCombinedEntityBasics 0.027

TestConditionalRequestBuilder

testCacheEntryWithProxyRevalidateDoesEndToEndRevalidation 0.006
testBuildConditionalRequestWithLastModified 0.001
testBuildUnconditionalRequestDoesNotUseIfMatch 0.001
testBuildUnconditionalRequestDoesNotUseIfRange 0
testBuildUnconditionalRequestAddsPragmaNoCache 0.001
testBuildUnconditionalRequestDoesNotUseIfUnmodifiedSince 0
testConditionalRequestForEntryWithLastModifiedAndEtagIncludesBothAsValidators 0.001
testBuildUnconditionalRequestAddsCacheControlNoCache 0.002
testBuildUnconditionalRequestCarriesOtherRequestHeaders 0.001
testBuildUnconditionalRequestUsesRequestUri 0.001
testBuildConditionalRequestWithETag 0.001
testBuildUnconditionalRequestDoesNotUseIfNoneMatch 0
testBuildUnconditionalRequestUsesGETMethod 0
testBuildUnconditionalRequestDoesNotUseIfModifiedSince 0
testBuildConditionalRequestFromVariants 0.002
testCacheEntryWithMustRevalidateDoesEndToEndRevalidation 0.002

TestDateSupport

testIsBefore 0.004
testIsAfter 0.002

TestDefaultAsyncCacheInvalidator

flushesEntrySpecifiedByContentLocationIfEntryHasNoDate 0.061
flushesEntryIfFresherAndSpecifiedByContentLocation 0.005
doesNotFlushEntrySpecifiedByContentLocationIfEtagsMatch 0.004
testInvalidatesUrisInLocationHeadersOnPUTs 0.005
testDoesNotInvalidateGETCacheEntryIfSubsequentGETRequestsAreMadeToTheSameURI 0.003
flushesEntryIfFresherAndSpecifiedByRelativeContentLocation 0.005
testVariantURIsAreFlushedAlso 0.003
testDoesNotInvalidateUrisInContentLocationHeadersOnPUTsToDifferentHosts 0.003
doesNotFlushEntryForUnsuccessfulResponse 0.003
testInvalidatesUrisInContentLocationHeadersOnPUTs 0.005
testDoesNotInvalidateHEADCacheEntry 0.002
doesNotFlushEntrySpecifiedByContentLocationIfResponseHasNoEtag 0.004
flushesEntryIfFresherAndSpecifiedByLocation 0.004
testInvalidatesHEADCacheEntryIfSubsequentGETRequestsAreMadeToTheSameURI 0.004
doesNotFlushEntryIfContentLocationFromDifferentHost 0.002
testInvalidatesRelativeUrisInContentLocationHeadersOnPUTs 0.005
doesNotFlushEntrySpecifiedByContentLocationIfEntryHasNoEtag 0.004
flushesEntryIfFresherAndSpecifiedByNonCanonicalContentLocation 0.002
flushesEntrySpecifiedByContentLocationIfEntryHasMalformedDate 0.003
testDoesNotInvalidateHEADCacheEntryIfSubsequentHEADRequestsAreMadeToTheSameURI 0.004
doesNotFlushForResponsesWithoutContentLocation 0.002
flushesEntrySpecifiedByContentLocationIfResponseHasMalformedDate 0.004
testDoesNotInvalidateHEADRequest 0.004
doesNotFlushEntryIfNotInCache 0.004
doesNotFlushEntrySpecifiedByContentLocationIfOlder 0.005
testInvalidatesVariantHEADCacheEntriesIfSubsequentGETRequestsAreMadeToTheSameURI 0.006
testDoesNotInvalidateGETRequest 0.001
testInvalidatesRequestsThatArentGETorHEAD 0.004
testDoesNotInvalidateRequestsWithClientCacheControlHeaders 0.002
flushesEntrySpecifiedByContentLocationIfResponseHasNoDate 0.006
testDoesNotInvalidateRequestsWithClientPragmaHeaders 0.002

TestDefaultCacheInvalidator

flushesEntrySpecifiedByContentLocationIfEntryHasNoDate 0.006
flushesEntryIfFresherAndSpecifiedByContentLocation 0.006
doesNotFlushEntrySpecifiedByContentLocationIfEtagsMatch 0.004
testInvalidatesUrisInLocationHeadersOnPUTs 0.005
testDoesNotInvalidateGETCacheEntryIfSubsequentGETRequestsAreMadeToTheSameURI 0.006
flushesEntryIfFresherAndSpecifiedByRelativeContentLocation 0.004
testVariantURIsAreFlushedAlso 0.005
testDoesNotInvalidateUrisInContentLocationHeadersOnPUTsToDifferentHosts 0.004
doesNotFlushEntryForUnsuccessfulResponse 0.001
testInvalidatesUrisInContentLocationHeadersOnPUTs 0.004
testDoesNotInvalidateHEADCacheEntry 0.002
doesNotFlushEntrySpecifiedByContentLocationIfResponseHasNoEtag 0.003
flushesEntryIfFresherAndSpecifiedByLocation 0.005
testInvalidatesHEADCacheEntryIfSubsequentGETRequestsAreMadeToTheSameURI 0.004
doesNotFlushEntryIfContentLocationFromDifferentHost 0.002
testInvalidatesRelativeUrisInContentLocationHeadersOnPUTs 0.003
doesNotFlushEntrySpecifiedByContentLocationIfEntryHasNoEtag 0.005
flushesEntryIfFresherAndSpecifiedByNonCanonicalContentLocation 0.002
flushesEntrySpecifiedByContentLocationIfEntryHasMalformedDate 0.002
testDoesNotInvalidateHEADCacheEntryIfSubsequentHEADRequestsAreMadeToTheSameURI 0.001
doesNotFlushForResponsesWithoutContentLocation 0.001
flushesEntrySpecifiedByContentLocationIfResponseHasMalformedDate 0.003
testDoesNotInvalidateHEADRequest 0.002
doesNotFlushEntryIfNotInCache 0.002
doesNotFlushEntrySpecifiedByContentLocationIfOlder 0.002
testInvalidatesVariantHEADCacheEntriesIfSubsequentGETRequestsAreMadeToTheSameURI 0.003
testDoesNotInvalidateGETRequest 0.003
testInvalidatesRequestsThatArentGETorHEAD 0.002
testDoesNotInvalidateRequestsWithClientCacheControlHeaders 0.001
flushesEntrySpecifiedByContentLocationIfResponseHasNoDate 0.003
testDoesNotInvalidateRequestsWithClientPragmaHeaders 0.002

TestHttpByteArrayCacheEntrySerializer

fileObjectTest 0.037
testDeserializeWithIOException 0.032
escapedHeaderTestFromPreviouslySerialized 0.001
noBodyTest 0.001
emptyBodyTest 0.001
testEscapedHeaders 0.002
testInvalidCacheEntry 0.003
fileTestFromPreviouslySerialized 0.004
testSerializeWithHTTPException 0.02
testInvalidHeaderCacheEntry 0.002
testMissingHeaderCacheEntry 0.002
simpleTestFromPreviouslySerialized 0.001
testVariantMapMissingValueCacheEntry 0.003
noBodyTestFromPreviouslySerialized 0.001
variantMapTestFromPreviouslySerialized 0.001
testSimpleVariantMap 0.001
simpleObjectTest 0
testVariantMapMissingKeyCacheEntry 0.002
testNullStorageKey 0.003
noHeadersTest 0.001

TestHttpCacheJiraNumber1147

testIssue1147 0.396

TestInternalCacheStorage

testCacheBasics 0.001
testCacheEviction 0.001

TestProtocolAllowedBehavior

testNonSharedCacheReturnsStaleResponseWhenRevalidationFailsForProxyRevalidate 0.007
testNonSharedCacheMayCacheResponsesWithCacheControlPrivate 0.003

TestProtocolDeviations

testPassesOnOrigin407WithoutAProxyAuthenticateHeader 0.003
testPassesOnOrigin401ResponseWithoutWWWAuthenticateHeader 0.002
testPassesOnOrigin405WithoutAllowHeader 0.002
testPartialContentIsNotReturnedToAClientThatDidNotAskForIt 0.002

TestProtocolRecommendations

testDoesNotModifyLocationOnResponses 0.003
shouldStripContentLengthFromOrigin304ResponseToStrongValidation 0.004
testDoesNotAddNewWarningHeaderIfResponseArrivesStale 0.003
testForwardsExistingWarningHeadersOnResponseThatArrivesStale 0.012
testUsesBothLastModifiedAndETagForConditionalRequestsIfAvailable 0.007
testRevalidatesCachedResponseWithExpirationInThePast 0.006
returns504ForStaleEntryWithOnlyIfCached 0.004
shouldStripContentEncodingFromOrigin304ResponseToStrongValidation 0.005
testDoesNotModifyExtensionHeaderOnResponses 0.004
responseToGetWithQueryFrom1_0OriginAndNoExpiresIsNotCached 0.005
testDoesNotModifyAcceptRangesOnResponses 0.004
cacheGenerated304ForStrongValidatorShouldNotContainContentMD5 0.003
testDoesNotModifyIfNoneMatchOnRequests 0.002
testDoesNotModifyContentTypeOnRequests 0.003
testDoesNotReturnStaleResponseIfClientExplicitlyRequestsFirstHandOneWithCacheControl 0.004
cacheGenerated304ForStrongDateValidatorShouldNotContainContentLanguage 0.004
testDoesNotModifyRefererOnRequests 0.003
testResponseToExistingVariantsUpdatesEntry 0.008
testDoesNotReturnStaleResponseIfClientExplicitlyRequestsFirstHandOneWithPragma 0.005
testDoesNotModifyContentRangeOnResponses 0.004
issues304EvenWithWeakETag 0.003
cacheGenerated304ForStrongDateValidatorShouldNotContainContentType 0.006
testDoesNotModifyExtensionHeaderOnRequests 0.005
cacheGenerated304ForStrongEtagValidatorShouldNotContainContentEncoding 0.004
responseToGetWithQueryFrom1_0OriginVia1_1ProxyAndNoExpiresIsNotCached 0.006
shouldStripContentRangeFromOrigin304ResponseToStringValidation 0.003
testDoesNotModifyIfModifiedSinceOnRequests 0.004
testDoesNotReturnStaleResponseIfClientExplicitlyRequestsFreshWithMaxAge 0.004
testDoesNotModifyContentLengthOnRequests 0.003
testDoesNotReturnStaleResponseIfClientExplicitlyRequestsFreshWithMaxStale 0.004
testUsesLastModifiedDateForCacheConditionalRequests 0.003
testDoesNotModifyIfRangeOnRequests 0.002
cacheGenerated304ForStrongEtagValidatorShouldNotContainContentType 0.005
testDoesNotModifyContentLengthOnResponses 0.002
shouldStripLastModifiedFromOrigin304ResponseToStrongValidation 0.002
cacheGenerated304ForStrongEtagValidatorShouldNotContainAllow 0.004
shouldInvalidateAllVariantsForUnknownMethod 0.009
cacheGenerated304ForStrongEtagValidatorShouldNotContainContentLanguage 0.003
cacheGenerated304ForStrongDateValidatorShouldNotContainContentLength 0.004
testDoesNotModifyUserAgentOnRequests 0.003
cacheHitOkWithOnlyIfCached 0.002
expiresPriorToDateWithNoCacheControlIsNotCacheable 0.004
cacheMissResultsIn504WithOnlyIfCached 0.002
cacheGenerated304ForStrongEtagValidatorShouldNotContainContentRange 0.005
variantNegotiationsDoNotIncludeEtagsForPartialResponses 0.007
testDoesNotModifyExpiresOnResponses 0.003
shouldStripAllowFromOrigin304ResponseToStrongValidation 0.002
testMayReturnStaleResponseIfClientExplicitlySpecifiesAcceptableMaxStale 0.005
testDoesNotModifyServerOnResponses 0.002
testDoesNotModifyContentTypeOnResponses 0.004
cacheGenerated304ForStrongValidatorShouldNotContainContentLength 0.002
shouldInvalidateNonvariantCacheEntryForUnknownMethod 0.004
cacheGenerated304ForStrongDateValidatorShouldNotContainContentMD5 0.003
testDoesNotModifyDateOnRequests 0.002
testDoesNotModifyAuthorizationOnRequests 0.002
testReturnsCachedResponsesAppropriatelyWhenNoOriginCommunication 0.004
returnsStaleCacheEntryWithOnlyIfCachedAndMaxStale 0.005
cacheGenerated304ForStrongDateValidatorShouldNotContainContentRange 0.003
testDoesNotModifyRetryAfterOnResponses 0.002
cachedEntryShouldNotBeUsedIfMoreRecentMentionInContentLocation 0.003
testDoesNotModifyFromOnRequests 0.003
testDoesNotModifyContentRangeOnRequests 0.003
shouldStripContentTypeFromOrigin304ResponseToStrongValidation 0.002
expiresEqualToDateWithNoCacheControlIsNotCacheable 0.003
testDoesNotModifyDateOnResponses 0.003
testRetriesValidationThatResultsInAnOlderDated304Response 0.005
testDoesNotModifyIfUnmodifiedSinceOnRequests 0.003
testIdentityCodingIsNotUsedInContentEncodingHeader 0.003
cacheGenerated304ForStrongEtagValidatorShouldNotContainLastModified 0.002
testDoesNotModifyVaryOnResponses 0.003
otherFreshnessRequestDirectivesNotAllowedWithNoCache 0.003
cacheGenerated304ForStrongDateValidatorShouldNotContainAllow 0.003
testResponseToExistingVariantsIsCachedForFutureResponses 0.004
testSendsAllVariantEtagsInConditionalRequest 0.005
shouldStripContentMD5FromOrigin304ResponseToStrongValidation 0.003
testDoesNotModifyContentMD5OnRequests 0.003
testDoesNotModifyLastModifiedOnResponses 0.002
testDoesNotModifyIfMatchOnRequests 0.003
shouldStripContentLanguageFromOrigin304ResponseToStrongValidation 0.002
testDoesNotReturnStaleResponseIfClientExplicitlySpecifiesLargerMaxAge 0.003
cacheGenerated304ForStrongDateValidatorShouldNotContainContentEncoding 0.002
cacheGenerated304ForStrongDateValidatorShouldNotContainLastModified 0.003
cacheShouldUpdateWithNewCacheableResponse 0.004
testDoesNotReturnStaleResponseIfClientExplicitlyRequestsFreshWithMinFresh 0.005
testDoesNotModifyRangeOnRequests 0.003
testDoesNotModifyContentMD5OnResponses 0.002
testDoesNotModifyETagOnResponses 0.002

TestProtocolRequirements

testMustIncludeProxyAuthenticateHeaderFromAnOrigin407Response 0.004
testSharedCacheMayCacheAuthorizedResponsesWithCacheControlPublic 0.009
testGenerates504IfCannotRevalidateAMustRevalidateEntry 0.004
testCannotCombinePartialResponseIfCacheEntryDoesNotHaveACacheValidator 0.006
testResponsesToTRACEsAreNotCached 0.002
testOrderOfMultipleContentEncodingHeadersIsPreservedOnResponses 0.003
testOrderOfMultipleAllowHeadersIsPreservedOnResponses 0.003
testConditionalRequestWhereAllValidatorsMatchMayBeServedFromCache 0.021
testHEADResponseWithUpdatedContentMD5FieldMakeACacheEntryStale 0.004
testDoesNotModifyContentMD5HeaderOnRequest 0.003
testDoesNotAddContentLocationToRequestIfNotPresent 0.002
testValidationMustUseETagIfProvidedByOriginServer 0.004
testTransmitsAgeHeaderIfIncomingAgeHeaderTooBig 0.006
testOrderOfMultipleViaHeadersIsPreservedOnRequests 0.004
testStripsBadlyDatedWarningsFromForwardedResponses 0.006
testDoesNotAddEtagToOriginResponse 0.005
testCacheIsNotUsedWhenRespondingToRequestWithCacheControlNoCache 0.005
test206ResponseToIfRangeWithStrongValidatorReturnsAllEntityHeaders 0.006
test304ResponseGeneratedFromCacheIncludesExpiresCacheControlAndOrVaryIfResponseMightDiffer 0.004
testUpdatesWarningHeadersOnValidation 0.004
testWarnDatesAreAddedToWarningsOnLowerProtocolVersions 0.005
test206ContainsContentLocationIfA200ResponseWouldHaveIncludedIt 0.004
testRequestsNotExpecting100ContinueBehaviorShouldNotSetExpectContinueHeader 0.005
test206ResponseReturnedToClientMustHaveDateHeader 0.004
testDoesNotAddContentTypeHeaderToCachedResponseWithNoTransformIfNotPresent 0.004
testMustDiscardCachedPartialResponseIfCacheValidatorsDoNotStronglyMatchAndDateHeadersAreEqual 0.004
testDoesNotForwardOPTIONSWhenMaxForwardsIsZeroOnAbsoluteURIRequest 0.001
testDoesNotAddContentTypeToRequestIfNotPresent 0.002
testUnknownHeadersOnResponsesAreForwarded 0.003
testOrderOfMultipleContentEncodingHeadersIsPreservedOnRequests 0.002
testDoesNotAddLastModifiedToRequestIfNotPresent 0.003
test100ContinueResponsesAreNotForwardedTo1_0ClientsWhoDidNotAskForThem 0.004
testRequestsWithLowerProtocolVersionsGetUpgradedTo1_1 0.004
testOrderOfMultipleAcceptHeaderValuesIsPreservedOnRequests 0.004
testDoesNotModifyServerResponseHeader 0.003
testDoesNotAddContentEncodingHeaderToCachedResponseWithNoTransformIfNotPresent 0.002
testDELETERequestsAreWrittenThroughToOrigin 0.002
testMustDiscardLeastRecentPartialResponseIfCacheValidatorsDoNotStronglyMatch 0.004
testRemovesWarningHeaderIfAllWarnValuesAreBadlyDated 0.003
testPostInvalidatesCacheForThatUriInContentLocationHeader 0.005
testDoesNotAddContentTypeHeaderToRequestIfNotPresent 0.003
test2xxWarningsAreNotDeletedAfterSuccessfulRevalidation 0.005
testNoStoreOnResponseIsNotStoredInCache 0.003
test302ResponseWithoutExplicitCacheabilityIsNotReturnedFromCache 0.003
testExpiresHeaderMatchesDateIfAddedToCacheHit 0.003
testLowerOriginResponsesUpgradedToOurVersion1_1 0.002
test206ResponseGeneratedFromCacheMustHaveContentRangeOrMultipartByteRangesContentType 0.002
testSharedCacheMustUseNewRequestHeadersWhenRevalidatingAuthorizedResponsesWithMustRevalidate 0.005
testProperlyFormattedViaHeaderIsAddedToResponses 0.003
testHigher1_XProtocolVersionsDowngradeTo1_1 0.003
testExpectHeadersAreForwardedOnRequests 0.001
testCacheMissOnGETUsesOriginResponse 0.002
testOrderOfMultipleAcceptCharsetHeadersIsPreservedOnRequests 0.003
testDELETEWithIfNoneMatchWeakETagIsNotAllowed 0.001
testDoesNotModifyContentLocationHeaderOnRequest 0.002
testPutDoesNotInvalidateCacheForUriInContentLocationHeadersFromOtherHosts 0.003
test304ResponseGeneratedFromCacheIncludesContentLocationIfOriginResponseDid 0.004
testOrderOfMultipleAcceptEncodingHeadersIsPreservedOnRequests 0.002
testHEADResponseWithUpdatedLastModifiedFieldMakeACacheEntryStale 0.005
testDeleteInvalidatesCacheForThatUriInLocationHeader 0.006
testSubrangeGETWithWeakETagIsNotAllowed 0.002
testOrderOfMultipleWWWAuthenticateHeadersIsPreservedOnResponses 0.003
testCONNECTRequestsAreWrittenThroughToOrigin 0.003
testCachedResponsesWithMissingDateHeadersShouldBeAssignedOne 0.003
testExpiresHeaderEqualToDateHeaderIsTreatedAsStale 0.003
testDoesNotTransmitNoCacheDirectivesWithFieldsDownstream 0.002
testExpiresHeaderMatchesDateIfAddedToOriginResponse 0.002
testNoCacheOnFieldIsNotReturnedWithoutRevalidation 0.004
test206ResponseIsNotCombinedWithPreviousContentIfETagDoesNotMatch 0.004
testSubrangeGETMustUseStrongComparisonForCachedResponse 0.003
testOrderOfMultipleWarningHeadersIsPreservedOnRequests 0.003
testMustNotAddMultipartByteRangeContentTypeTo416Response 0.002
testCacheControlPrivateIsNotCacheableBySharedCache 0.003
testOrderOfMultiplePragmaHeadersIsPreservedOnRequests 0.003
testSharedCacheMustRevalidateAuthorizedResponsesWhenSMaxAgeIsZero 0.004
test206ResponseIsNotCombinedWithPreviousContentIfLastModifiedDoesNotMatch 0.003
testPutDoesNotInvalidateCacheForUriInLocationHeadersFromOtherHosts 0.003
testMultiHeadersAreSuccessfullyReplacedOn304Validation 0.003
testResponsesToPUTsAreNotCached 0.003
testCacheWithoutSupportForRangeAndContentRangeHeadersDoesNotCacheA206Response 0.003
testNoStoreOnResponseIsNotStoredInCacheEvenWithContraryIndicators 0.003
testDoesNotModifyContentLocationHeaderFromOrigin 0.002
testOrderOfMultipleViaHeadersIsPreservedOnResponses 0.002
testNoCacheCannotSatisfyASubsequentRequestWithoutRevalidationEvenWithContraryIndications 0.002
testMustDiscardLeastRecentPartialResponseIfCachedResponseDoesNotHaveCacheValidator 0.003
test1xxWarningsAreDeletedAfterSuccessfulRevalidation 0.003
testDoesNotAddContentRangeHeaderToCachedResponseWithNoTransformIfNotPresent 0.003
testOrderOfMultipleContentEncodingHeaderValuesIsPreserved 0.002
testDoesNotAddContentMD5ToRequestIfNotPresent 0.003
testDoesNotModifyContentEncodingHeaderOnCachedResponseWithNoTransform 0.002
test206ResponseToConditionalRangeRequestDoesNotIncludeOtherEntityHeaders 0.002
test206ResponseGeneratedFromCacheMustHaveDateHeader 0.002
testDoesNotModifyAllowHeaderWithUnknownMethods 0.002
testStaleEntryWithMustRevalidateIsNotUsedWithoutRevalidatingWithOrigin 0.004
testOrderOfMultipleCacheControlHeadersIsPreservedOnResponses 0.003
testSharedCacheMustUseNewRequestHeadersWhenRevalidatingAuthorizedResponsesWithSMaxAge 0.003
testPutInvalidatesCacheForThatUriInRelativeContentLocationHeader 0.003
testNoStoreOnRequestIsNotStoredInCacheEvenIfResponseMarkedCacheable 0.002
testMustReturnAFreshEnoughCacheEntryIfItHasIt 0.002
testDoesNotModifyContentLocationFromOriginOnCacheHit 0.003
testPutInvalidatesCacheForThatUriInLocationHeader 0.004
testUnknownHeadersOnRequestsAreForwarded 0.003
testOrderOfMultipleCacheControlHeadersIsPreservedOnRequests 0.003
testDoesNotModifyLastModifiedFromOriginOnCacheHit 0.003
testDoesNotAddContentRangeHeaderToRequestIfNotPresent 0.002
testDELETEWithIfMatchWeakETagIsNotAllowed 0.001
testDoesNotModifyContentMD5HeaderFromOrigin 0.002
test303ResponsesAreNotCached 0.002
testResponsesToDELETEsAreNotCached 0.002
testConditionalRequestWhereNotAllValidatorsMatchCannotBeServedFromCache 0.003
testMustDiscardLeastRecentPartialResponseIfIncomingRequestDoesNotHaveCacheValidator 0.003
testCacheIsNotUsedWhenRespondingToRequestWithPragmaNoCache 0.003
testOrderOfMultiplePragmaHeadersIsPreservedOnResponses 0.002
testCannotCombinePartialResponseIfCacheValidatorsDoNotStronglyMatch 0.004
testDoesNotModifyExpiresHeaderFromOrigin 0.002
testExpiresZeroHeaderIsTreatedAsStale 0.002
testPUTWithIfNoneMatchWeakETagIsNotAllowed 0.001
testResponseToAHEADRequestMustNotHaveABody 0.003
testOrderOfMultipleExpectHeadersIsPreservedOnRequests 0.002
testUnknownResponseStatusCodesAreNotCached 0.393
testDoesNotAddContentRangeToRequestIfNotPresent 0.002
testDoesNotAddContentLocationToOriginResponse 0.003
testHEADResponseWithUpdatedContentLengthFieldMakeACacheEntryStale 0.004
testDoesNotModifyContentRangeHeaderOnCachedResponseWithNoTransform 0.003
testDoesNotAddContentMD5ToOriginResponse 0.001
testDoesNotAddETagHeaderOnCacheHit 0.002
testAgeHeaderPopulatedFromCacheEntryCurrentAge 0.002
testViaHeaderOnResponseProperlyRecordsOriginProtocol 0.002
testMustServeAppropriateErrorOrWarningIfNoOriginCommunicationPossible 0.002
test206ResponseGeneratedFromCacheMustHaveABodyThatMatchesContentLengthHeaderIfPresent 0.003
testPostDoesNotInvalidateCacheForUriInContentLocationHeadersFromOtherHosts 0.002
testNonmatchingVariantCannotBeServedFromCacheUnlessConditionallyValidated 0.003
test304ResponseGeneratedFromCacheIncludesEtagIfOriginResponseDid 0.002
testForwardsUnknownHeadersOnRequestsFromHigherProtocolVersions 0.003
testWarning110IsAddedToStaleResponses 0.004
testPOSTRequestsAreWrittenThroughToOrigin 0.002
testGenerates504IfSharedCacheCannotRevalidateAProxyRevalidateEntry 0.003
testDoesNotModifyETagHeaderOnRequest 0.002
testPUTRequestsAreWrittenThroughToOrigin 0.002
testMalformedExpiresHeaderIsTreatedAsStale 0.003
testDoesNotAddETagToRequestIfNotPresent 0.002
test304ResponseGeneratedFromCacheIncludesDateHeader 0.003
testSharedCacheMayCacheAuthorizedResponsesWithMustRevalidate 0.005
testStaleEntryWithProxyRevalidateOnSharedCacheIsNotUsedWithoutRevalidatingWithOrigin 0.004
testCannotServeFromCacheForVaryStar 0.004
test206ResponsesAreNotCachedIfTheCacheDoesNotSupportRangeAndContentRangeHeaders 0.002
testDoesNotAddContentTypeHeaderToOriginResponseWithNoTransformIfNotPresent 0.002
testOrderOfMultipleTransferEncodingsInSingleHeadersIsPreserved 0.003
testPutInvalidatesCacheForThatUriInContentLocationHeader 0.003
testUnknownMethodRequestsAreWrittenThroughToOrigin 0.002
testDoesNotAddAMaxForwardsHeaderToForwardedOPTIONSRequests 0.002
testDeleteInvalidatesCacheForThatUriInRelativeContentLocationHeader 0.002
testStripsBadlyDatedWarningsFromStoredResponses 0.002
testCannotCombinePartialResponseIfIncomingResponseDoesNotHaveACacheValidator 0.004
testDeleteDoesNotInvalidateCacheForUriInLocationHeadersFromOtherHosts 0.004
test304GeneratedFromCacheOnWeakValidatorDoesNotIncludeOtherEntityHeaders 0.004
testPUTWithIfMatchWeakETagIsNotAllowed 0.002
testOrderOfMultipleTransferEncodingHeadersIsPreserved 0.003
testDoesNotAddContentEncodingHeaderToOriginResponseWithNoTransformIfNotPresent 0.002
testDoesNotModifyContentTypeHeaderFromOriginResponseWithNoTransform 0.005
testOrderOfMultipleContentLanguageHeadersIsPreservedOnResponses 0.003
testHEADResponseWithUpdatedETagFieldMakeACacheEntryStale 0.003
testDoesNotAddLastModifiedToOriginResponse 0.003
testPostDoesNotInvalidateCacheForUriInLocationHeadersFromOtherHosts 0.005
testDeleteToUriInvalidatesCacheForThatUri 0.003
testDoesNotModifyLastModifiedHeaderFromOrigin 0.003
test200ResponseToOPTIONSWithNoBodyShouldIncludeContentLengthZero 0.002
testUpdatedEndToEndHeadersFrom304ArePassedOnResponseAndUpdatedInCacheEntry 0.004
testDoesNotModifyContentMD5FromOriginOnCacheHit 0.002
testPostInvalidatesCacheForThatUriInLocationHeader 0.003
testAttachesWarningHeaderWhenGeneratingStaleResponse 0.001
testMustDiscardLeastRecentPartialResponseIfCacheValidatorsDoNotStronglyMatchEvenIfResponsesOutOfOrder 0.003
testHigherMajorProtocolVersionsOnRequestSwitchToTunnelBehavior 0.005
testDoesNotAddContentLocationHeaderOnCacheHit 0.003
testDoesNotAddContentMD5HeaderOnCacheHit 0.003
testPostToUriInvalidatesCacheForThatUri 0.003
testOPTIONSRequestsAreWrittenThroughToOrigin 0.003
test304ResponseWithDateHeaderForwardedFromOriginIncludesDateHeader 0.002
testMustReturnACacheEntryIfItCanRevalidateIt 0.003
testNoStoreOnRequestIsNotStoredInCache 0.002
testDeleteDoesNotInvalidateCacheForUriInContentLocationHeadersFromOtherHosts 0.002
testHeuristicCacheOlderThan24HoursHasWarningAttached 0.003
testPostInvalidatesCacheForRelativeUriInContentLocationHeader 0.003
testDoesNotModifyContentEncodingHeaderFromOriginResponseWithNoTransform 0.002
testDoesNotModifyContentRangeHeaderFromOriginResponseWithNoTransform 0.001
testTransferCodingsAreNotSentToAnHTTP_1_0Client 0.002
testDoesNotAddContentEncodingHeaderToRequestIfNotPresent 0.003
testOrderOfMultipleContentLanguageHeadersIsPreservedOnRequests 0.003
testNotModifiedOfNonCachedEntityShouldRevalidateWithUnconditionalGET 0.003
testCacheControlPrivateOnFieldIsNotReturnedBySharedCache 0.004
testDoesNotModifyExpiresHeaderFromOriginOnCacheHit 0.002
testCacheEntryIsUpdatedWithNewFieldValuesIn304Response 0.003
testDoesNotModifyContentTypeHeaderOnCachedResponseWithNoTransform 0.004
testDoesNotAddContentEncodingToRequestIfNotPresent 0.002
testNoCacheCannotSatisfyASubsequentRequestWithoutRevalidation 0.003
testMustIncludeAllowHeaderFromAnOrigin405Response 0.002
testDoesNotModifyLastModifiedHeaderOnRequest 0.004
testResponsesToPOSTWithoutCacheControlOrExpiresAreNotCached 0.003
testVaryStarIsNotGeneratedByProxy 0.004
testDoesNotModifyEtagFromOriginOnCacheHit 0.003
testViaHeaderOnRequestProperlyRecordsClientProtocol 0.004
testTRACERequestsAreWrittenThroughToOrigin 0.003
testDecrementsMaxForwardsWhenForwardingOPTIONSRequest 0.003
testMustIncludeWWWAuthenticateHeaderOnAnOrigin401Response 0.002
testRetainsWarningHeadersReceivedFromUpstream 0.002
testOrderOfMultipleAllowHeadersIsPreservedOnRequests 0.003
testPutToUriInvalidatesCacheForThatUri 0.004
testDeleteInvalidatesCacheForThatUriInContentLocationHeader 0.003
testProperlyFormattedViaHeaderIsAddedToRequests 0.003
testRequestsExpecting100ContinueBehaviorShouldSetExpectHeader 0.002
testResponsesToOPTIONSAreNotCacheable 0.003
testCannotUseVariantCacheEntryIfNotAllSelectingRequestHeadersMatch 0.004
testOrderOfMultipleParametersInContentEncodingHeaderIsPreserved 0.003
testDoesNotAddLastModifiedHeaderOnCacheHit 0.003
test206ResponseIncludesVariantHeadersIfValueMightDiffer 0.004
testSharedCacheMustNotNormallyCacheAuthorizedResponses 0.004
testKeepsMostRecentDateHeaderForFreshResponse 0.004
testDoesNotModifyEtagHeaderFromOrigin 0.003
testResponseToA1_0RequestShouldUse1_1 0.004
testOrderOfMultipleAcceptLanguageHeadersIsPreservedOnRequests 0.004
testSharedCacheMayCacheAuthorizedResponsesWithSMaxAgeHeader 0.004
testDoesNotAddContentRangeHeaderToOriginResponseWithNoTransformIfNotPresent 0.002
testCacheDoesNotAssumeContentLocationHeaderIndicatesAnotherCacheableResource 0.003
test206ContainsETagIfA200ResponseWouldHaveIncludedIt 0.005
testResponseIncludesCacheEntryEndToEndHeadersForResponseAfter304Validation 0.005
testMustNotUseMultipartByteRangeContentTypeOnCacheGenerated416Responses 0.004

TestRequestProtocolCompliance

testRequestWithWeakETagAndRange 0.001
doesNotModifyACompliantRequest 0.002
testRequestWithWeekETagForPUTOrDELETEIfMatchAllowed 0.003
upgrades1_0RequestTo1_1 0.001
testRequestWithWeekETagForPUTOrDELETEIfMatch 0.001
downgrades1_2RequestTo1_1 0.001
doesNotStripMinFreshFromRequestWithoutNoCache 0.001
testRequestContainsNoCacheDirectiveWithFieldName 0.001
stripsMinFreshFromRequestIfNoCachePresent 0.003
stripsMaxFreshFromRequestIfNoCachePresent 0.001
correctlyStripsMinFreshFromMiddleIfNoCache 0
stripsMaxAgeFromRequestIfNoCachePresent 0.001

TestResponseCacheConformance

shouldStripContentLengthFromOrigin304ResponseToStrongValidation 0.003
shouldStripContentEncodingFromOrigin304ResponseToStrongValidation 0
shouldStripContentTypeFromOrigin304ResponseToStrongValidation 0
shouldStripContentMD5FromOrigin304ResponseToStrongValidation 0.001
shouldStripContentLanguageFromOrigin304ResponseToStrongValidation 0.001

TestResponseCachingPolicy

test303WithExplicitCachingHeadersUnderDefaultBehavior 0.001
testPlain303ResponseCodeIsNotCacheableEvenIf303CachingEnabled 0.001
testPlain303ResponseCodeIsNotCacheableUnderDefaultBehavior 0
testIsArbitraryMethodCacheableUsingSharedPublicCache 0
testIsHeadCacheable 0
testResponsesToGETWithQueryParamsAndExplicitCachingAreCacheable 0.001
testIsArbitraryMethodCacheable 0
test410ResponseCodeIsCacheable 0.001
test206ResponseCodeIsNotCacheable 0.001
testNon206WithSMaxAgeIsCacheable 0.001
testNon206WithPrivateCacheControlIsNotCacheableBySharedCache 0
testIsGetWithAnyCacheControlCacheable 0
headsWithQueryParametersFrom1_0OriginsViaExplicitProxiesCanNotBeCacheableEvenWithExpires 0
getsWithQueryParametersFrom1_0OriginsViaProxiesAreCacheableWithExpires 0.001
testResponsesWithMultipleExpiresHeadersAreNotCacheable 0
testIsHeadWithNoCacheEmbeddedInListCacheable 0.001
headsWithQueryParametersDirectlyFrom1_0OriginsAreCacheableWithExpires 0
testIsHeadWithAnyCacheControlCacheable 0
testVaryStarIsNotCacheableUsingSharedPublicCache 0.001
testIsHeadWithVaryHeaderCacheable 0
testAuthorizedResponsesWithCacheControlPublicAreCacheable 0
testPlain302ResponseCodeIsNotCacheable 0.001
testResponsesToHEADWithQueryParamsAndExplicitCachingAreCacheable 0
notCacheableIfExpiresPrecedesDateAndNoCacheControl 0.001
headsWithQueryParametersFrom1_0OriginsViaProxiesAreNotCacheable 0.001
test302WithExplicitCachingHeaders 0.001
test303WithExplicitCachingHeadersWhenPermittedByConfig 0.001
testResponsesToHEADWithQueryParamsButNoExplicitCachingAreNotCacheableEvenWhen1_0QueryCachingDisabled 0.001
test206ResponseCodeIsNotCacheableUsingSharedPublicCache 0.001
headsWithQueryParametersFrom1_0OriginsViaProxiesCanNotBeCacheableEvenWithExpires 0.001
testResponsesWithMalformedDateHeadersAreNotCacheableUsingSharedPublicCache 0
testIsGetWithNoCacheEmbeddedInListCacheable 0
notCacheableIfExpiresEqualsDateAndNoCacheControl 0
testResponsesToRequestsWithNoStoreAreNotCacheable 0
testResponsesWithoutDateHeadersAreNotCacheable 0
testResponsesToHEADWithQueryParamsButNoExplicitCachingAreNotCacheable 0.001
testIsGetWithNoStoreCacheable 0.001
testIsGetWithNoCacheCacheable 0.001
testPlain307ResponseCodeIsNotCacheable 0.001
getsWithQueryParametersDirectlyFrom1_0OriginsAreNotCacheable 0.001
test307WithExplicitCachingHeaders 0.001
testResponsesToRequestsWithAuthorizationHeadersAreCacheableByNonSharedCache 0.001
testNon206WithMustRevalidateIsCacheable 0.001
getsWithQueryParametersDirectlyFrom1_0OriginsAreNotCacheableEvenWithSetting 0.001
testResponsesWithMalformedDateHeadersAreNotCacheable 0.001
testResponsesWithMultipleDateHeadersAreNotCacheableUsingSharedPublicCache 0.001
testResponsesWithMultipleAgeHeadersAreNotCacheableUsingSharedPublicCache 0
testResponsesWithMultipleExpiresHeadersAreNotCacheableUsingSharedPublicCache 0.001
headsWithQueryParametersFrom1_0OriginsViaExplicitProxiesAreCacheableWithExpires 0.002
testIsHeadWithout200Cacheable 0.001
testResponsesToRequestsWithAuthorizationHeadersAreNotCacheableBySharedCache 0
getsWithQueryParametersDirectlyFrom1_0OriginsAreCacheableWithExpires 0.002
testIsHeadWithNoStoreCacheable 0.001
testResponsesToHEADWithQueryParamsAndExplicitCachingAreCacheableEvenWhen1_0QueryCachingDisabled 0.001
testIsGetWithNoCacheEmbeddedInListAfterFirstHeaderCacheable 0.001
testIsHeadWithNoCacheCacheable 0.001
headsWithQueryParametersFrom1_0OriginsViaProxiesAreCacheableWithExpires 0.001
test203ResponseCodeIsCacheable 0.001
testIsGetWithNoStoreEmbeddedInListAfterFirstHeaderCacheable 0.003
test301ResponseCodeIsCacheable 0.001
testNon206WithExplicitExpiresIsCacheable 0.001
headsWithQueryParametersDirectlyFrom1_0OriginsCanBeNotCacheableEvenWithExpires 0.002
testResponsesWithMultipleDateHeadersAreNotCacheable 0.002
test300ResponseCodeIsCacheable 0.001
testNon206WithMaxAgeIsCacheable 0.001
testResponsesToGETWithQueryParamsAndExplicitCachingAreCacheableEvenWhen1_0QueryCachingDisabled 0.001
getsWithQueryParametersFrom1_0OriginsViaProxiesCanNotBeCacheableEvenWithExpires 0
test200ResponseWithPrivateCacheControlIsCacheableByNonSharedCache 0.001
testAuthorizedResponsesWithCacheControlMaxAgeAreNotCacheable 0.001
getsWithQueryParametersFrom1_0OriginsViaExplicitProxiesCanNotBeCacheableEvenWithExpires 0.001
getsWithQueryParametersDirectlyFrom1_0OriginsCanBeNotCacheableEvenWithExpires 0.001
testResponsesWithMultipleAgeHeadersAreNotCacheable 0.001
headsWithQueryParametersFrom1_1OriginsVia1_0ProxiesAreCacheableWithExpires 0.002
testIsGetWithVaryHeaderCacheable 0
testResponsesToGETWithQueryParamsButNoExplicitCachingAreNotCacheableEvenWhen1_0QueryCachingDisabled 0.001
getsWithQueryParametersFrom1_1OriginsVia1_0ProxiesAreCacheableWithExpires 0
testResponseThatHasTooMuchContentIsNotCacheable 0.001
testAuthorizedResponsesWithSMaxAgeAreCacheable 0
getsWithQueryParametersFrom1_0OriginsViaProxiesAreNotCacheable 0
testIsHeadWithNoStoreEmbeddedInListCacheable 0
testResponsesThatAreSmallEnoughAreCacheable 0
testNon206WithPublicCacheControlIsCacheable 0.001
testResponseThatHasTooMuchContentIsNotCacheableUsingSharedPublicCache 0.001
testIsGetWithNoStoreEmbeddedInListCacheable 0.001
getsWithQueryParametersFrom1_0OriginsViaExplicitProxiesAreCacheableWithExpires 0.001
testIsHeadWithNoCacheEmbeddedInListAfterFirstHeaderCacheable 0.002
testVaryStarIsNotCacheable 0.001
testIsGetCacheable 0.001
testIsHeadWithNoStoreEmbeddedInListAfterFirstHeaderCacheable 0
testAuthorizedResponsesWithMustRevalidateAreCacheable 0.001
testIsGetWithout200Cacheable 0.001
testNon206WithProxyRevalidateIsCacheable 0
testResponsesToGETWithQueryParamsButNoExplicitCachingAreNotCacheable 0.001
otherStatusCodesAreCacheableWithExplicitCachingHeaders 0
headsWithQueryParametersDirectlyFrom1_0OriginsAreNotCacheable 0
headsWithQueryParametersDirectlyFrom1_0OriginsAreNotCacheableEvenWithSetting 0.001

TestResponseProtocolCompliance

throwsExceptionIfOriginReturnsPartialResponseWhenNotRequested 0.003

TestRFC5861Compliance

testStaleIfErrorInResponseYieldsToProxyRevalidateForSharedCache 0.006
testStaleIfErrorInRequestIsFalseReturnsError 0.004
testStaleIfErrorInResponseIsTrueReturnsStaleEntryWithWarning 0.005
testStaleWhileRevalidateYieldsToProxyRevalidateForSharedCache 0.005
testStaleWhileRevalidateYieldsToExplicitFreshnessRequest 0.005
testStaleWhileRevalidateYieldsToMustRevalidate 0.005
testStaleIfErrorInResponseYieldsToMustRevalidate 0.005
testStaleWhileRevalidateReturnsStaleEntryWithWarning 0.017
testStaleIfErrorInResponseYieldsToExplicitFreshnessRequest 0.006
testCanAlsoServeStale304sWhileRevalidating 0.007
testConsumesErrorResponseWhenServingStale 0.004
testStaleIfErrorInResponseIsFalseReturnsError 0.003
testStaleIfErrorInRequestIsTrueReturnsStaleNonRevalidatableEntryWithWarning 0.004
testStaleIfErrorInRequestIsTrueReturnsStaleEntryWithWarning 0.003
testStaleIfErrorInResponseNeedNotYieldToProxyRevalidateForPrivateCache 0.003
testStaleWhileRevalidateReturnsStaleNonRevalidatableEntryWithWarning 0.004

TestViaCacheGenerator

testViaValueLookup 0.013
testViaValueGeneration 0.001

TestWarningValue

testConstructWarnValueWithRFC1123WarnDate 0
testMidHeaderParseErrorRecovery 0
testParseMultipleWarnValues 0
testConstructWarnValueWithTextWithCommas 0
testConstructWarnValueWithTextWithSpaces 0.001
testConstructWarnValueWithIPv4Address 0
testConstructWarnValueWithHostnameAndPort 0
testConstructWarnValueWithIPv4AddressAndPort 0.001
testConstructWarnValueWithAscTimeWarnDate 0.001
testParseSingleWarnValue 0.001
testConstructWarnValueWithHostname 0.001
testConstructWarnValueWithTextWithEscapedQuotes 0
testTrickyCommaMidHeaderParseErrorRecovery 0.001
testParseErrorRecoveryAtEndOfHeader 0.001
testConstructSingleWarnValue 0
testConstructWarnValueWithRFC850WarnDate 0.006
testConstructWarnValueWithPseudonym 0.001

TestExponentialBackingOffSchedulingStrategy

testSchedule 0.001

TestImmediateSchedulingStrategy

testSchedule 0.001

TestConcurrentCountMap

testBasics 0