Merge pull request #5 from Kros-sk/invalidation #4
GitHub Actions / Unit Tests
succeeded
Apr 18, 2024 in 1s
141 passed, 0 failed and 0 skipped
✅ TestResults/_fv-az1215-32_2024-04-18_09_16_31.trx
141 tests were completed in 1s with 141 passed, 0 failed and 0 skipped.
✅ Kros.Ocelot.ETagCaching.Test.ETagCacheContextShould
✅ OverrideToString
✅ Kros.Ocelot.ETagCaching.Test.ETagCachePolicyBuilderShould
✅ BuildCustomPolicy
✅ BuildDefaultPolicy
✅ BuildEmptyPolicyIfNotDefaultPolicyIsAlowed
✅ BuildPolicy
✅ Kros.Ocelot.ETagCaching.Test.ETagCachingIntegrationTests
✅ EndpointWithCachePolicyShouldNotReturnETagHeader
✅ EndpointWithCachePolicyShouldReturn200OK_WhenETagIsInvalid
✅ EndpointWithCachePolicyShouldReturn200OK_WhenIfNoneMatchHeaderIsNotPresent
✅ EndpointWithCachePolicyShouldReturn200OK_WhenResourceIsCreated
✅ EndpointWithCachePolicyShouldReturn304NotModified_WhenETagIsValid
✅ EndpointWithCachePolicyShouldReturnDownstreamData_WhenIfNoneMatchHeaderIsNotPresent
✅ EndpointWithCachePolicyShouldReturnETagHeader
✅ Kros.Ocelot.ETagCaching.Test.ETagCachingMiddlewareShould
✅ AddCacheFeatureToContextFeatures
✅ AddCacheHeadersToResponse
✅ CacheDownstreamResponseBeforeServingNotModifiedResponse
✅ CacheDownstreamResponseIfPolicyAllowsIt
✅ CallNextMiddlewareWhenPolicyAllowsCachingAndNeedDownstreamResponse
✅ CallNextMiddlewareWhenPolicyDoesNotAllowCaching
✅ CallNextMiddlewareWhenPolicyIsNotSetForDownstreamRoute
✅ DoNotCacheIfPolicyDoesNotAllowIt
✅ DoNotCacheIfPolicyIsNotSetForDownstreamRoute
✅ DoNotCallNextMiddlewareWhenNotModifiedResponseIsServed
✅ DoNotServeNotModifiedResponseIfPolicyDoesNotAllowIt
✅ DoNotServeNotModifiedResponseIfRequestIsModified
✅ InvalidateCacheIfIsConfigured
✅ LoginformationsWhenServeFromCache
✅ LoginformationsWhenServeNotModified
✅ ServeCacheHeadersIfPolicyAllowsIt
✅ ServeNotModifiedResponseIfPolicyAllowsItAndRequestIsNotModified
✅ Kros.Ocelot.ETagCaching.Test.ETagCachingOptionsShould
✅ ThrowExceptionIfNameIsEmptyOrWhiteSpace(name: " ")
✅ ThrowExceptionIfNameIsEmptyOrWhiteSpace(name: "")
✅ Kros.Ocelot.ETagCaching.Test.OcelotPipelineConfigurationExtensionShould
✅ SetsPreQueryStringBuilderMiddleware
✅ Kros.Ocelot.ETagCaching.Test.Policies.ArchTests
✅ PoliciesNamespaceClassesShouldBeInternal
✅ Kros.Ocelot.ETagCaching.Test.Policies.CacheControlPolicyShould
✅ AddCacheControlHeaderToResponse_WhenServeDownstreamResponseAsyncWasCall
✅ AddCacheControlHeaderToResponse_WhenServeNotModifiedAsyncWasCall
✅ NotChangeContextState_WhenCacheETagAsyncWasCall
✅ Kros.Ocelot.ETagCaching.Test.Policies.CacheEntryEstraPropsPolicyShould
✅ AddExtraPropsToCacheEntry
✅ AddMultipleExtraPropsToCacheEntry
✅ NotChangeContextState_WhenServeDownstreamResponseAsyncWasCall
✅ NotChangeContextState_WhenServeNotModifiedAsyncWasCall
✅ Kros.Ocelot.ETagCaching.Test.Policies.CacheKeyPolicyShould
✅ CreateCacheKeyInContext_WhenCacheETagAsyncWasCall
✅ NotChangeContextState_WhenServeDownstreamResponseAsyncWasCall
✅ NotChangeContextState_WhenServeNotModifiedAsyncWasCall
✅ Kros.Ocelot.ETagCaching.Test.Policies.CompositePolicyShould
✅ CombineMultiplePoliciesIntoOne
✅ Kros.Ocelot.ETagCaching.Test.Policies.DefaultPolicyShould
✅ AllowCacheResponseFor200StatusCode
✅ AllowCacheResponseForGetMethod(httpMethod: "DELETE", allowed: False)
✅ AllowCacheResponseForGetMethod(httpMethod: "GET", allowed: True)
✅ AllowCacheResponseForGetMethod(httpMethod: "HEAD", allowed: False)
✅ AllowCacheResponseForGetMethod(httpMethod: "OPTIONS", allowed: False)
✅ AllowCacheResponseForGetMethod(httpMethod: "PATCH", allowed: False)
✅ AllowCacheResponseForGetMethod(httpMethod: "POST", allowed: False)
✅ AllowCacheResponseForGetMethod(httpMethod: "PUT", allowed: False)
✅ AllowServeFromCacheWhenIfNoneMatchHeaderIsPresent
✅ DisableCacheIfNoCacheHeaderIsPresent
✅ DisallowServeFromCacheWhenIfNoneMatchHeaderIsNotPresent
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: Accepted)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: AlreadyReported)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: BadGateway)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: BadRequest)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: Conflict)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: Continue)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: Created)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: EarlyHints)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: ExpectationFailed)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: FailedDependency)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: Forbidden)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: Found)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: GatewayTimeout)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: Gone)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: HttpVersionNotSupported)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: IMUsed)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: InsufficientStorage)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: InternalServerError)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: LengthRequired)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: Locked)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: LoopDetected)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: MethodNotAllowed)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: MisdirectedRequest)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: MovedPermanently)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: MultipleChoices)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: MultiStatus)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: NetworkAuthenticationRequired)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: NoContent)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: NonAuthoritativeInformation)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: NotAcceptable)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: NotExtended)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: NotFound)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: NotImplemented)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: NotModified)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: PartialContent)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: PaymentRequired)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: PermanentRedirect)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: PreconditionFailed)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: PreconditionRequired)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: Processing)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: ProxyAuthenticationRequired)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: RedirectKeepVerb)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: RequestedRangeNotSatisfiable)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: RequestEntityTooLarge)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: RequestHeaderFieldsTooLarge)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: RequestTimeout)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: RequestUriTooLong)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: ResetContent)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: SeeOther)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: ServiceUnavailable)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: SwitchingProtocols)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: TooManyRequests)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: Unauthorized)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: UnavailableForLegalReasons)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: UnprocessableEntity)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: UnsupportedMediaType)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: Unused)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: UpgradeRequired)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: UseProxy)
✅ DoNotAllowCacheResponseForNon200StatusCode(statusCode: VariantAlsoNegotiates)
✅ DoNotAllowCacheResponseForNoStoreHeader
✅ EnableETagCache
✅ SetCachedResponseHeadersWhenCacheValue
✅ SetCacheKey
✅ SetDefaultExpirationTime
✅ SetResponseHeadersWhenCacheValue
✅ SetStatusCodeNotModifiedIfServeFromCache
✅ Kros.Ocelot.ETagCaching.Test.Policies.EmptyPolicyShould
✅ NotChangeContextState_WhenCacheETagAsyncWasCall
✅ NotChangeContextState_WhenServeDownstreamResponseAsyncWasCall
✅ NotChangeContextState_WhenServeNotModifiedAsyncWasCall
✅ Kros.Ocelot.ETagCaching.Test.Policies.ETagPolicyShould
✅ GenerateETag
✅ NotChangeContextState_WhenServeDownstreamResponseAsyncWasCall
✅ NotChangeContextState_WhenServeNotModifiedAsyncWasCall
✅ Kros.Ocelot.ETagCaching.Test.Policies.ExpirationPolicyShould
✅ NotChangeContextState_WhenServeDownstreamResponseAsyncWasCall
✅ NotChangeContextState_WhenServeNotModifiedAsyncWasCall
✅ SetExpirationTimeToContext
✅ Kros.Ocelot.ETagCaching.Test.Policies.StatusCodePolicyShould
✅ NotChangeContextState_WhenCacheETagAsyncWasCall
✅ NotChangeContextState_WhenServeDownstreamResponseAsyncWasCall
✅ ReturnStatusCode_WhenServeNotModifiedAsyncWasCall
✅ Kros.Ocelot.ETagCaching.Test.Policies.TagTemplatesPolicyShould
✅ AddTagsToContext
✅ NotChangeContextState_WhenServeDownstreamResponseAsyncWasCall
✅ NotChangeContextState_WhenServeNotModifiedAsyncWasCall
✅ Kros.Ocelot.ETagCaching.Test.PublicApiTests
✅ Assembly_Has_No_Public_Api_Changes
✅ Kros.Ocelot.ETagCaching.Test.ServiceCollectionExtensionsShould
✅ AddETagCaching
✅ AddETagCachingWithoutDefaultPolicy
✅ ThrowExceptionWhenPolicyWithTheSameNameIsAdded
Loading