1
0

Updating to VS 2026

This commit is contained in:
2025-11-13 20:30:44 +01:00
parent 1096186c40
commit 1767b55c8a
29 changed files with 230 additions and 277 deletions

View File

@@ -4,6 +4,10 @@
<TargetFramework>net8.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\MSTestSettings.cs" Link="MSTestSettings.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\AMWD.Common.AspNetCore\AMWD.Common.AspNetCore.csproj" />
</ItemGroup>

View File

@@ -336,7 +336,7 @@ namespace AMWD.Common.AspNetCore.Tests.Attributes
var actionDescriptor = new ActionDescriptor
{
EndpointMetadata = new List<object>()
EndpointMetadata = []
};
if (isAnonymousAllowed)
actionDescriptor.EndpointMetadata.Add(new AllowAnonymousAttribute());
@@ -346,7 +346,7 @@ namespace AMWD.Common.AspNetCore.Tests.Attributes
HttpContext = _contextMock.Object,
RouteData = routeDataMock.Object,
ActionDescriptor = actionDescriptor,
}, new List<IFilterMetadata>());
}, []);
}
}
}

View File

@@ -46,7 +46,7 @@ namespace AMWD.Common.AspNetCore.Tests.Attributes
Assert.IsTrue(context.Result is StatusCodeResult);
Assert.AreEqual(403, ((StatusCodeResult)context.Result).StatusCode);
Assert.AreEqual(1, _itemsCallback.Count);
Assert.HasCount(1, _itemsCallback);
Assert.AreEqual(remote, _itemsCallback["RemoteAddress"]);
}
@@ -69,7 +69,7 @@ namespace AMWD.Common.AspNetCore.Tests.Attributes
Assert.IsTrue(context.Result is StatusCodeResult);
Assert.AreEqual(403, ((StatusCodeResult)context.Result).StatusCode);
Assert.AreEqual(1, _itemsCallback.Count);
Assert.HasCount(1, _itemsCallback);
Assert.AreEqual(remote, _itemsCallback["RemoteAddress"]);
}
@@ -85,7 +85,7 @@ namespace AMWD.Common.AspNetCore.Tests.Attributes
// assert
Assert.IsNull(context.Result);
Assert.AreEqual(1, _itemsCallback.Count);
Assert.HasCount(1, _itemsCallback);
Assert.AreEqual(IPAddress.Loopback, _itemsCallback["RemoteAddress"]);
}
@@ -107,11 +107,11 @@ namespace AMWD.Common.AspNetCore.Tests.Attributes
Assert.IsTrue(context.Result is StatusCodeResult);
Assert.AreEqual(403, ((StatusCodeResult)context.Result).StatusCode);
Assert.AreEqual(1, _itemsCallback.Count);
Assert.HasCount(1, _itemsCallback);
Assert.AreEqual(IPAddress.Loopback, _itemsCallback["RemoteAddress"]);
}
[DataTestMethod]
[TestMethod]
[DataRow("192.168.178.10")]
[DataRow("192.168.178.20")]
public void ShouldAllowSpecificAddress(string address)
@@ -140,7 +140,7 @@ namespace AMWD.Common.AspNetCore.Tests.Attributes
Assert.AreEqual(403, ((StatusCodeResult)context.Result).StatusCode);
}
Assert.AreEqual(1, _itemsCallback.Count);
Assert.HasCount(1, _itemsCallback);
Assert.AreEqual(remote, _itemsCallback["RemoteAddress"]);
}
@@ -164,7 +164,7 @@ namespace AMWD.Common.AspNetCore.Tests.Attributes
// assert
Assert.IsNull(context.Result);
Assert.AreEqual(1, _itemsCallback.Count);
Assert.HasCount(1, _itemsCallback);
Assert.AreEqual(IPAddress.Loopback, _itemsCallback["RemoteAddress"]);
}
@@ -191,11 +191,11 @@ namespace AMWD.Common.AspNetCore.Tests.Attributes
Assert.IsTrue(context.Result is StatusCodeResult);
Assert.AreEqual(403, ((StatusCodeResult)context.Result).StatusCode);
Assert.AreEqual(1, _itemsCallback.Count);
Assert.HasCount(1, _itemsCallback);
Assert.AreEqual(IPAddress.Loopback, _itemsCallback["RemoteAddress"]);
}
[DataTestMethod]
[TestMethod]
[DataRow("192.168.178.10")]
[DataRow("192.168.178.20")]
public void ShouldAllowSpecificAddressConfig(string address)
@@ -227,7 +227,7 @@ namespace AMWD.Common.AspNetCore.Tests.Attributes
Assert.AreEqual(403, ((StatusCodeResult)context.Result).StatusCode);
}
Assert.AreEqual(1, _itemsCallback.Count);
Assert.HasCount(1, _itemsCallback);
Assert.AreEqual(remote, _itemsCallback["RemoteAddress"]);
}
@@ -252,7 +252,7 @@ namespace AMWD.Common.AspNetCore.Tests.Attributes
Assert.IsTrue(context.Result is StatusCodeResult);
Assert.AreEqual(403, ((StatusCodeResult)context.Result).StatusCode);
Assert.AreEqual(1, _itemsCallback.Count);
Assert.HasCount(1, _itemsCallback);
Assert.AreEqual(IPAddress.Loopback, _itemsCallback["RemoteAddress"]);
}
@@ -333,7 +333,7 @@ namespace AMWD.Common.AspNetCore.Tests.Attributes
HttpContext = contextMock.Object,
RouteData = routeDataMock.Object,
ActionDescriptor = actionDescriptorMock.Object,
}, new List<IFilterMetadata>(), new Dictionary<string, object>(), null);
}, [], new Dictionary<string, object>(), null);
}
}
}

View File

@@ -43,7 +43,7 @@ namespace AMWD.Common.AspNetCore.Tests.Attributes
// assert
Assert.IsNull(context.Result);
Assert.AreEqual(1, _itemsCallback.Count);
Assert.HasCount(1, _itemsCallback);
Assert.AreEqual(remote, _itemsCallback["RemoteAddress"]);
}
@@ -63,7 +63,7 @@ namespace AMWD.Common.AspNetCore.Tests.Attributes
// assert
Assert.IsNull(context.Result);
Assert.AreEqual(1, _itemsCallback.Count);
Assert.HasCount(1, _itemsCallback);
Assert.AreEqual(remote, _itemsCallback["RemoteAddress"]);
}
@@ -83,7 +83,7 @@ namespace AMWD.Common.AspNetCore.Tests.Attributes
// assert
Assert.IsNull(context.Result);
Assert.AreEqual(1, _itemsCallback.Count);
Assert.HasCount(1, _itemsCallback);
Assert.AreEqual(IPAddress.Loopback, _itemsCallback["RemoteAddress"]);
}
@@ -106,11 +106,11 @@ namespace AMWD.Common.AspNetCore.Tests.Attributes
Assert.IsTrue(context.Result is StatusCodeResult);
Assert.AreEqual(403, ((StatusCodeResult)context.Result).StatusCode);
Assert.AreEqual(1, _itemsCallback.Count);
Assert.HasCount(1, _itemsCallback);
Assert.AreEqual(IPAddress.Loopback, _itemsCallback["RemoteAddress"]);
}
[DataTestMethod]
[TestMethod]
[DataRow("192.168.178.10")]
[DataRow("192.168.178.20")]
public void ShouldBlockSpecificAddress(string address)
@@ -139,7 +139,7 @@ namespace AMWD.Common.AspNetCore.Tests.Attributes
Assert.IsNull(context.Result);
}
Assert.AreEqual(1, _itemsCallback.Count);
Assert.HasCount(1, _itemsCallback);
Assert.AreEqual(remote, _itemsCallback["RemoteAddress"]);
}
@@ -163,7 +163,7 @@ namespace AMWD.Common.AspNetCore.Tests.Attributes
// assert
Assert.IsNull(context.Result);
Assert.AreEqual(1, _itemsCallback.Count);
Assert.HasCount(1, _itemsCallback);
Assert.AreEqual(IPAddress.Loopback, _itemsCallback["RemoteAddress"]);
}
@@ -191,11 +191,11 @@ namespace AMWD.Common.AspNetCore.Tests.Attributes
Assert.IsTrue(context.Result is StatusCodeResult);
Assert.AreEqual(403, ((StatusCodeResult)context.Result).StatusCode);
Assert.AreEqual(1, _itemsCallback.Count);
Assert.HasCount(1, _itemsCallback);
Assert.AreEqual(IPAddress.Loopback, _itemsCallback["RemoteAddress"]);
}
[DataTestMethod]
[TestMethod]
[DataRow("192.168.178.10")]
[DataRow("192.168.178.20")]
public void ShouldBlockSpecificAddressConfig(string address)
@@ -228,7 +228,7 @@ namespace AMWD.Common.AspNetCore.Tests.Attributes
Assert.IsNull(context.Result);
}
Assert.AreEqual(1, _itemsCallback.Count);
Assert.HasCount(1, _itemsCallback);
Assert.AreEqual(remote, _itemsCallback["RemoteAddress"]);
}
@@ -251,7 +251,7 @@ namespace AMWD.Common.AspNetCore.Tests.Attributes
// assert
Assert.IsNull(context.Result);
Assert.AreEqual(1, _itemsCallback.Count);
Assert.HasCount(1, _itemsCallback);
Assert.AreEqual(IPAddress.Loopback, _itemsCallback["RemoteAddress"]);
}

View File

@@ -110,7 +110,7 @@ namespace AMWD.Common.AspNetCore.Tests.Extensions
Assert.AreEqual(_remote, result);
}
[DataTestMethod]
[TestMethod]
[DataRow("Cf-Connecting-Ip")]
[DataRow("X-Real-IP")]
[DataRow("X-Forwarded-For")]

View File

@@ -55,25 +55,23 @@ namespace AMWD.Common.AspNetCore.Tests.Extensions
}
[TestMethod]
[ExpectedException(typeof(ArgumentNullException))]
public void ShouldThrowArgumentNull()
{
// arrange
ModelStateDictionary modelState = null;
// act
modelState.AddModelError(_testModel, m => m.SubModel.SubValueB, "ShitHappens");
// act & assert
Assert.ThrowsExactly<ArgumentNullException>(() => modelState.AddModelError(_testModel, m => m.SubModel.SubValueB, "ShitHappens"));
}
[TestMethod]
[ExpectedException(typeof(InvalidOperationException))]
public void ShouldThrowInvalidOperation()
{
// arrange
var modelState = new ModelStateDictionary();
// act
modelState.AddModelError(_testModel, m => m, "ShitHappens");
Assert.ThrowsExactly<InvalidOperationException>(() => modelState.AddModelError(_testModel, m => m, "ShitHappens"));
}
internal class TestModel

View File

@@ -113,8 +113,8 @@ namespace AMWD.Common.AspNetCore.Tests.Extensions
// assert
Assert.IsNotNull(result);
Assert.AreEqual(null, result.ValueA);
Assert.AreEqual(null, result.ValueB);
Assert.IsNull(result.ValueA);
Assert.IsNull(result.ValueB);
}
[TestMethod]

View File

@@ -57,8 +57,8 @@ namespace AMWD.Common.AspNetCore.Tests.Security.BasicAuthentication
// assert
Assert.AreEqual(0, _responseStatusCodeCallback); // not triggered
Assert.AreEqual(0, _responseHeadersCallback.Count);
Assert.AreEqual(1, _validatorCallback.Count);
Assert.IsEmpty(_responseHeadersCallback);
Assert.HasCount(1, _validatorCallback);
Assert.AreEqual(username, _validatorCallback.First().username);
Assert.AreEqual(password, _validatorCallback.First().password);
@@ -78,9 +78,9 @@ namespace AMWD.Common.AspNetCore.Tests.Security.BasicAuthentication
// assert
Assert.AreEqual(401, _responseStatusCodeCallback);
Assert.AreEqual(0, _validatorCallback.Count);
Assert.IsEmpty(_validatorCallback);
Assert.AreEqual(1, _responseHeadersCallback.Count);
Assert.HasCount(1, _responseHeadersCallback);
Assert.AreEqual("WWW-Authenticate", _responseHeadersCallback.Keys.First());
Assert.AreEqual("Basic", _responseHeadersCallback.Values.First());
}
@@ -106,11 +106,11 @@ namespace AMWD.Common.AspNetCore.Tests.Security.BasicAuthentication
// assert
Assert.AreEqual(401, _responseStatusCodeCallback);
Assert.AreEqual(1, _responseHeadersCallback.Count);
Assert.HasCount(1, _responseHeadersCallback);
Assert.AreEqual("WWW-Authenticate", _responseHeadersCallback.Keys.First());
Assert.AreEqual($"Basic realm=\"{_validatorRealm}\"", _responseHeadersCallback.Values.First());
Assert.AreEqual(1, _validatorCallback.Count);
Assert.HasCount(1, _validatorCallback);
Assert.AreEqual(username, _validatorCallback.First().username);
Assert.AreEqual(password, _validatorCallback.First().password);
Assert.AreEqual(remote, _validatorCallback.First().ipAddr);

View File

@@ -7,32 +7,30 @@ namespace AMWD.Common.AspNetCore.Tests.Utilities
public class HtmlHelperTest
{
[TestMethod]
[ExpectedException(typeof(ArgumentNullException))]
public void ShouldThrowErrorOnEmptyColor()
[DataRow(null)]
[DataRow("")]
[DataRow(" ")]
public void ShouldThrowErrorOnEmptyColor(string color)
{
// arrange
// act & assert
Assert.ThrowsExactly<ArgumentNullException>(() => HtmlHelper.IsDarkColor(color));
}
[TestMethod]
public void ShouldThrowErrorOnUnsupportedColor()
{
// arrange
// act
HtmlHelper.IsDarkColor("");
Assert.ThrowsExactly<NotSupportedException>(() => HtmlHelper.IsDarkColor("hsv(1, 2, 3)"));
// assert
// exception thrown
}
[TestMethod]
[ExpectedException(typeof(NotSupportedException))]
public void ShouldThrowErrorOnUnsupportedColor()
{
// arrange
// act
HtmlHelper.IsDarkColor("hsv(1, 2, 3)");
// assert
// exception thrown
}
[DataTestMethod]
[DataRow("rgb(255, 255, 255)")]
[DataRow("rgba(255, 255, 255, .5)")]
public void ShouldReturnLightColorForWhiteRgb(string white)
@@ -46,7 +44,7 @@ namespace AMWD.Common.AspNetCore.Tests.Utilities
Assert.IsFalse(isDark);
}
[DataTestMethod]
[TestMethod]
[DataRow("#ffFFff")]
[DataRow("FFffFF")]
public void ShouldReturnLightColorForWhiteFullHex(string white)
@@ -60,7 +58,7 @@ namespace AMWD.Common.AspNetCore.Tests.Utilities
Assert.IsFalse(isDark);
}
[DataTestMethod]
[TestMethod]
[DataRow("#fFf")]
[DataRow("FfF")]
public void ShouldReturnLightColorForWhiteShortHex(string white)
@@ -74,7 +72,7 @@ namespace AMWD.Common.AspNetCore.Tests.Utilities
Assert.IsFalse(isDark);
}
[DataTestMethod]
[TestMethod]
[DataRow("rgb(0, 0, 0)")]
[DataRow("rgba(0, 0, 0, .5)")]
public void ShouldReturnDarkColorForBlackRgb(string black)
@@ -88,7 +86,7 @@ namespace AMWD.Common.AspNetCore.Tests.Utilities
Assert.IsTrue(isDark);
}
[DataTestMethod]
[TestMethod]
[DataRow("#000000")]
[DataRow("000000")]
public void ShouldReturnDarkColorForBlackFullHex(string black)
@@ -102,7 +100,7 @@ namespace AMWD.Common.AspNetCore.Tests.Utilities
Assert.IsTrue(isDark);
}
[DataTestMethod]
[TestMethod]
[DataRow("#000")]
[DataRow("000")]
public void ShouldReturnDarkColorForBlackShortHex(string black)
@@ -116,7 +114,7 @@ namespace AMWD.Common.AspNetCore.Tests.Utilities
Assert.IsTrue(isDark);
}
[DataTestMethod]
[TestMethod]
[DataRow("rgb(255, 88, 0)")]
[DataRow("rgb(0, 218, 0)")]
[DataRow("rgb(0, 168, 255)")]
@@ -133,7 +131,7 @@ namespace AMWD.Common.AspNetCore.Tests.Utilities
Assert.IsFalse(isDark);
}
[DataTestMethod]
[TestMethod]
[DataRow("rgb(253, 88, 0)")]
[DataRow("rgb(0, 217, 0)")]
[DataRow("rgb(0, 168, 253)")]

View File

@@ -42,7 +42,7 @@ namespace AMWD.Common.AspNetCore.Tests.Utilities
string hash = PasswordHelper.HashPassword(password);
// assert
Assert.IsTrue(!string.IsNullOrWhiteSpace(hash));
Assert.IsFalse(string.IsNullOrWhiteSpace(hash));
}
[TestMethod]