Surefire Report

Summary

[Summary] [Package List] [Test Cases]


Tests Errors Failures Skipped Success Rate Time
842 0 0 0 100% 6.507

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.005
org.apache.hc.client5.http.schedule 1 0 0 0 100% 0.001
org.apache.hc.client5.http.cache 27 0 0 0 100% 1.33
org.apache.hc.client5.http.impl.cache 810 0 0 0 100% 4.35
org.apache.hc.client5.http.impl.cache.memcached 2 0 0 0 100% 0.821

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.001

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.212
TestHttpCacheEntry 24 0 0 0 100% 1.118

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

Class Tests Errors Failures Skipped Success Rate Time
TestAbstractSerializingAsyncCacheStorage 12 0 0 0 100% 0.344
TestAbstractSerializingCacheStorage 12 0 0 0 100% 0.146
TestBasicHttpCache 14 0 0 0 100% 0.095
TestByteArrayCacheEntrySerializer 36 0 0 0 100% 0.07
TestCacheableRequestPolicy 7 0 0 0 100% 0.017
TestCachedHttpResponseGenerator 9 0 0 0 100% 0.181
TestCachedResponseSuitabilityChecker 20 0 0 0 100% 0.062
TestCacheKeyGenerator 28 0 0 0 100% 0.264
TestCacheRevalidatorBase 6 0 0 0 100% 0.096
TestCacheUpdateHandler 13 0 0 0 100% 0.037
TestCacheValidityPolicy 43 0 0 0 100% 0.084
TestCachingExecChain 47 0 0 0 100% 0.55
TestCombinedEntity 1 0 0 0 100% 0.026
TestConditionalRequestBuilder 16 0 0 0 100% 0.026
TestDateSupport 2 0 0 0 100% 0.005
TestDefaultAsyncCacheInvalidator 31 0 0 0 100% 0.161
TestDefaultCacheInvalidator 31 0 0 0 100% 0.093
TestHttpByteArrayCacheEntrySerializer 20 0 0 0 100% 0.111
TestHttpCacheJiraNumber1147 1 0 0 0 100% 0.369
TestProtocolAllowedBehavior 2 0 0 0 100% 0.01
TestProtocolDeviations 4 0 0 0 100% 0.012
TestProtocolRecommendations 87 0 0 0 100% 0.328
TestProtocolRequirements 226 0 0 0 100% 1.038
TestRequestProtocolCompliance 12 0 0 0 100% 0.01
TestResponseCachingPolicy 96 0 0 0 100% 0.091
TestResponseProtocolCompliance 1 0 0 0 100% 0.004
TestRFC5861Compliance 16 0 0 0 100% 0.097
TestWarningValue 17 0 0 0 100% 0.023

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

Class Tests Errors Failures Skipped Success Rate Time
TestPrefixKeyHashingScheme 1 0 0 0 100% 0.004
TestSHA256HashingScheme 1 0 0 0 100% 0.817

Test Cases

[Summary] [Package List] [Test Cases]

ManagedHttpCacheStorageTest

cacheDisableThrowsIllegalStateException 0.136
isActive 0.004
putEntry 0.004

TestHttpCacheEntry

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

TestPrefixKeyHashingScheme

addsPrefixToBackingScheme 0.002

TestSHA256HashingScheme

canHash 0.816

TestAbstractSerializingAsyncCacheStorage

testCacheUpdateFail 0.231
testCacheGetKeyMismatch 0.017
testBulkGet 0.014
testCacheRemove 0.003
testCacheGetNullEntry 0.004
testCacheGet 0.005
testCachePut 0.007
testCacheCASUpdate 0.008
testCacheUpdateNullEntry 0.006
testSingleCacheUpdateRetry 0.009
testCacheCASUpdateKeyMismatch 0.012
testBulkGetKeyMismatch 0.01

TestAbstractSerializingCacheStorage

testCacheUpdateFail 0.066
testCacheGetKeyMismatch 0.019
testBulkGet 0.008
testCacheRemove 0.002
testCacheGetNullEntry 0.004
testCacheGet 0.004
testCachePut 0.003
testCacheCASUpdate 0.006
testCacheUpdateNullEntry 0.004
testSingleCacheUpdateRetry 0.008
testCacheCASUpdateKeyMismatch 0.006
testBulkGetKeyMismatch 0.006

TestBasicHttpCache

testDoNotFlushCacheEntriesOnOptions 0.024
testDoNotFlushCacheEntriesOnTrace 0.002
testGetVariantCacheEntriesReturnsAllVariants 0.021
testDoNotFlushContentLocationEntryIfSafeRequest 0.003
testCanFlushCacheEntriesAtUri 0.004
testStoreInCachePutsNonVariantEntryInPlace 0.002
testGetCacheEntryReturnsNullIfNoVariantInCache 0.005
testGetCacheEntryReturnsNullOnCacheMiss 0.001
testFlushContentLocationEntryIfUnSafeRequest 0.007
testDoNotFlushCacheEntriesOnGet 0.002
testDoNotFlushCacheEntriesOnHead 0.003
testGetCacheEntryFetchesFromCacheOnCacheHitIfNoVariants 0.002
testGetCacheEntryReturnsVariantIfPresentInCache 0.003
testGetVariantCacheEntriesReturnsEmptySetOnNoVariants 0.002

TestByteArrayCacheEntrySerializer

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

TestCacheableRequestPolicy

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

TestCachedHttpResponseGenerator

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

TestCachedResponseSuitabilityChecker

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

TestCacheKeyGenerator

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

TestCacheRevalidatorBase

testRevalidateCacheEntryProperlyCollapsesRequest 0.063
testRevalidateCacheEntrySchedulesExecutionAndPopulatesIdentifier 0.004
testStaleResponse 0.004
testRevalidateCacheEntryDoesNotPopulateIdentifierOnRejectedExecutionException 0.011
testShutdown 0.003
testMarkCompleteRemovesIdentifier 0.005

TestCacheUpdateHandler

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

TestCacheValidityPolicy

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

TestCachingExecChain

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

TestCombinedEntity

testCombinedEntityBasics 0.025

TestConditionalRequestBuilder

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

TestDateSupport

testIsBefore 0.003
testIsAfter 0.002

TestDefaultAsyncCacheInvalidator

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

TestDefaultCacheInvalidator

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

TestHttpByteArrayCacheEntrySerializer

fileObjectTest 0.035
testDeserializeWithIOException 0.025
escapedHeaderTestFromPreviouslySerialized 0.001
noBodyTest 0.001
emptyBodyTest 0.001
testEscapedHeaders 0.002
testInvalidCacheEntry 0.002
fileTestFromPreviouslySerialized 0.004
testSerializeWithHTTPException 0.017
testInvalidHeaderCacheEntry 0.001
testMissingHeaderCacheEntry 0.001
simpleTestFromPreviouslySerialized 0.001
testVariantMapMissingValueCacheEntry 0.001
noBodyTestFromPreviouslySerialized 0.001
variantMapTestFromPreviouslySerialized 0.001
testSimpleVariantMap 0.002
simpleObjectTest 0.001
testVariantMapMissingKeyCacheEntry 0.002
testNullStorageKey 0.002
noHeadersTest 0.001

TestHttpCacheJiraNumber1147

testIssue1147 0.368

TestProtocolAllowedBehavior

testNonSharedCacheReturnsStaleResponseWhenRevalidationFailsForProxyRevalidate 0.005
testNonSharedCacheMayCacheResponsesWithCacheControlPrivate 0.003

TestProtocolDeviations

testPassesOnOrigin407WithoutAProxyAuthenticateHeader 0.003
testPassesOnOrigin401ResponseWithoutWWWAuthenticateHeader 0.003
testPassesOnOrigin405WithoutAllowHeader 0.003
testPartialContentIsNotReturnedToAClientThatDidNotAskForIt 0.002

TestProtocolRecommendations

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

TestProtocolRequirements

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

TestRequestProtocolCompliance

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

TestResponseCachingPolicy

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

TestResponseProtocolCompliance

throwsExceptionIfOriginReturnsPartialResponseWhenNotRequested 0.003

TestRFC5861Compliance

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

TestWarningValue

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

TestExponentialBackingOffSchedulingStrategy

testSchedule 0.002

TestImmediateSchedulingStrategy

testSchedule 0.001

TestConcurrentCountMap

testBasics 0