TestProtocolRequirements

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total5,790 of 5,7900%56 of 560%1881881,2331,233159159
testMustReturnACacheEntryIfItCanRevalidateIt()1960%n/a11363611
testUpdatedEndToEndHeadersFrom304ArePassedOnResponseAndUpdatedInCacheEntry()1890%20%22313111
test304ResponseGeneratedFromCacheIncludesExpiresCacheControlAndOrVaryIfResponseMightDiffer()1540%n/a11333311
testResponseIncludesCacheEntryEndToEndHeadersForResponseAfter304Validation()1540%20%22191911
testValidationMustUseETagIfProvidedByOriginServer()1320%80%55333311
testCacheEntryIsUpdatedWithNewFieldValuesIn304Response()1290%n/a11262611
test304GeneratedFromCacheOnWeakValidatorDoesNotIncludeOtherEntityHeaders()1230%n/a11272711
testAgeHeaderPopulatedFromCacheEntryCurrentAge()1100%n/a11161611
testKeepsMostRecentDateHeaderForFreshResponse()1070%n/a11232311
testMustReturnAFreshEnoughCacheEntryIfItHasIt()1050%n/a11151511
testStaleCacheResponseMustBeRevalidatedWithOrigin(ClassicHttpResponse)1050%60%44232311
testNonMatchingVariantCannotBeServedFromCacheUnlessConditionallyValidated()1000%n/a11202011
testMultiHeadersAreSuccessfullyReplacedOn304Validation()970%n/a11212111
testNoCacheOnFieldIsNotReturnedWithoutRevalidation()970%20%22202011
testSharedCacheMustUseNewRequestHeadersWhenRevalidatingAuthorizedResponse(ClassicHttpResponse)960%20%22202011
testConditionalRequestWhereAllValidatorsMatchMayBeServedFromCache()900%n/a11171711
testCachedEntityBodyIsUsedForResponseAfter304Validation()900%20%22191911
testConditionalRequestWhereNotAllValidatorsMatchCannotBeServedFromCache()870%n/a11181811
testCannotUseVariantCacheEntryIfNotAllSelectingRequestHeadersMatch()870%n/a11171711
testSharedCacheRevalidatesAuthorizedResponse(ClassicHttpResponse, int, int)870%20%22141411
testNotModifiedOfNonCachedEntityShouldRevalidateWithUnconditionalGET()860%n/a11161611
testCacheControlPrivateOnFieldIsNotReturnedBySharedCache()860%20%22151511
testCacheIsNotUsedWhenRespondingToRequest(ClassicHttpRequest)850%n/a11171711
testCannotServeFromCacheForVaryStar()790%n/a11151511
testUnsafeOperationInvalidatesCacheForThatUri(ClassicHttpRequest)760%n/a11141411
testUnsafeMethodInvalidatesCacheForHeaderUri(ClassicHttpRequest)760%n/a11141411
setUp()720%n/a11151511
test304ResponseGeneratedFromCacheIncludesContentLocationIfOriginResponseDid()720%n/a11131311
test304ResponseGeneratedFromCacheIncludesDateHeader()670%n/a11121211
test304ResponseGeneratedFromCacheIncludesEtagIfOriginResponseDid()670%n/a11121211
testNoCacheCannotSatisfyASubsequentRequestWithoutRevalidation()670%n/a11121211
testCacheDoesNotAssumeContentLocationHeaderIndicatesAnotherCacheableResource()670%n/a11141411
testExpiresHeaderEqualToDateHeaderIsTreatedAsStale()620%n/a11121211
testOrderOfMultipleContentEncodingHeaderValuesIsPreserved()610%50%44181811
testNoCacheCannotSatisfyASubsequentRequestWithoutRevalidationEvenWithContraryIndications()590%n/a11121211
testInvalidExpiresHeaderIsTreatedAsStale(String)590%n/a11121211
test302ResponseWithoutExplicitCacheabilityIsNotReturnedFromCache()570%n/a119911
testDoesNotAddHeaderToRequestIfNotPresent(String)570%n/a11111111
testOrderOfMultipleParametersInContentEncodingHeaderIsPreserved()560%50%44171711
testCacheControlPrivateIsNotCacheableBySharedCache()550%20%22111111
testUnknownResponseStatusCodeIsNotCached(int)540%n/a119911
testGenerates504IfCannotRevalidateStaleResponse(ClassicHttpResponse)540%n/a119911
testCacheWithoutSupportForRangeAndContentRangeHeadersDoesNotCacheA206Response()520%n/a11101011
testDoesNotModifyHeaderFromOriginOnCacheHit(String, String)520%n/a11101011
testUnknownResponseStatusCodesAreNotCached()510%100%66111111
decorateWithEndToEndHeaders(ClassicHttpResponse)510%n/a11121211
testResponsesToPOSTWithoutCacheControlOrExpiresAreNotCached()490%n/a119911
testDoesNotModifyHeaderOnCachedResponseWithNoTransform(String, String)490%n/a119911
testDoesNotAddHeaderOnCacheHit(String)470%n/a119911
testDoesNotModifyHeaderOnRequest(String, String)470%n/a11101011
testUnknownHeadersOnRequestsAreForwarded()460%n/a118811
testResponsesToPUTsAreNotCached()440%n/a118811
testResponsesToOPTIONSAreNotCacheable()380%n/a116611
testResponsesToDELETEsAreNotCached()380%n/a116611
testResponsesToTRACEsAreNotCached()380%n/a116611
testCachedResponsesWithMissingDateHeadersShouldBeAssignedOne()370%n/a117711
testExpiresHeaderMatchesDateIfAddedToOriginResponse()360%20%228811
testNoStoreOnRequestIsNotStoredInCacheEvenIfResponseMarkedCacheable()360%n/a116611
testDoesNotModifyHeaderFromOriginResponseWithNoTransform(String, String)340%n/a116611
testDoesNotModifyAllowHeaderWithUnknownMethods()330%n/a117711
testDoesNotModifyHeaderFromOrigin(String, String)320%n/a116611
testTransmitsAgeHeaderIfIncomingAgeHeaderTooBig()310%n/a117711
testNoStoreOnRequestIsNotStoredInCache()310%n/a115511
testNoStoreOnResponseIsNotStoredInCache()310%n/a115511
testNoStoreOnResponseIsNotStoredInCacheEvenWithContraryIndicators()310%n/a115511
testDoesNotModifyServerResponseHeader()310%n/a116611
testStaleEntryWithProxyRevalidateOnSharedCacheIsNotUsedWithoutRevalidatingWithOrigin()290%20%229911
testGenerates504IfSharedCacheCannotRevalidateAProxyRevalidateEntry()290%20%229911
testOrderOfMultipleHeadersIsPreservedOnResponses(String)280%n/a116611
testUnknownHeadersOnResponsesAreForwarded()280%n/a115511
testDoesNotAddHeaderToOriginResponse(String)270%n/a115511
testDoesNotModifyContentRangeHeaderFromOriginResponseWithNoTransform()270%n/a116611
testCacheMissOnGETUsesOriginResponse()250%n/a114411
testRequestIsWrittenThroughToOrigin(ClassicHttpRequest)250%n/a115511
testSharedCacheMustUseNewRequestHeadersWhenRevalidatingAuthorizedResponsesWithSMaxAge()250%n/a118811
testSharedCacheMustUseNewRequestHeadersWhenRevalidatingAuthorizedResponsesWithMustRevalidate()250%n/a118811
testStaleEntryWithMustRevalidateIsNotUsedWithoutRevalidatingWithOrigin()250%n/a118811
testGenerates504IfCannotRevalidateAMustRevalidateEntry()250%n/a118811
testOrderOfMultipleAllowHeadersIsPreservedOnResponses()210%n/a115511
execute(ClassicHttpRequest)200%n/a112211
makeRequestWithBody(String, String)190%n/a115511
testPOSTRequestsAreWrittenThroughToOrigin()180%n/a115511
testPUTRequestsAreWrittenThroughToOrigin()180%n/a115511
testSharedCacheMustNotNormallyCacheAuthorizedResponses()160%n/a115511
testSharedCacheMayCacheAuthorizedResponsesWithSMaxAgeHeader()160%n/a115511
testSharedCacheMustRevalidateAuthorizedResponsesWhenSMaxAgeIsZero()160%n/a115511
testSharedCacheMayCacheAuthorizedResponsesWithMustRevalidate()160%n/a115511
testOrderOfMultipleCacheControlHeadersIsPreservedOnResponses()140%n/a114411
testOrderOfMultipleContentEncodingHeadersIsPreservedOnResponses()140%n/a114411
testOrderOfMultipleContentLanguageHeadersIsPreservedOnResponses()140%n/a114411
testOrderOfMultipleViaHeadersIsPreservedOnResponses()140%n/a114411
testOrderOfMultipleWWWAuthenticateHeadersIsPreservedOnResponses()140%n/a114411
testCacheIsNotUsedWhenRespondingToRequestWithCacheControlNoCache()140%n/a114411
testSharedCacheMayCacheAuthorizedResponsesWithCacheControlPublic()120%n/a114411
testDoesNotModifyLastModifiedFromOriginOnCacheHit()100%n/a113311
testDoesNotModifyLastModifiedHeaderOnRequest()100%n/a113311
testDoesNotModifyExpiresHeaderFromOrigin()100%n/a113311
testDoesNotModifyExpiresHeaderFromOriginOnCacheHit()100%n/a113311
testDeleteToUriInvalidatesCacheForThatUri()100%n/a113311
testDeleteInvalidatesCacheForThatUriInContentLocationHeader()100%n/a113311
testDeleteInvalidatesCacheForThatUriInRelativeContentLocationHeader()100%n/a113311
testDeleteInvalidatesCacheForThatUriInLocationHeader()100%n/a113311
testOPTIONSRequestsAreWrittenThroughToOrigin()100%n/a113311
testDELETERequestsAreWrittenThroughToOrigin()100%n/a113311
testTRACERequestsAreWrittenThroughToOrigin()100%n/a113311
testCONNECTRequestsAreWrittenThroughToOrigin()100%n/a113311
testUnknownMethodRequestsAreWrittenThroughToOrigin()100%n/a113311
testDoesNotAddContentEncodingHeaderToOriginResponseWithNoTransformIfNotPresent()90%n/a113311
testDoesNotAddContentRangeHeaderToOriginResponseWithNoTransformIfNotPresent()90%n/a113311
testDoesNotAddContentTypeHeaderToOriginResponseWithNoTransformIfNotPresent()90%n/a113311
testDoesNotAddContentEncodingHeaderToCachedResponseWithNoTransformIfNotPresent()90%n/a113311
testDoesNotAddContentRangeHeaderToCachedResponseWithNoTransformIfNotPresent()90%n/a113311
testDoesNotAddContentTypeHeaderToCachedResponseWithNoTransformIfNotPresent()90%n/a113311
testPutToUriInvalidatesCacheForThatUri()90%n/a113311
testPostToUriInvalidatesCacheForThatUri()90%n/a113311
testPutInvalidatesCacheForThatUriInContentLocationHeader()90%n/a113311
testPutInvalidatesCacheForThatUriInLocationHeader()90%n/a113311
testPutInvalidatesCacheForThatUriInRelativeContentLocationHeader()90%n/a113311
testPostInvalidatesCacheForThatUriInContentLocationHeader()90%n/a113311
testPostInvalidatesCacheForThatUriInLocationHeader()90%n/a113311
testPostInvalidatesCacheForRelativeUriInContentLocationHeader()90%n/a113311
testDoesNotModifyLastModifiedHeaderFromOrigin()80%n/a113311
testUnsafeMethodInvalidatesCacheForUriInContentLocationHeader(ClassicHttpRequest)80%n/a113311
testUnsafeMethodInvalidatesCacheForRelativeUriInContentLocationHeader(ClassicHttpRequest)80%n/a113311
testUnsafeMethodInvalidatesCacheForUriInLocationHeader(ClassicHttpRequest)80%n/a113311
testDoesNotModifyContentLocationHeaderFromOrigin()70%n/a113311
testDoesNotModifyContentLocationFromOriginOnCacheHit()70%n/a113311
testDoesNotModifyContentLocationHeaderOnRequest()70%n/a113311
testDoesNotModifyContentMD5HeaderFromOrigin()50%n/a112211
testDoesNotModifyEtagHeaderFromOrigin()50%n/a112211
testDoesNotModifyContentMD5FromOriginOnCacheHit()50%n/a112211
testDoesNotModifyEtagFromOriginOnCacheHit()50%n/a112211
testDoesNotModifyContentMD5HeaderOnRequest()50%n/a112211
testDoesNotModifyETagHeaderOnRequest()50%n/a112211
testDoesNotModifyContentEncodingHeaderFromOriginResponseWithNoTransform()50%n/a112211
testDoesNotModifyContentTypeHeaderFromOriginResponseWithNoTransform()50%n/a112211
testDoesNotModifyContentEncodingHeaderOnCachedResponseWithNoTransform()50%n/a112211
testDoesNotModifyContentTypeHeaderOnCachedResponseWithNoTransform()50%n/a112211
testDoesNotAddContentLocationToOriginResponse()40%n/a112211
testDoesNotAddContentMD5ToOriginResponse()40%n/a112211
testDoesNotAddEtagToOriginResponse()40%n/a112211
testDoesNotAddLastModifiedToOriginResponse()40%n/a112211
testDoesNotAddContentLocationHeaderOnCacheHit()40%n/a112211
testDoesNotAddContentMD5HeaderOnCacheHit()40%n/a112211
testDoesNotAddETagHeaderOnCacheHit()40%n/a112211
testDoesNotAddLastModifiedHeaderOnCacheHit()40%n/a112211
testDoesNotAddContentLocationToRequestIfNotPresent()40%n/a112211
testDoesNotAddContentMD5ToRequestIfNotPresent()40%n/a112211
testDoesNotAddETagToRequestIfNotPresent()40%n/a112211
testDoesNotAddLastModifiedToRequestIfNotPresent()40%n/a112211
testDoesNotAddContentEncodingToRequestIfNotPresent()40%n/a112211
testDoesNotAddContentRangeToRequestIfNotPresent()40%n/a112211
testDoesNotAddContentTypeToRequestIfNotPresent()40%n/a112211
testDoesNotAddContentEncodingHeaderToRequestIfNotPresent()40%n/a112211
testDoesNotAddContentRangeHeaderToRequestIfNotPresent()40%n/a112211
testDoesNotAddContentTypeHeaderToRequestIfNotPresent()40%n/a112211
testMalformedExpiresHeaderIsTreatedAsStale()40%n/a112211
testExpiresZeroHeaderIsTreatedAsStale()40%n/a112211
TestProtocolRequirements()30%n/a111111