diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index 37c7fae7..5ccc5665 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -13,13 +13,13 @@ jobs: - name: Setup .NET Core uses: actions/setup-dotnet@v1 with: - dotnet-version: 5.x + dotnet-version: 6.x - name: Build Reason run: "echo ref: ${{github.ref}} event: ${{github.event_name}}" - name: Build Version shell: bash run: | - dotnet tool install --global minver-cli --version 2.5.0 + dotnet tool install --global minver-cli --version 4.0.0 version=$(minver --tag-prefix v) echo "MINVERVERSIONOVERRIDE=$version" >> $GITHUB_ENV - name: Build diff --git a/.github/workflows/build-osx.yml b/.github/workflows/build-osx.yml index 40d2b37e..ba1fb188 100644 --- a/.github/workflows/build-osx.yml +++ b/.github/workflows/build-osx.yml @@ -13,13 +13,13 @@ jobs: - name: Setup .NET Core uses: actions/setup-dotnet@v1 with: - dotnet-version: 5.x + dotnet-version: 6.x - name: Build Reason run: "echo ref: ${{github.ref}} event: ${{github.event_name}}" - name: Build Version shell: bash run: | - dotnet tool install --global minver-cli --version 2.5.0 + dotnet tool install --global minver-cli --version 4.0.0 version=$(minver --tag-prefix v) echo "MINVERVERSIONOVERRIDE=$version" >> $GITHUB_ENV - name: Build diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 22e39d43..6ed954dd 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -13,13 +13,13 @@ jobs: - name: Setup .NET Core uses: actions/setup-dotnet@v1 with: - dotnet-version: 5.x + dotnet-version: 6.x - name: Build Reason run: "echo ref: ${{github.ref}} event: ${{github.event_name}}" - name: Build Version shell: bash run: | - dotnet tool install --global minver-cli --version 2.5.0 + dotnet tool install --global minver-cli --version 4.0.0 version=$(minver --tag-prefix v) echo "MINVERVERSIONOVERRIDE=$version" >> $GITHUB_ENV - name: Build diff --git a/.vscode/launch.json b/.vscode/launch.json index ca5c0595..b06bb7b8 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -6,7 +6,7 @@ "type": "coreclr", "request": "launch", "preLaunchTask": "Build", - "program": "${workspaceRoot}/samples/Exceptionless.SampleConsole/bin/Debug/net5.0/Exceptionless.SampleConsole.dll", + "program": "${workspaceRoot}/samples/Exceptionless.SampleConsole/bin/Debug/net6.0/Exceptionless.SampleConsole.dll", "args": [], "cwd": "${workspaceRoot}/samples/Exceptionless.SampleConsole", "stopAtEntry": false, @@ -20,7 +20,7 @@ "type": "coreclr", "request": "launch", "preLaunchTask": "Build", - "program": "${workspaceRoot}/samples/Exceptionless.SampleAspNetCore/bin/Debug/net5.0/Exceptionless.SampleAspNetCore.dll", + "program": "${workspaceRoot}/samples/Exceptionless.SampleAspNetCore/bin/Debug/net6.0/Exceptionless.SampleAspNetCore.dll", "args": [], "cwd": "${workspaceRoot}/samples/Exceptionless.SampleAspNetCore", "stopAtEntry": false, diff --git a/Exceptionless.Net.Windows.sln b/Exceptionless.Net.Windows.sln index 61c0e719..0761f444 100644 --- a/Exceptionless.Net.Windows.sln +++ b/Exceptionless.Net.Windows.sln @@ -1,7 +1,7 @@ - + Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.29209.152 +# Visual Studio Version 17 +VisualStudioVersion = 17.0.32014.148 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{728C18BC-4085-4492-B0B2-8211CA209A50}" ProjectSection(SolutionItems) = preProject diff --git a/build/common.props b/build/common.props index ed5c5e18..302ada39 100644 --- a/build/common.props +++ b/build/common.props @@ -41,8 +41,8 @@ - - + + diff --git a/global.json b/global.json index 2c4c4502..8a4df072 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "5.0.100", + "version": "6.0.202", "rollForward": "latestMinor" } } \ No newline at end of file diff --git a/samples/Exceptionless.SampleAspNetCore/Exceptionless.SampleAspNetCore.csproj b/samples/Exceptionless.SampleAspNetCore/Exceptionless.SampleAspNetCore.csproj index cd78f586..b19989b9 100644 --- a/samples/Exceptionless.SampleAspNetCore/Exceptionless.SampleAspNetCore.csproj +++ b/samples/Exceptionless.SampleAspNetCore/Exceptionless.SampleAspNetCore.csproj @@ -1,7 +1,7 @@  - net5.0 + net6.0 diff --git a/samples/Exceptionless.SampleConsole/Exceptionless.SampleConsole.csproj b/samples/Exceptionless.SampleConsole/Exceptionless.SampleConsole.csproj index 205378ca..8feb4fe1 100644 --- a/samples/Exceptionless.SampleConsole/Exceptionless.SampleConsole.csproj +++ b/samples/Exceptionless.SampleConsole/Exceptionless.SampleConsole.csproj @@ -1,7 +1,7 @@ - + - net5.0 + net6.0 Exceptionless.SampleConsole Exe $(DefineConstants);NETSTANDARD;NETSTANDARD2_0 @@ -21,7 +21,7 @@ - + diff --git a/samples/Exceptionless.SampleHosting/Exceptionless.SampleHosting.csproj b/samples/Exceptionless.SampleHosting/Exceptionless.SampleHosting.csproj index 2f64568a..2bd7f2d4 100644 --- a/samples/Exceptionless.SampleHosting/Exceptionless.SampleHosting.csproj +++ b/samples/Exceptionless.SampleHosting/Exceptionless.SampleHosting.csproj @@ -1,7 +1,7 @@  - net5.0 + net6.0 diff --git a/samples/Exceptionless.SampleLambda/Exceptionless.SampleLambda.csproj b/samples/Exceptionless.SampleLambda/Exceptionless.SampleLambda.csproj index 95037366..4053dd2a 100644 --- a/samples/Exceptionless.SampleLambda/Exceptionless.SampleLambda.csproj +++ b/samples/Exceptionless.SampleLambda/Exceptionless.SampleLambda.csproj @@ -1,6 +1,6 @@ - net5.0 + net6.0 true latest Lambda @@ -9,8 +9,8 @@ true - - + + diff --git a/samples/Exceptionless.SampleLambda/aws-lambda-tools-defaults.json b/samples/Exceptionless.SampleLambda/aws-lambda-tools-defaults.json index 9028135f..1e8d55d1 100644 --- a/samples/Exceptionless.SampleLambda/aws-lambda-tools-defaults.json +++ b/samples/Exceptionless.SampleLambda/aws-lambda-tools-defaults.json @@ -8,8 +8,8 @@ "profile": "", "region": "", "configuration": "Release", - "framework": "net5.0", - "function-runtime": "dotnetcore3.1", + "framework": "net6.0", + "function-runtime": "dotnet6", "function-memory-size": 256, "function-timeout": 30, "function-handler": "Exceptionless.SampleLambda::Exceptionless.SampleLambda.Function::FunctionHandler" diff --git a/samples/Exceptionless.SampleLambdaAspNetCore/Exceptionless.SampleLambdaAspNetCore.csproj b/samples/Exceptionless.SampleLambdaAspNetCore/Exceptionless.SampleLambdaAspNetCore.csproj index e2eb7de6..0cedb95d 100644 --- a/samples/Exceptionless.SampleLambdaAspNetCore/Exceptionless.SampleLambdaAspNetCore.csproj +++ b/samples/Exceptionless.SampleLambdaAspNetCore/Exceptionless.SampleLambdaAspNetCore.csproj @@ -1,12 +1,12 @@ - net5.0 + net6.0 true Lambda - - + + diff --git a/samples/Exceptionless.SampleLambdaAspNetCore/aws-lambda-tools-defaults.json b/samples/Exceptionless.SampleLambdaAspNetCore/aws-lambda-tools-defaults.json index 24f90651..1d6ec8a4 100644 --- a/samples/Exceptionless.SampleLambdaAspNetCore/aws-lambda-tools-defaults.json +++ b/samples/Exceptionless.SampleLambdaAspNetCore/aws-lambda-tools-defaults.json @@ -8,8 +8,8 @@ "profile": "", "region": "", "configuration": "Release", - "framework": "net5.0", - "function-runtime": "dotnetcore3.1", + "framework": "net6.0", + "function-runtime": "dotnet6", "function-memory-size": 256, "function-timeout": 30, "function-handler": "Exceptionless.SampleLambdaAspNetCore::Exceptionless.SampleLambdaAspNetCore.LambdaEntryPoint::FunctionHandlerAsync", diff --git a/samples/Exceptionless.SampleMvc/Exceptionless.SampleMvc.csproj b/samples/Exceptionless.SampleMvc/Exceptionless.SampleMvc.csproj index adca5a92..2bcc6a68 100644 --- a/samples/Exceptionless.SampleMvc/Exceptionless.SampleMvc.csproj +++ b/samples/Exceptionless.SampleMvc/Exceptionless.SampleMvc.csproj @@ -1,6 +1,5 @@ - + - Debug @@ -45,12 +44,21 @@ 4 + + ..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll + + + ..\..\packages\Microsoft.Web.Infrastructure.2.0.0\lib\net40\Microsoft.Web.Infrastructure.dll + + + ..\..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll + - - ..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.7\lib\net45\System.Net.Http.Formatting.dll + + ..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.8\lib\net45\System.Net.Http.Formatting.dll @@ -58,14 +66,32 @@ - - ..\..\packages\Microsoft.AspNet.WebApi.Core.5.2.7\lib\net45\System.Web.Http.dll + + ..\..\packages\Microsoft.AspNet.WebPages.3.2.8\lib\net45\System.Web.Helpers.dll + + + ..\..\packages\Microsoft.AspNet.WebApi.Core.5.2.8\lib\net45\System.Web.Http.dll - - ..\..\packages\Microsoft.AspNet.WebApi.Tracing.5.2.7\lib\net45\System.Web.Http.Tracing.dll + + ..\..\packages\Microsoft.AspNet.WebApi.Tracing.5.2.8\lib\net45\System.Web.Http.Tracing.dll - - ..\..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.7\lib\net45\System.Web.Http.WebHost.dll + + ..\..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.8\lib\net45\System.Web.Http.WebHost.dll + + + ..\..\packages\Microsoft.AspNet.Mvc.5.2.8\lib\net45\System.Web.Mvc.dll + + + ..\..\packages\Microsoft.AspNet.Razor.3.2.8\lib\net45\System.Web.Razor.dll + + + ..\..\packages\Microsoft.AspNet.WebPages.3.2.8\lib\net45\System.Web.WebPages.dll + + + ..\..\packages\Microsoft.AspNet.WebPages.3.2.8\lib\net45\System.Web.WebPages.Deployment.dll + + + ..\..\packages\Microsoft.AspNet.WebPages.3.2.8\lib\net45\System.Web.WebPages.Razor.dll @@ -76,44 +102,13 @@ - - True - ..\..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll - - - True - ..\..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.Helpers.dll - - - True - ..\..\packages\Microsoft.AspNet.Mvc.5.2.7\lib\net45\System.Web.Mvc.dll - ..\..\packages\Microsoft.AspNet.Web.Optimization.1.1.3\lib\net40\System.Web.Optimization.dll - - True - ..\..\packages\Microsoft.AspNet.Razor.3.2.7\lib\net45\System.Web.Razor.dll - - - True - ..\..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.dll - - - True - ..\..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.Deployment.dll - - - True - ..\..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.Razor.dll - - - ..\..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll - True ..\..\packages\WebGrease.1.6.0\lib\WebGrease.dll @@ -123,11 +118,6 @@ ..\..\packages\Antlr.3.5.0.2\lib\Antlr3.Runtime.dll - - - ..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll - - @@ -149,13 +139,15 @@ + - - - - - + + + + + + @@ -194,8 +186,6 @@ - - @@ -239,11 +229,12 @@ + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - + @@ -45,7 +45,7 @@ - + diff --git a/samples/Exceptionless.SampleWebApi/Exceptionless.SampleWebApi.csproj b/samples/Exceptionless.SampleWebApi/Exceptionless.SampleWebApi.csproj index af9a28c1..41cfa656 100644 --- a/samples/Exceptionless.SampleWebApi/Exceptionless.SampleWebApi.csproj +++ b/samples/Exceptionless.SampleWebApi/Exceptionless.SampleWebApi.csproj @@ -21,13 +21,13 @@ - - - - - - - + + + + + + + diff --git a/samples/Exceptionless.SampleWindows/Exceptionless.SampleWindows.csproj b/samples/Exceptionless.SampleWindows/Exceptionless.SampleWindows.csproj index 3df9e828..77aa8017 100644 --- a/samples/Exceptionless.SampleWindows/Exceptionless.SampleWindows.csproj +++ b/samples/Exceptionless.SampleWindows/Exceptionless.SampleWindows.csproj @@ -1,6 +1,6 @@  - net5.0-windows;net462 + net6.0-windows;net462 @@ -10,7 +10,7 @@ true - + $(DefineConstants);NETSTANDARD;NETSTANDARD2_0 diff --git a/samples/Exceptionless.SampleWpf/Exceptionless.SampleWpf.csproj b/samples/Exceptionless.SampleWpf/Exceptionless.SampleWpf.csproj index 3e6acb3e..d07e002b 100644 --- a/samples/Exceptionless.SampleWpf/Exceptionless.SampleWpf.csproj +++ b/samples/Exceptionless.SampleWpf/Exceptionless.SampleWpf.csproj @@ -1,7 +1,7 @@  - net5.0-windows;net462 + net6.0-windows;net462 @@ -10,7 +10,7 @@ Exceptionless - + $(DefineConstants);NETSTANDARD;NETSTANDARD2_0 diff --git a/src/Exceptionless/Exceptionless.csproj b/src/Exceptionless/Exceptionless.csproj index 4526f72f..3c9c938f 100644 --- a/src/Exceptionless/Exceptionless.csproj +++ b/src/Exceptionless/Exceptionless.csproj @@ -39,7 +39,7 @@ - + diff --git a/src/Platforms/Exceptionless.AspNetCore/Exceptionless.AspNetCore.csproj b/src/Platforms/Exceptionless.AspNetCore/Exceptionless.AspNetCore.csproj index 9edde11b..62ff495e 100644 --- a/src/Platforms/Exceptionless.AspNetCore/Exceptionless.AspNetCore.csproj +++ b/src/Platforms/Exceptionless.AspNetCore/Exceptionless.AspNetCore.csproj @@ -23,11 +23,11 @@ - - - - - + + + + + diff --git a/src/Platforms/Exceptionless.Extensions.Hosting/Exceptionless.Extensions.Hosting.csproj b/src/Platforms/Exceptionless.Extensions.Hosting/Exceptionless.Extensions.Hosting.csproj index 14a18ef6..007d21b0 100644 --- a/src/Platforms/Exceptionless.Extensions.Hosting/Exceptionless.Extensions.Hosting.csproj +++ b/src/Platforms/Exceptionless.Extensions.Hosting/Exceptionless.Extensions.Hosting.csproj @@ -15,7 +15,7 @@ - + diff --git a/src/Platforms/Exceptionless.Extensions.Logging/Exceptionless.Extensions.Logging.csproj b/src/Platforms/Exceptionless.Extensions.Logging/Exceptionless.Extensions.Logging.csproj index 315b0681..bc48b3f6 100644 --- a/src/Platforms/Exceptionless.Extensions.Logging/Exceptionless.Extensions.Logging.csproj +++ b/src/Platforms/Exceptionless.Extensions.Logging/Exceptionless.Extensions.Logging.csproj @@ -15,7 +15,7 @@ - + diff --git a/src/Platforms/Exceptionless.Log4net/Exceptionless.Log4net.csproj b/src/Platforms/Exceptionless.Log4net/Exceptionless.Log4net.csproj index 2e46da19..8be50079 100644 --- a/src/Platforms/Exceptionless.Log4net/Exceptionless.Log4net.csproj +++ b/src/Platforms/Exceptionless.Log4net/Exceptionless.Log4net.csproj @@ -25,7 +25,7 @@ - + diff --git a/src/Platforms/Exceptionless.MessagePack/Exceptionless.MessagePack.csproj b/src/Platforms/Exceptionless.MessagePack/Exceptionless.MessagePack.csproj index 4beb08a3..9947ce2f 100644 --- a/src/Platforms/Exceptionless.MessagePack/Exceptionless.MessagePack.csproj +++ b/src/Platforms/Exceptionless.MessagePack/Exceptionless.MessagePack.csproj @@ -5,7 +5,7 @@ netstandard2.0 - netstandard2.0;net5.0 + netstandard2.0;net6.0 diff --git a/src/Platforms/Exceptionless.Mvc/Exceptionless.Mvc.csproj b/src/Platforms/Exceptionless.Mvc/Exceptionless.Mvc.csproj index bc5b8894..60dc3edd 100644 --- a/src/Platforms/Exceptionless.Mvc/Exceptionless.Mvc.csproj +++ b/src/Platforms/Exceptionless.Mvc/Exceptionless.Mvc.csproj @@ -4,8 +4,8 @@ Exceptionless.Mvc Exceptionless.Mvc - Exceptionless client for ASP.NET MVC 3+ applications. - Exceptionless client for ASP.NET MVC 3+ applications. $(Description) + Exceptionless client for ASP.NET MVC applications. + Exceptionless client for ASP.NET MVC applications. $(Description) $(PackageTags);ASP.NET;MVC net462 @@ -31,7 +31,7 @@ - + diff --git a/src/Platforms/Exceptionless.NLog/Exceptionless.NLog.csproj b/src/Platforms/Exceptionless.NLog/Exceptionless.NLog.csproj index 237fed16..138138ea 100644 --- a/src/Platforms/Exceptionless.NLog/Exceptionless.NLog.csproj +++ b/src/Platforms/Exceptionless.NLog/Exceptionless.NLog.csproj @@ -25,7 +25,7 @@ - + diff --git a/src/Platforms/Exceptionless.WebApi/Exceptionless.WebApi.csproj b/src/Platforms/Exceptionless.WebApi/Exceptionless.WebApi.csproj index bf563651..3f708f6c 100644 --- a/src/Platforms/Exceptionless.WebApi/Exceptionless.WebApi.csproj +++ b/src/Platforms/Exceptionless.WebApi/Exceptionless.WebApi.csproj @@ -27,7 +27,7 @@ - + diff --git a/src/Platforms/Exceptionless.Windows/Exceptionless.Windows.csproj b/src/Platforms/Exceptionless.Windows/Exceptionless.Windows.csproj index 27fe2887..c7e810d1 100644 --- a/src/Platforms/Exceptionless.Windows/Exceptionless.Windows.csproj +++ b/src/Platforms/Exceptionless.Windows/Exceptionless.Windows.csproj @@ -2,7 +2,7 @@ - net5.0-windows;net462 + net6.0-windows;net462 @@ -32,7 +32,7 @@ - + $(DefineConstants);NETSTANDARD;NETSTANDARD2_0 diff --git a/src/Platforms/Exceptionless.Wpf/Exceptionless.Wpf.csproj b/src/Platforms/Exceptionless.Wpf/Exceptionless.Wpf.csproj index 08d7c32d..a7aa5fca 100644 --- a/src/Platforms/Exceptionless.Wpf/Exceptionless.Wpf.csproj +++ b/src/Platforms/Exceptionless.Wpf/Exceptionless.Wpf.csproj @@ -2,7 +2,7 @@ - net5.0-windows;net462 + net6.0-windows;net462 @@ -32,7 +32,7 @@ - + $(DefineConstants);NETSTANDARD;NETSTANDARD2_0 diff --git a/test/Exceptionless.MessagePack.Tests/Exceptionless.MessagePack.Tests.csproj b/test/Exceptionless.MessagePack.Tests/Exceptionless.MessagePack.Tests.csproj index ed7dd28b..46d0cd78 100644 --- a/test/Exceptionless.MessagePack.Tests/Exceptionless.MessagePack.Tests.csproj +++ b/test/Exceptionless.MessagePack.Tests/Exceptionless.MessagePack.Tests.csproj @@ -2,10 +2,10 @@ - net5.0 + net6.0 - net5.0;net462 + net6.0;net462 @@ -16,9 +16,9 @@ - + - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -30,7 +30,7 @@ - + $(DefineConstants);NETSTANDARD;NETSTANDARD2_0 diff --git a/test/Exceptionless.TestHarness/Exceptionless.TestHarness.csproj b/test/Exceptionless.TestHarness/Exceptionless.TestHarness.csproj index fdcb44d7..d2eacf43 100644 --- a/test/Exceptionless.TestHarness/Exceptionless.TestHarness.csproj +++ b/test/Exceptionless.TestHarness/Exceptionless.TestHarness.csproj @@ -16,7 +16,7 @@ - + diff --git a/test/Exceptionless.Tests/Exceptionless.Tests.csproj b/test/Exceptionless.Tests/Exceptionless.Tests.csproj index ddcbb93e..f0554bbc 100644 --- a/test/Exceptionless.Tests/Exceptionless.Tests.csproj +++ b/test/Exceptionless.Tests/Exceptionless.Tests.csproj @@ -2,10 +2,10 @@ - net5.0 + net6.0 - net5.0;net462 + net6.0;net462 @@ -19,7 +19,7 @@ - + $(DefineConstants);NETSTANDARD;NETSTANDARD2_0 @@ -33,15 +33,15 @@ - + - + - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/test/Exceptionless.Tests/Plugins/020_ErrorPluginTests.cs b/test/Exceptionless.Tests/Plugins/020_ErrorPluginTests.cs index 44d00533..a453e75a 100644 --- a/test/Exceptionless.Tests/Plugins/020_ErrorPluginTests.cs +++ b/test/Exceptionless.Tests/Plugins/020_ErrorPluginTests.cs @@ -288,19 +288,23 @@ public void WillUnwrapExceptionTypeName() { } [Fact] - public void TrackException() { + public void VerifyExceptionHResultIsMappedToErrorCode() { var plugin = new ErrorPlugin(); var client = CreateClient(); var context = new EventPluginContext(client, new Event()); - var exception = new TestOutOfMemoryException("Test"); + var exception = new OutOfMemoryException("Test"); context.ContextData.SetException(exception); + plugin.Run(context); + Assert.False(context.Cancel); Assert.Equal(Event.KnownTypes.Error, context.Event.Type); + var error = context.Event.GetError(); - if (error != null) { - Assert.Equal(E_OUTOFMEMORY.ToString(), error.Code); - } + Assert.NotNull(error); + + // + Assert.Equal(unchecked((int)0x8007000E).ToString(), error.Code); } } } \ No newline at end of file diff --git a/test/Exceptionless.Tests/Plugins/PluginTestBase.cs b/test/Exceptionless.Tests/Plugins/PluginTestBase.cs index 599645be..c8a87041 100644 --- a/test/Exceptionless.Tests/Plugins/PluginTestBase.cs +++ b/test/Exceptionless.Tests/Plugins/PluginTestBase.cs @@ -90,18 +90,5 @@ public enum ErrorCategory { FirstErrorBucket, SecondErrorBucket, } - - /// - /// Hresult for 'Failed to allocate necessary memory'. - /// - /// - public const int E_OUTOFMEMORY = unchecked((int)0x8007000E); - - public class TestOutOfMemoryException : Exception { - public TestOutOfMemoryException(string message) : base(message) { - // Out of Memory Exception - HResult = E_OUTOFMEMORY; - } - } } } \ No newline at end of file diff --git a/test/Exceptionless.Tests/Storage/FileStorageTestsBase.cs b/test/Exceptionless.Tests/Storage/FileStorageTestsBase.cs index 2ea0665d..36559449 100644 --- a/test/Exceptionless.Tests/Storage/FileStorageTestsBase.cs +++ b/test/Exceptionless.Tests/Storage/FileStorageTestsBase.cs @@ -5,6 +5,7 @@ using System.Linq; using System.Threading; using System.Threading.Tasks; +using Exceptionless.Configuration; using Exceptionless.Dependency; using Exceptionless.Extensions; using Exceptionless.Logging; @@ -188,5 +189,21 @@ public void CanConcurrentlyManageFiles() { }); Assert.Equal(25, working.Count + storage.GetQueueFiles(queueName).Count); } + + [Fact] + public void CanRoundTripSettingsWithUpdates() { + var settings = new SettingsDictionary { + ["MySetting"] = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111" + }; + + var storage = GetStorage(); + storage.SaveObject("test.json", settings); + + settings["MySetting"] = "22222"; + storage.SaveObject("test.json", settings); + + var savedSettings = storage.GetObject("test.json"); + Assert.Single(savedSettings); + } } } diff --git a/test/Exceptionless.Tests/Storage/PersistedDictionaryTests.cs b/test/Exceptionless.Tests/Storage/PersistedDictionaryTests.cs index c3768a1e..e1f4bba7 100644 --- a/test/Exceptionless.Tests/Storage/PersistedDictionaryTests.cs +++ b/test/Exceptionless.Tests/Storage/PersistedDictionaryTests.cs @@ -40,5 +40,26 @@ public void WillSaveOnce() { Assert.True(success, "Failed to save dictionary."); Assert.True(storage.Exists("test.json")); } + + [Fact] + public void WillOverwriteSetting() { + var latch = new CountDownLatch(2); + var storage = new InMemoryObjectStorage(); + var dict = new PersistedDictionary("test.json", storage, new DefaultJsonSerializer(), 50); + dict.Saved += (sender, args) => latch.Signal(); + + dict["MySetting"] = "ABCDE"; + Assert.Single(dict); + bool success = latch.Wait(500); + Assert.False(success, "Dictionary was saved multiple times."); + Assert.Equal(1, latch.Remaining); + Assert.True(storage.Exists("test.json")); + + dict["MySetting"] = "AB"; + Assert.Single(dict); + success = latch.Wait(500); + Assert.True(success, "Failed to save dictionary."); + Assert.True(storage.Exists("test.json")); + } } } diff --git a/test/Exceptionless.Tests/Utility/PasswordGenerator.cs b/test/Exceptionless.Tests/Utility/PasswordGenerator.cs index e9f5427d..c8f020cc 100644 --- a/test/Exceptionless.Tests/Utility/PasswordGenerator.cs +++ b/test/Exceptionless.Tests/Utility/PasswordGenerator.cs @@ -57,7 +57,7 @@ public string Next() string allowedChars = AllowedAlphaNumericCharacters + AllowedSpecialCharacters; byte[] data = new byte[Length]; char[] password = new char[Length]; - new RNGCryptoServiceProvider().GetBytes(data); + RandomNumberGenerator.Create().GetBytes(data); int nonAlphanumericCharacters = 0;