Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
86d4207
Migrate Microsoft.DotNet.HotReload.Watch.Aspire.Tests to MSTest.Sdk o…
Evangelink Jun 11, 2026
52eade3
Bump MSTest.Sdk to 4.3.0-preview.26311.10 + apply skill review fixes
Evangelink Jun 11, 2026
75a20cf
Address review: use Assert.IsExactInstanceOfType<T> for xUnit IsType …
Evangelink Jun 11, 2026
27da8c4
Remove redundant Using of Microsoft.VisualStudio.TestTools.UnitTesting
Jun 11, 2026
7a551eb
Replace AssertEx.SequenceEqual with Assert.AreSequenceEqual
Jun 11, 2026
cb50989
Move FluentAssertions Using + AwesomeAssertions PackageReference to t…
BagOfMandMs Jun 12, 2026
ead0658
Restore Watch.Aspire ProjectReference in dotnet-watch.Tests.csproj
Evangelink Jun 12, 2026
fe718be
Add shared Microsoft.DotNet.Test.MSTest.Utilities project
Evangelink Jun 12, 2026
1a4c191
Migrate containerize.UnitTests to MSTest.Sdk on MTP
Evangelink Jun 11, 2026
bf18d59
Apply skill review fixes: Assert.HasCount(1,x) -> Assert.ContainsSing…
Evangelink Jun 11, 2026
72bc005
Remove redundant Using of Microsoft.VisualStudio.TestTools.UnitTesting
Jun 11, 2026
439fef5
Remove redundant <IsPackable>false</IsPackable> (MSTest.Sdk default)
Evangelink Jun 12, 2026
7750f28
Migrate Microsoft.DotNet.ApiCompat.Tests to MSTest.Sdk on MTP
Evangelink Jun 11, 2026
4aa3024
Remove redundant Using of Microsoft.VisualStudio.TestTools.UnitTesting
Jun 11, 2026
65cf486
Use built-in $(UsingMSTestSdk) property instead of custom $(UseMSTest…
Evangelink Jun 12, 2026
c58302d
Helix dispatcher: gate --report-trx on TrxReport extension being loaded
BagOfMandMs Jun 12, 2026
6f740e7
Restore Watch.Aspire ProjectReference in dotnet-watch.Tests.csproj
Evangelink Jun 12, 2026
063870d
Migrate Microsoft.AspNetCore.Watch.BrowserRefresh.Tests to MSTest.Sdk…
Evangelink Jun 11, 2026
2b84511
Apply skill review fixes: use 4.3 Assert.Contains / Assert.DoesNotCon…
Evangelink Jun 11, 2026
8c5f757
Remove redundant Using of Microsoft.VisualStudio.TestTools.UnitTesting
Jun 11, 2026
3bee481
Use built-in $(UsingMSTestSdk) property instead of custom $(UseMSTest…
Evangelink Jun 12, 2026
6006b4d
Remove redundant <IsPackable>false</IsPackable> (MSTest.Sdk default)
Evangelink Jun 12, 2026
c0659ed
Use TestContext.CancellationToken instead of CancellationToken.None
Evangelink Jun 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion global.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,6 @@
"Microsoft.Build.NoTargets": "3.7.134",
"Microsoft.Build.Traversal": "4.1.82",
"Microsoft.WixToolset.Sdk": "6.0.3-dotnet.4",
"MSTest.Sdk": "4.3.0-preview.26307.5"
"MSTest.Sdk": "4.3.0-preview.26311.10"
}
}
1 change: 1 addition & 0 deletions sdk.slnx
Original file line number Diff line number Diff line change
Expand Up @@ -367,6 +367,7 @@
<Project Path="test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj" />
<Project Path="test/Microsoft.DotNet.PackageInstall.Tests/Microsoft.DotNet.PackageInstall.Tests.csproj" />
<Project Path="test/Microsoft.DotNet.TemplateLocator.Tests/Microsoft.DotNet.TemplateLocator.Tests.csproj" />
<Project Path="test/Microsoft.DotNet.Test.MSTest.Utilities/Microsoft.DotNet.Test.MSTest.Utilities.csproj" />
<Project Path="test/Microsoft.DotNet.Tools.Tests.ComponentMocks/Microsoft.DotNet.Tools.Tests.ComponentMocks.csproj" />
<Project Path="test/Microsoft.Extensions.DotNetDeltaApplier.Tests/Microsoft.Extensions.DotNetDeltaApplier.Tests.csproj" />
<Project Path="test/Microsoft.NET.Build.Containers.IntegrationTests/Microsoft.NET.Build.Containers.IntegrationTests.csproj" />
Expand Down
1 change: 1 addition & 0 deletions src/Dotnet.Watch/Watch.Aspire/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@
using System.Runtime.CompilerServices;

[assembly: InternalsVisibleTo("Microsoft.DotNet.HotReload.Watch.Aspire.Tests, PublicKey = 0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
[assembly: InternalsVisibleTo("dotnet-watch.Tests, PublicKey = 0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")]
1 change: 1 addition & 0 deletions src/Dotnet.Watch/dotnet-watch.slnf
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
"test\\dotnet-watch-test-browser\\dotnet-watch-test-browser.csproj",
"test\\Microsoft.DotNet.HotReload.Test.Utilities\\Microsoft.DotNet.HotReload.Test.Utilities.csproj",
"test\\Microsoft.DotNet.HotReload.Watch.Aspire.Tests\\Microsoft.DotNet.HotReload.Watch.Aspire.Tests.csproj",
"test\\Microsoft.DotNet.Test.MSTest.Utilities\\Microsoft.DotNet.Test.MSTest.Utilities.csproj",
"test\\Microsoft.Extensions.DotNetDeltaApplier.Tests\\Microsoft.Extensions.DotNetDeltaApplier.Tests.csproj",
"test\\dotnet-watch.Tests\\dotnet-watch.Tests.csproj"
]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Licensed to the .NET Foundation under one or more agreements.
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System.Text.Json;
Expand All @@ -7,6 +7,7 @@

namespace Microsoft.AspNetCore.Watch.BrowserRefresh
{
[TestClass]
public class BlazorWasmHotReloadMiddlewareTest
{
private readonly ILogger<BlazorWasmHotReloadMiddleware> _logger;
Expand All @@ -19,7 +20,7 @@ public BlazorWasmHotReloadMiddlewareTest()
_middleware = new BlazorWasmHotReloadMiddleware(context => throw new TimeZoneNotFoundException(), _logger);
}

[Fact]
[TestMethod]
public async Task DeltasAreSavedOnPost()
{
var context = new DefaultHttpContext();
Expand Down Expand Up @@ -55,7 +56,7 @@ public async Task DeltasAreSavedOnPost()
AssertUpdates([update], _middleware.Updates);
}

[Fact]
[TestMethod]
public async Task DuplicateDeltasOnPostAreIgnored()
{
var updates = new BlazorWasmHotReloadMiddleware.Update[]
Expand Down Expand Up @@ -106,7 +107,7 @@ public async Task DuplicateDeltasOnPostAreIgnored()
AssertUpdates(updates, _middleware.Updates);
}

[Fact]
[TestMethod]
public async Task MultipleDeltaPayloadsCanBeAccepted()
{
var update = new BlazorWasmHotReloadMiddleware.Update()
Expand Down Expand Up @@ -178,18 +179,18 @@ public async Task MultipleDeltaPayloadsCanBeAccepted()
AssertUpdates([update, newUpdate], _middleware.Updates);
}

[Fact]
[TestMethod]
public async Task Get_Returns204_IfNoDeltasPresent()
{
var context = new DefaultHttpContext();
context.Request.Method = "get";

await _middleware.InvokeAsync(context);

Assert.Equal(204, context.Response.StatusCode);
Assert.AreEqual(204, context.Response.StatusCode);
}

[Fact]
[TestMethod]
public async Task GetReturnsDeltas()
{
var context = new DefaultHttpContext();
Expand Down Expand Up @@ -226,30 +227,30 @@ public async Task GetReturnsDeltas()

await _middleware.InvokeAsync(context);

Assert.Equal(200, context.Response.StatusCode);
Assert.Equal(
Assert.AreEqual(200, context.Response.StatusCode);
Assert.AreSequenceEqual(
JsonSerializer.SerializeToUtf8Bytes(updates, new JsonSerializerOptions(JsonSerializerDefaults.Web)),
stream.ToArray());
}

private static void AssertUpdates(IReadOnlyList<BlazorWasmHotReloadMiddleware.Update> expected, IReadOnlyList<BlazorWasmHotReloadMiddleware.Update> actual)
{
Assert.Equal(expected.Count, actual.Count);
Assert.AreEqual(expected.Count, actual.Count);

for (var u = 0; u < expected.Count; u++)
{
var expectedUpdate = expected[u];
var actualUpdate = actual[u];
Assert.Equal(expectedUpdate.Id, actualUpdate.Id);
Assert.Equal(expectedUpdate.Deltas.Length, expectedUpdate.Deltas.Length);
Assert.AreEqual(expectedUpdate.Id, actualUpdate.Id);
Assert.AreEqual(expectedUpdate.Deltas.Length, expectedUpdate.Deltas.Length);

for (var i = 0; i < expectedUpdate.Deltas.Length; i++)
{
Assert.Equal(expectedUpdate.Deltas[i].ILDelta, actualUpdate.Deltas[i].ILDelta);
Assert.Equal(expectedUpdate.Deltas[i].PdbDelta, actualUpdate.Deltas[i].PdbDelta);
Assert.Equal(expectedUpdate.Deltas[i].MetadataDelta, actualUpdate.Deltas[i].MetadataDelta);
Assert.Equal(expectedUpdate.Deltas[i].ModuleId, actualUpdate.Deltas[i].ModuleId);
Assert.Equal(expectedUpdate.Deltas[i].UpdatedTypes, actualUpdate.Deltas[i].UpdatedTypes);
Assert.AreEqual(expectedUpdate.Deltas[i].ILDelta, actualUpdate.Deltas[i].ILDelta);
Assert.AreEqual(expectedUpdate.Deltas[i].PdbDelta, actualUpdate.Deltas[i].PdbDelta);
Assert.AreEqual(expectedUpdate.Deltas[i].MetadataDelta, actualUpdate.Deltas[i].MetadataDelta);
Assert.AreEqual(expectedUpdate.Deltas[i].ModuleId, actualUpdate.Deltas[i].ModuleId);
Assert.AreSequenceEqual(expectedUpdate.Deltas[i].UpdatedTypes, actualUpdate.Deltas[i].UpdatedTypes);
}
}
}
Expand Down
Loading
Loading