diff --git a/src/Components/WebAssembly/testassets/HostedInAspNet.Client/wwwroot/index.html b/src/Components/WebAssembly/testassets/HostedInAspNet.Client/wwwroot/index.html index 643b68bb6bd6..aef98e3b9c2f 100644 --- a/src/Components/WebAssembly/testassets/HostedInAspNet.Client/wwwroot/index.html +++ b/src/Components/WebAssembly/testassets/HostedInAspNet.Client/wwwroot/index.html @@ -19,6 +19,11 @@ return type === 'dotnetjs' ? `${defaultUri}?customizedbootresource=true` : fetch(defaultUri, { integrity: integrity, cache: 'no-cache', headers: { 'customizedbootresource': 'true' } }); + }, + configureRuntime: function (builder) { + builder.withConfig({ + cachedResourcesPurgeDelay: 0 + }); } }); diff --git a/src/Components/test/E2ETest/Tests/BootResourceCachingTest.cs b/src/Components/test/E2ETest/Tests/BootResourceCachingTest.cs index d878f2145d3f..186462f757e5 100644 --- a/src/Components/test/E2ETest/Tests/BootResourceCachingTest.cs +++ b/src/Components/test/E2ETest/Tests/BootResourceCachingTest.cs @@ -91,9 +91,17 @@ public async Task IncrementallyUpdatesCache() requestedDll => Assert.Contains("/Microsoft.AspNetCore.Components.wasm", requestedDll), requestedDll => Assert.Contains("/dotnet.native.wasm", requestedDll)); - // We also update the cache (add new items, remove unnecessary items) - await Task.Delay(10500); // wait for cache purge, which is 10 seconds delayed after app start var cacheEntryUrls3 = GetCacheEntryUrls(); + // wait until the cache was cleaned, max 500ms + for (var i = 0; i < 5; i++) + { + if (!cacheEntryUrls3.Contains(cacheEntryForDotNetWasmWithChangedHash)) + { + break; + } + await Task.Delay(100); // wait for cache purge + cacheEntryUrls3 = GetCacheEntryUrls(); + } Assert.Contains(cacheEntryForComponentsDll, cacheEntryUrls3); Assert.Contains(cacheEntryForDotNetWasm, cacheEntryUrls3); Assert.DoesNotContain(cacheEntryForDotNetWasmWithChangedHash, cacheEntryUrls3);