diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index 665e4894..d15ac580 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -3,9 +3,9 @@ "isRoot": true, "tools": { "csharpier": { - "version": "0.30.6", + "version": "1.0.0", "commands": [ - "dotnet-csharpier" + "csharpier" ], "rollForward": false }, diff --git a/.csharpierignore b/.csharpierignore new file mode 100644 index 00000000..9112f6b9 --- /dev/null +++ b/.csharpierignore @@ -0,0 +1,2 @@ +Directory.Build.targets +Directory.Build.props \ No newline at end of file diff --git a/.csharpierrc.yaml b/.csharpierrc.yaml index 152a7153..b8bb4252 100644 --- a/.csharpierrc.yaml +++ b/.csharpierrc.yaml @@ -1,6 +1,6 @@ printWidth: 120 useTabs: false -tabWidth: 2 +indentSize: 2 preprocessorSymbolSets: - "" - "DEBUG" diff --git a/Directory.Build.props b/Directory.Build.props index e37df49c..5d176b67 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,5 +1,4 @@ - 12 enable @@ -7,7 +6,6 @@ true true - @@ -22,18 +20,16 @@ speckle Apache-2.0 - - false + false + true true $(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb - true - true latest-AllEnabledByDefault @@ -41,7 +37,6 @@ true false true - @@ -59,28 +54,20 @@ CA1502;CA1716;NETSDK1206; $(NoWarn) - + - $(MSBuildThisFileDirectory) - - + - - + + - - + - diff --git a/Directory.Build.targets b/Directory.Build.targets index 10e64e3a..ddff399d 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -1,18 +1,17 @@ - - - $(NoWarn); - - CS0618;CA1034;CA2201;CA1051;CA1040;CA1724; - IDE0044;IDE0130;CA1508; - - CA5394;CA2007;CA1852;CA1819;CA1711;CA1063;CA1816;CA2234;CS8618;CA1054;CA1810;CA2208;CA1019;CA1831; - - - + + + + CS0618;CA1034;CA2201;CA1051;CA1040;CA1724; + IDE0044;IDE0130;CA1508; + + CA5394;CA2007;CA1852;CA1819;CA1711;CA1063;CA1816;CA2234;CS8618;CA1054;CA1810;CA2208;CA1019;CA1831; + $(NoWarn); + + - - - + + + diff --git a/Directory.Packages.props b/Directory.Packages.props index e7f38171..43d07c4c 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -11,14 +11,14 @@ - + - + @@ -26,9 +26,9 @@ - + - + diff --git a/build/Program.cs b/build/Program.cs index 3664b8a5..5b3e2798 100644 --- a/build/Program.cs +++ b/build/Program.cs @@ -68,7 +68,7 @@ Target( Target(RESTORE_TOOLS, () => RunAsync("dotnet", "tool restore")); -Target(FORMAT, dependsOn: [RESTORE_TOOLS], () => RunAsync("dotnet", "csharpier --check .")); +Target(FORMAT, dependsOn: [RESTORE_TOOLS], () => RunAsync("dotnet", "csharpier check .")); Target(RESTORE, dependsOn: [FORMAT], () => RunAsync("dotnet", "restore Speckle.Sdk.sln --locked-mode")); diff --git a/build/build.csproj b/build/build.csproj index f26eb8c9..06a9d6ac 100644 --- a/build/build.csproj +++ b/build/build.csproj @@ -1,10 +1,9 @@  - Exe net8.0 - + diff --git a/src/Speckle.Objects/Geometry/Plane.cs b/src/Speckle.Objects/Geometry/Plane.cs index 2da4b1bf..0701cb22 100644 --- a/src/Speckle.Objects/Geometry/Plane.cs +++ b/src/Speckle.Objects/Geometry/Plane.cs @@ -68,7 +68,6 @@ public class Plane : Base, ITransformable /// Returns the values of this as a list of numbers /// /// A list of values representing the Plane. - public List ToList() { var list = new List(); diff --git a/src/Speckle.Objects/Geometry/Surface.cs b/src/Speckle.Objects/Geometry/Surface.cs index d97ed633..9d9944ca 100644 --- a/src/Speckle.Objects/Geometry/Surface.cs +++ b/src/Speckle.Objects/Geometry/Surface.cs @@ -147,7 +147,6 @@ public class Surface : Base, IHasBoundingBox, IHasArea, ITransformable /// /// A 2-dimensional array representing this s control points. /// The ControlPoints will be ordered following directions "[u][v]" - public List> GetControlPoints() { var matrix = new List>(); diff --git a/src/Speckle.Objects/Speckle.Objects.csproj b/src/Speckle.Objects/Speckle.Objects.csproj index aeddfb0e..1d7e3ad3 100644 --- a/src/Speckle.Objects/Speckle.Objects.csproj +++ b/src/Speckle.Objects/Speckle.Objects.csproj @@ -1,37 +1,30 @@ - netstandard2.0;net8.0 System.Runtime.CompilerServices.RequiresLocationAttribute Debug;Release;Local - Speckle.Objects Objects is the default object model for Speckle $(PackageTags) objects - true true snupkg - $(NoWarn); CA1819;CA1008;CA2225; - - - diff --git a/src/Speckle.Sdk.Dependencies/Speckle.Sdk.Dependencies.csproj b/src/Speckle.Sdk.Dependencies/Speckle.Sdk.Dependencies.csproj index b33a09ef..043b7876 100644 --- a/src/Speckle.Sdk.Dependencies/Speckle.Sdk.Dependencies.csproj +++ b/src/Speckle.Sdk.Dependencies/Speckle.Sdk.Dependencies.csproj @@ -1,5 +1,4 @@ - netstandard2.0;net8.0 Debug;Release;Local @@ -7,30 +6,26 @@ true true - Speckle.Sdk.Dependencies The .NET SDK for Speckle $(PackageTags) core sdk - true true snupkg - - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + - diff --git a/src/Speckle.Sdk.Dependencies/packages.lock.json b/src/Speckle.Sdk.Dependencies/packages.lock.json index 516c518c..c664417c 100644 --- a/src/Speckle.Sdk.Dependencies/packages.lock.json +++ b/src/Speckle.Sdk.Dependencies/packages.lock.json @@ -13,9 +13,9 @@ }, "Microsoft.Extensions.ObjectPool": { "type": "Direct", - "requested": "[9.0.3, )", - "resolved": "9.0.3", - "contentHash": "4uPdnj9hLRrb3ZSeVEDtwIm9nNrrT9vAXYC9o1/yTW8lGOPwTyI2QlkcICwYEGM1LESGTFidcPMFACznUZKbIQ==" + "requested": "[9.0.4, )", + "resolved": "9.0.4", + "contentHash": "G7p1k2xVZ+2aVANz0JdSiafr+AHDHeS1kF8+Y0ABbIsByd0erOL59IDXBs9vcdJf3pPV/murO0mbtr4k40QxWw==" }, "Microsoft.SourceLink.GitHub": { "type": "Direct", @@ -38,13 +38,13 @@ }, "Open.ChannelExtensions": { "type": "Direct", - "requested": "[9.0.0, )", - "resolved": "9.0.0", - "contentHash": "DP+l5S6G46wcuY4I4kNXE+RDOmJr0DKuMienOdt0mMBN9z7vmLSC8YQbqCyb9i9LNjXj1tgCx5LyitJiRr/v7g==", + "requested": "[9.1.0, )", + "resolved": "9.1.0", + "contentHash": "D6c24vMGy1oZ06vmkD2/FNzWHK7ZIihuv2spDgYEeaUp+eobrILQnrNQKRoASFXD4JGfZ7nfvTM0e+AX79dt8Q==", "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "9.0.0", - "System.Collections.Immutable": "9.0.0", - "System.Threading.Channels": "9.0.0" + "Microsoft.Bcl.AsyncInterfaces": "9.0.4", + "System.Collections.Immutable": "9.0.4", + "System.Threading.Channels": "9.0.4" } }, "Polly": { @@ -82,11 +82,11 @@ }, "System.Threading.Channels": { "type": "Direct", - "requested": "[9.0.2, )", - "resolved": "9.0.2", - "contentHash": "pUmqkuBS9OxWHOlfNad09Oxc8gRbxgN9UQtsqHPst4jfcgZRxQetNcsT2oe+VnUpEFAtBy1FZcJZiOscrBmA7g==", + "requested": "[9.0.4, )", + "resolved": "9.0.4", + "contentHash": "4qBn2H6/aXBpE/Pm3wY5yusY/pEvQz99NlWHrTUji0qCmOdbhhjaALcpmbfW2ksxlPM6i6S+QFLkpOQdyfeKYQ==", "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "9.0.2", + "Microsoft.Bcl.AsyncInterfaces": "9.0.4", "System.Threading.Tasks.Extensions": "4.5.4" } }, @@ -117,8 +117,8 @@ }, "System.Collections.Immutable": { "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "QhkXUl2gNrQtvPmtBTQHb0YsUrDiDQ2QS09YbtTTiSjGcf7NBqtYbrG/BE06zcBPCKEwQGzIv13IVdXNOSub2w==", + "resolved": "9.0.4", + "contentHash": "wfm2NgK22MmBe5qJjp52qzpkeDZKb4l9LbdubhZSehY1z4LS+lld6R+B+UQNb2AZRHu/QJlHxEUcRst5hIEejg==", "dependencies": { "System.Memory": "4.5.5", "System.Runtime.CompilerServices.Unsafe": "6.0.0" @@ -155,8 +155,8 @@ "Microsoft.Bcl.AsyncInterfaces": { "type": "CentralTransitive", "requested": "[5.0.0, )", - "resolved": "9.0.2", - "contentHash": "1CED0BGD7dCKsbe7tDhzpPB2Qdi9x35QChu6zkBEI4s0T5bDkkttGReqQnOeOfRNSxtP2WvpX6Ik/0O93XDuMw==", + "resolved": "9.0.4", + "contentHash": "9VGI5kxIvrNG2mqLQZnUR6y/3fcnygD8eNpHR+CqfbnIXvea6nehnYknDKQTxZVPMpzpNca+7DxLBmpdB3q0Bw==", "dependencies": { "System.Threading.Tasks.Extensions": "4.5.4" } @@ -174,9 +174,9 @@ }, "Microsoft.Extensions.ObjectPool": { "type": "Direct", - "requested": "[9.0.3, )", - "resolved": "9.0.3", - "contentHash": "4uPdnj9hLRrb3ZSeVEDtwIm9nNrrT9vAXYC9o1/yTW8lGOPwTyI2QlkcICwYEGM1LESGTFidcPMFACznUZKbIQ==" + "requested": "[9.0.4, )", + "resolved": "9.0.4", + "contentHash": "G7p1k2xVZ+2aVANz0JdSiafr+AHDHeS1kF8+Y0ABbIsByd0erOL59IDXBs9vcdJf3pPV/murO0mbtr4k40QxWw==" }, "Microsoft.SourceLink.GitHub": { "type": "Direct", @@ -190,9 +190,9 @@ }, "Open.ChannelExtensions": { "type": "Direct", - "requested": "[9.0.0, )", - "resolved": "9.0.0", - "contentHash": "DP+l5S6G46wcuY4I4kNXE+RDOmJr0DKuMienOdt0mMBN9z7vmLSC8YQbqCyb9i9LNjXj1tgCx5LyitJiRr/v7g==" + "requested": "[9.1.0, )", + "resolved": "9.1.0", + "contentHash": "D6c24vMGy1oZ06vmkD2/FNzWHK7ZIihuv2spDgYEeaUp+eobrILQnrNQKRoASFXD4JGfZ7nfvTM0e+AX79dt8Q==" }, "Polly": { "type": "Direct", @@ -229,9 +229,9 @@ }, "System.Threading.Channels": { "type": "Direct", - "requested": "[9.0.2, )", - "resolved": "9.0.2", - "contentHash": "pUmqkuBS9OxWHOlfNad09Oxc8gRbxgN9UQtsqHPst4jfcgZRxQetNcsT2oe+VnUpEFAtBy1FZcJZiOscrBmA7g==" + "requested": "[9.0.4, )", + "resolved": "9.0.4", + "contentHash": "4qBn2H6/aXBpE/Pm3wY5yusY/pEvQz99NlWHrTUji0qCmOdbhhjaALcpmbfW2ksxlPM6i6S+QFLkpOQdyfeKYQ==" }, "ILRepack": { "type": "Transitive", diff --git a/src/Speckle.Sdk/ServiceRegistration.cs b/src/Speckle.Sdk/ServiceRegistration.cs index 259f733f..8f8066ae 100644 --- a/src/Speckle.Sdk/ServiceRegistration.cs +++ b/src/Speckle.Sdk/ServiceRegistration.cs @@ -1,9 +1,18 @@ using System.Reflection; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; +using Speckle.Sdk.Api; +using Speckle.Sdk.Credentials; using Speckle.Sdk.Dependencies; using Speckle.Sdk.Host; using Speckle.Sdk.Logging; +using Speckle.Sdk.Models.GraphTraversal; +using Speckle.Sdk.Serialisation.V2; +using Speckle.Sdk.Serialisation.V2.Receive; +using Speckle.Sdk.Serialisation.V2.Send; +using Speckle.Sdk.SQLite; +using Speckle.Sdk.Transports; +using Speckle.Sdk.Transports.ServerUtils; namespace Speckle.Sdk; @@ -70,18 +79,39 @@ public static class ServiceRegistration ); serviceCollection.TryAddSingleton(); serviceCollection.TryAddSingleton(); - serviceCollection.AddMatchingInterfacesAsTransient(Assembly.GetExecutingAssembly()); + serviceCollection.AddMatchingInterfacesAsTransient( + Assembly.GetExecutingAssembly(), + typeof(ServerTransport), + typeof(Account), + typeof(ServerApi), + typeof(SqLiteJsonCacheManager), + typeof(ServerObjectManager), + typeof(BaseSerializer), + typeof(SerializeProcess), + typeof(ObjectSaver), + typeof(ObjectSerializer), + typeof(ObjectDeserializer), + typeof(DeserializeProcess), + typeof(ObjectLoader), + typeof(TraversalRule), + typeof(Client) + ); serviceCollection.AddMatchingInterfacesAsTransient(typeof(GraphQLRetry).Assembly); return serviceCollection; } public static IServiceCollection AddMatchingInterfacesAsTransient( this IServiceCollection serviceCollection, - Assembly assembly + Assembly assembly, + params Type[] classesToIgnore ) { foreach (var type in assembly.ExportedTypes.Where(t => t.IsNonAbstractClass())) { + if (classesToIgnore.Contains(type)) + { + continue; + } foreach (var matchingInterface in type.FindMatchingInterface()) { serviceCollection.TryAddTransient(matchingInterface, type); diff --git a/src/Speckle.Sdk/Speckle.Sdk.csproj b/src/Speckle.Sdk/Speckle.Sdk.csproj index 97406570..ed86cb32 100644 --- a/src/Speckle.Sdk/Speckle.Sdk.csproj +++ b/src/Speckle.Sdk/Speckle.Sdk.csproj @@ -1,50 +1,43 @@ - netstandard2.0;net8.0 Debug;Release;Local true - Speckle.Sdk The .NET SDK for Speckle $(PackageTags) core sdk $(NoWarn);CS8618 - true true snupkg - - - - + + - + - - + - + - diff --git a/tests/Speckle.Objects.Tests.Unit/Speckle.Objects.Tests.Unit.csproj b/tests/Speckle.Objects.Tests.Unit/Speckle.Objects.Tests.Unit.csproj index 15eb3455..5be854e5 100644 --- a/tests/Speckle.Objects.Tests.Unit/Speckle.Objects.Tests.Unit.csproj +++ b/tests/Speckle.Objects.Tests.Unit/Speckle.Objects.Tests.Unit.csproj @@ -1,21 +1,18 @@ - net8.0 true System.Runtime.CompilerServices.IsExternalInit - - + - + - diff --git a/tests/Speckle.Objects.Tests.Unit/packages.lock.json b/tests/Speckle.Objects.Tests.Unit/packages.lock.json index f86bb622..5838883e 100644 --- a/tests/Speckle.Objects.Tests.Unit/packages.lock.json +++ b/tests/Speckle.Objects.Tests.Unit/packages.lock.json @@ -265,8 +265,8 @@ }, "System.IO.Hashing": { "type": "Transitive", - "resolved": "9.0.3", - "contentHash": "BrMGzDRLz410PE4qC8UeKeAc0hFRjBkiCUOLTwuod65NAjqg5tDNqYU7gP0A09taEXtecB+HJc1NNnnTjsKFAQ==" + "resolved": "9.0.4", + "contentHash": "WogPvgAFqQORFD8Iyha6RZ+/1QB3dsWRWxbwi8/HHVgiGQ8z0oMWpwe8Kk3Ti+Roe+P6a3sBg+WwBfEsyziZKg==" }, "System.Management": { "type": "Transitive", @@ -311,13 +311,13 @@ }, "Verify": { "type": "Transitive", - "resolved": "29.2.0", - "contentHash": "EhhwhXIeip9AJGWRPXh47NAUoiELnWzeBnAzFSl0+ryAfijTV1T+B4m6P6GbheWQ1CJ1cC1ZFLzgH276D5Bu3A==", + "resolved": "29.3.0", + "contentHash": "Urc7/If0eLpawVFtZrzYso3YrIWXOVkIY9iFiAhm/XrqUHDIP+wT5P/6uj5GCSGsY2yDT7OZ9xAwiLbxhEGnVw==", "dependencies": { "Argon": "0.27.0", "DiffEngine": "16.1.0", "SimpleInfoName": "3.1.0", - "System.IO.Hashing": "9.0.3" + "System.IO.Hashing": "9.0.4" } }, "xunit.abstractions": { @@ -325,20 +325,6 @@ "resolved": "2.0.3", "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==" }, - "xunit.analyzers": { - "type": "Transitive", - "resolved": "1.18.0", - "contentHash": "OtFMHN8yqIcYP9wcVIgJrq01AfTxijjAqVDy/WeQVSyrDC1RzBWeQPztL49DN2syXRah8TYnfvk035s7L95EZQ==" - }, - "xunit.core": { - "type": "Transitive", - "resolved": "2.9.3", - "contentHash": "BiAEvqGvyme19wE0wTKdADH+NloYqikiU0mcnmiNyXaF9HyHmE6sr/3DC5vnBkgsWaE6yPyWszKSPSApWdRVeQ==", - "dependencies": { - "xunit.extensibility.core": "[2.9.3]", - "xunit.extensibility.execution": "[2.9.3]" - } - }, "xunit.extensibility.core": { "type": "Transitive", "resolved": "2.9.3", @@ -380,13 +366,10 @@ "speckle.sdk.testing": { "type": "Project", "dependencies": { - "Microsoft.NET.Test.Sdk": "[17.13.0, )", "Moq": "[4.20.72, )", "Speckle.Sdk": "[1.0.0, )", "Verify.Quibble": "[2.1.1, )", - "Verify.Xunit": "[29.2.0, )", - "xunit": "[2.9.3, )", - "xunit.runner.visualstudio": "[3.0.2, )" + "Verify.Xunit": "[29.3.0, )" } }, "GraphQL.Client": { @@ -468,29 +451,18 @@ }, "Verify.Xunit": { "type": "CentralTransitive", - "requested": "[29.2.0, )", - "resolved": "29.2.0", - "contentHash": "MdcslVf40AzSA319ZHMzR+U4JqyquX28JFSrI9zA89yeZNaNcaSIb5PmE0XZ6p60Iy7eRYtnGEgSDimEUeXHZw==", + "requested": "[29.3.0, )", + "resolved": "29.3.0", + "contentHash": "o/NvBDYh6fmybQDCnq27AMhKCzXjUrfe5gQT9B5YKDVR2xLezktmrAB0JXwxbpNAFOKcx0wuEECo9OTsDqYmpA==", "dependencies": { "Argon": "0.27.0", "DiffEngine": "16.1.0", "SimpleInfoName": "3.1.0", - "System.IO.Hashing": "9.0.3", - "Verify": "29.2.0", + "System.IO.Hashing": "9.0.4", + "Verify": "29.3.0", "xunit.abstractions": "2.0.3", "xunit.extensibility.execution": "2.9.3" } - }, - "xunit": { - "type": "CentralTransitive", - "requested": "[2.9.3, )", - "resolved": "2.9.3", - "contentHash": "TlXQBinK35LpOPKHAqbLY4xlEen9TBafjs0V5KnA4wZsoQLQJiirCR4CbIXvOH8NzkW4YeJKP5P/Bnrodm0h9Q==", - "dependencies": { - "xunit.analyzers": "1.18.0", - "xunit.assert": "2.9.3", - "xunit.core": "[2.9.3]" - } } } } diff --git a/tests/Speckle.Sdk.Serialization.Testing/Speckle.Sdk.Serialization.Testing.csproj b/tests/Speckle.Sdk.Serialization.Testing/Speckle.Sdk.Serialization.Testing.csproj index 3d97bc78..b497eb60 100644 --- a/tests/Speckle.Sdk.Serialization.Testing/Speckle.Sdk.Serialization.Testing.csproj +++ b/tests/Speckle.Sdk.Serialization.Testing/Speckle.Sdk.Serialization.Testing.csproj @@ -1,11 +1,10 @@  - - - Exe - net8.0 - enable - enable - + + Exe + net8.0 + enable + enable + @@ -13,5 +12,4 @@ - diff --git a/tests/Speckle.Sdk.Serialization.Tests/CancellationTests.cs b/tests/Speckle.Sdk.Serialization.Tests/CancellationTests.cs index 93e721d5..10d79161 100644 --- a/tests/Speckle.Sdk.Serialization.Tests/CancellationTests.cs +++ b/tests/Speckle.Sdk.Serialization.Tests/CancellationTests.cs @@ -41,8 +41,8 @@ public class CancellationTests new SerializeProcessOptions(true, true, false, true) ); await cancellationSource.CancelAsync(); - var ex = await Assert.ThrowsAsync( - async () => await serializeProcess.Serialize(testClass) + var ex = await Assert.ThrowsAsync(async () => + await serializeProcess.Serialize(testClass) ); await Verify(ex); cancellationSource.IsCancellationRequested.Should().BeTrue(); @@ -62,8 +62,8 @@ public class CancellationTests cancellationSource.Token, new SerializeProcessOptions(true, true, false, true) ); - var ex = await Assert.ThrowsAsync( - async () => await serializeProcess.Serialize(testClass) + var ex = await Assert.ThrowsAsync(async () => + await serializeProcess.Serialize(testClass) ); await Verify(ex); cancellationSource.IsCancellationRequested.Should().BeTrue(); @@ -83,8 +83,8 @@ public class CancellationTests new SerializeProcessOptions(true, true, false, true) ); - var ex = await Assert.ThrowsAsync( - async () => await serializeProcess.Serialize(testClass) + var ex = await Assert.ThrowsAsync(async () => + await serializeProcess.Serialize(testClass) ); await Verify(ex); cancellationSource.IsCancellationRequested.Should().BeTrue(); diff --git a/tests/Speckle.Sdk.Serialization.Tests/Speckle.Sdk.Serialization.Tests.csproj b/tests/Speckle.Sdk.Serialization.Tests/Speckle.Sdk.Serialization.Tests.csproj index bea3bd9b..8eaa874f 100644 --- a/tests/Speckle.Sdk.Serialization.Tests/Speckle.Sdk.Serialization.Tests.csproj +++ b/tests/Speckle.Sdk.Serialization.Tests/Speckle.Sdk.Serialization.Tests.csproj @@ -1,30 +1,25 @@ - net8.0 true System.Runtime.CompilerServices.IsExternalInit;System.Runtime.CompilerServices.RequiresLocationAttribute - - + - + - - - diff --git a/tests/Speckle.Sdk.Serialization.Tests/packages.lock.json b/tests/Speckle.Sdk.Serialization.Tests/packages.lock.json index 517cd334..9e815b8b 100644 --- a/tests/Speckle.Sdk.Serialization.Tests/packages.lock.json +++ b/tests/Speckle.Sdk.Serialization.Tests/packages.lock.json @@ -310,8 +310,8 @@ }, "System.IO.Hashing": { "type": "Transitive", - "resolved": "9.0.3", - "contentHash": "BrMGzDRLz410PE4qC8UeKeAc0hFRjBkiCUOLTwuod65NAjqg5tDNqYU7gP0A09taEXtecB+HJc1NNnnTjsKFAQ==" + "resolved": "9.0.4", + "contentHash": "WogPvgAFqQORFD8Iyha6RZ+/1QB3dsWRWxbwi8/HHVgiGQ8z0oMWpwe8Kk3Ti+Roe+P6a3sBg+WwBfEsyziZKg==" }, "System.Management": { "type": "Transitive", @@ -356,13 +356,13 @@ }, "Verify": { "type": "Transitive", - "resolved": "29.2.0", - "contentHash": "EhhwhXIeip9AJGWRPXh47NAUoiELnWzeBnAzFSl0+ryAfijTV1T+B4m6P6GbheWQ1CJ1cC1ZFLzgH276D5Bu3A==", + "resolved": "29.3.0", + "contentHash": "Urc7/If0eLpawVFtZrzYso3YrIWXOVkIY9iFiAhm/XrqUHDIP+wT5P/6uj5GCSGsY2yDT7OZ9xAwiLbxhEGnVw==", "dependencies": { "Argon": "0.27.0", "DiffEngine": "16.1.0", "SimpleInfoName": "3.1.0", - "System.IO.Hashing": "9.0.3" + "System.IO.Hashing": "9.0.4" } }, "xunit.abstractions": { @@ -370,20 +370,6 @@ "resolved": "2.0.3", "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==" }, - "xunit.analyzers": { - "type": "Transitive", - "resolved": "1.18.0", - "contentHash": "OtFMHN8yqIcYP9wcVIgJrq01AfTxijjAqVDy/WeQVSyrDC1RzBWeQPztL49DN2syXRah8TYnfvk035s7L95EZQ==" - }, - "xunit.core": { - "type": "Transitive", - "resolved": "2.9.3", - "contentHash": "BiAEvqGvyme19wE0wTKdADH+NloYqikiU0mcnmiNyXaF9HyHmE6sr/3DC5vnBkgsWaE6yPyWszKSPSApWdRVeQ==", - "dependencies": { - "xunit.extensibility.core": "[2.9.3]", - "xunit.extensibility.execution": "[2.9.3]" - } - }, "xunit.extensibility.core": { "type": "Transitive", "resolved": "2.9.3", @@ -425,13 +411,10 @@ "speckle.sdk.testing": { "type": "Project", "dependencies": { - "Microsoft.NET.Test.Sdk": "[17.13.0, )", "Moq": "[4.20.72, )", "Speckle.Sdk": "[1.0.0, )", "Verify.Quibble": "[2.1.1, )", - "Verify.Xunit": "[29.2.0, )", - "xunit": "[2.9.3, )", - "xunit.runner.visualstudio": "[3.0.2, )" + "Verify.Xunit": "[29.3.0, )" } }, "GraphQL.Client": { @@ -504,29 +487,18 @@ }, "Verify.Xunit": { "type": "CentralTransitive", - "requested": "[29.2.0, )", - "resolved": "29.2.0", - "contentHash": "MdcslVf40AzSA319ZHMzR+U4JqyquX28JFSrI9zA89yeZNaNcaSIb5PmE0XZ6p60Iy7eRYtnGEgSDimEUeXHZw==", + "requested": "[29.3.0, )", + "resolved": "29.3.0", + "contentHash": "o/NvBDYh6fmybQDCnq27AMhKCzXjUrfe5gQT9B5YKDVR2xLezktmrAB0JXwxbpNAFOKcx0wuEECo9OTsDqYmpA==", "dependencies": { "Argon": "0.27.0", "DiffEngine": "16.1.0", "SimpleInfoName": "3.1.0", - "System.IO.Hashing": "9.0.3", - "Verify": "29.2.0", + "System.IO.Hashing": "9.0.4", + "Verify": "29.3.0", "xunit.abstractions": "2.0.3", "xunit.extensibility.execution": "2.9.3" } - }, - "xunit": { - "type": "CentralTransitive", - "requested": "[2.9.3, )", - "resolved": "2.9.3", - "contentHash": "TlXQBinK35LpOPKHAqbLY4xlEen9TBafjs0V5KnA4wZsoQLQJiirCR4CbIXvOH8NzkW4YeJKP5P/Bnrodm0h9Q==", - "dependencies": { - "xunit.analyzers": "1.18.0", - "xunit.assert": "2.9.3", - "xunit.core": "[2.9.3]" - } } } } diff --git a/tests/Speckle.Sdk.Testing/Speckle.Sdk.Testing.csproj b/tests/Speckle.Sdk.Testing/Speckle.Sdk.Testing.csproj index 2238b7c0..756d2c60 100644 --- a/tests/Speckle.Sdk.Testing/Speckle.Sdk.Testing.csproj +++ b/tests/Speckle.Sdk.Testing/Speckle.Sdk.Testing.csproj @@ -1,21 +1,14 @@  - - - net8.0 - true - - - - - - - - - - - - - - - + + net8.0 + true + + + + + + + + + diff --git a/tests/Speckle.Sdk.Testing/packages.lock.json b/tests/Speckle.Sdk.Testing/packages.lock.json index 0b4d76b5..0eca9a49 100644 --- a/tests/Speckle.Sdk.Testing/packages.lock.json +++ b/tests/Speckle.Sdk.Testing/packages.lock.json @@ -2,16 +2,6 @@ "version": 2, "dependencies": { "net8.0": { - "Microsoft.NET.Test.Sdk": { - "type": "Direct", - "requested": "[17.13.0, )", - "resolved": "17.13.0", - "contentHash": "W19wCPizaIC9Zh47w8wWI/yxuqR7/dtABwOrc8r2jX/8mUNxM2vw4fXDh+DJTeogxV+KzKwg5jNNGQVwf3LXyA==", - "dependencies": { - "Microsoft.CodeCoverage": "17.13.0", - "Microsoft.TestPlatform.TestHost": "17.13.0" - } - }, "Microsoft.SourceLink.GitHub": { "type": "Direct", "requested": "[8.0.0, )", @@ -56,36 +46,19 @@ }, "Verify.Xunit": { "type": "Direct", - "requested": "[29.2.0, )", - "resolved": "29.2.0", - "contentHash": "MdcslVf40AzSA319ZHMzR+U4JqyquX28JFSrI9zA89yeZNaNcaSIb5PmE0XZ6p60Iy7eRYtnGEgSDimEUeXHZw==", + "requested": "[29.3.0, )", + "resolved": "29.3.0", + "contentHash": "o/NvBDYh6fmybQDCnq27AMhKCzXjUrfe5gQT9B5YKDVR2xLezktmrAB0JXwxbpNAFOKcx0wuEECo9OTsDqYmpA==", "dependencies": { "Argon": "0.27.0", "DiffEngine": "16.1.0", "SimpleInfoName": "3.1.0", - "System.IO.Hashing": "9.0.3", - "Verify": "29.2.0", + "System.IO.Hashing": "9.0.4", + "Verify": "29.3.0", "xunit.abstractions": "2.0.3", "xunit.extensibility.execution": "2.9.3" } }, - "xunit": { - "type": "Direct", - "requested": "[2.9.3, )", - "resolved": "2.9.3", - "contentHash": "TlXQBinK35LpOPKHAqbLY4xlEen9TBafjs0V5KnA4wZsoQLQJiirCR4CbIXvOH8NzkW4YeJKP5P/Bnrodm0h9Q==", - "dependencies": { - "xunit.analyzers": "1.18.0", - "xunit.assert": "2.9.3", - "xunit.core": "[2.9.3]" - } - }, - "xunit.runner.visualstudio": { - "type": "Direct", - "requested": "[3.0.2, )", - "resolved": "3.0.2", - "contentHash": "oXbusR6iPq0xlqoikjdLvzh+wQDkMv9If58myz9MEzldS4nIcp442Btgs2sWbYWV+caEluMe2pQCZ0hUZgPiow==" - }, "Argon": { "type": "Transitive", "resolved": "0.27.0", @@ -144,11 +117,6 @@ "resolved": "8.0.0", "contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ==" }, - "Microsoft.CodeCoverage": { - "type": "Transitive", - "resolved": "17.13.0", - "contentHash": "9LIUy0y+DvUmEPtbRDw6Bay3rzwqFV8P4efTrK4CZhQle3M/QwLPjISghfcolmEGAPWxuJi6m98ZEfk4VR4Lfg==" - }, "Microsoft.Data.Sqlite.Core": { "type": "Transitive", "resolved": "7.0.5", @@ -210,28 +178,6 @@ "resolved": "8.0.0", "contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw==" }, - "Microsoft.TestPlatform.ObjectModel": { - "type": "Transitive", - "resolved": "17.13.0", - "contentHash": "bt0E0Dx+iqW97o4A59RCmUmz/5NarJ7LRL+jXbSHod72ibL5XdNm1Ke+UO5tFhBG4VwHLcSjqq9BUSblGNWamw==", - "dependencies": { - "System.Reflection.Metadata": "1.6.0" - } - }, - "Microsoft.TestPlatform.TestHost": { - "type": "Transitive", - "resolved": "17.13.0", - "contentHash": "9GGw08Dc3AXspjekdyTdZ/wYWFlxbgcF0s7BKxzVX+hzAwpifDOdxM+ceVaaJSQOwqt3jtuNlHn3XTpKUS9x9Q==", - "dependencies": { - "Microsoft.TestPlatform.ObjectModel": "17.13.0", - "Newtonsoft.Json": "13.0.1" - } - }, - "Newtonsoft.Json": { - "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" - }, "Quibble": { "type": "Transitive", "resolved": "0.3.1", @@ -293,8 +239,8 @@ }, "System.IO.Hashing": { "type": "Transitive", - "resolved": "9.0.3", - "contentHash": "BrMGzDRLz410PE4qC8UeKeAc0hFRjBkiCUOLTwuod65NAjqg5tDNqYU7gP0A09taEXtecB+HJc1NNnnTjsKFAQ==" + "resolved": "9.0.4", + "contentHash": "WogPvgAFqQORFD8Iyha6RZ+/1QB3dsWRWxbwi8/HHVgiGQ8z0oMWpwe8Kk3Ti+Roe+P6a3sBg+WwBfEsyziZKg==" }, "System.Management": { "type": "Transitive", @@ -314,11 +260,6 @@ "resolved": "5.0.0", "contentHash": "erBZjkQHWL9jpasCE/0qKAryzVBJFxGHVBAvgRN1bzM0q2s1S4oYREEEL0Vb+1kA/6BKb5FjUZMp5VXmy+gzkQ==" }, - "System.Reflection.Metadata": { - "type": "Transitive", - "resolved": "1.6.0", - "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" - }, "System.Runtime.CompilerServices.Unsafe": { "type": "Transitive", "resolved": "4.5.1", @@ -339,13 +280,13 @@ }, "Verify": { "type": "Transitive", - "resolved": "29.2.0", - "contentHash": "EhhwhXIeip9AJGWRPXh47NAUoiELnWzeBnAzFSl0+ryAfijTV1T+B4m6P6GbheWQ1CJ1cC1ZFLzgH276D5Bu3A==", + "resolved": "29.3.0", + "contentHash": "Urc7/If0eLpawVFtZrzYso3YrIWXOVkIY9iFiAhm/XrqUHDIP+wT5P/6uj5GCSGsY2yDT7OZ9xAwiLbxhEGnVw==", "dependencies": { "Argon": "0.27.0", "DiffEngine": "16.1.0", "SimpleInfoName": "3.1.0", - "System.IO.Hashing": "9.0.3" + "System.IO.Hashing": "9.0.4" } }, "xunit.abstractions": { @@ -353,20 +294,6 @@ "resolved": "2.0.3", "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==" }, - "xunit.analyzers": { - "type": "Transitive", - "resolved": "1.18.0", - "contentHash": "OtFMHN8yqIcYP9wcVIgJrq01AfTxijjAqVDy/WeQVSyrDC1RzBWeQPztL49DN2syXRah8TYnfvk035s7L95EZQ==" - }, - "xunit.core": { - "type": "Transitive", - "resolved": "2.9.3", - "contentHash": "BiAEvqGvyme19wE0wTKdADH+NloYqikiU0mcnmiNyXaF9HyHmE6sr/3DC5vnBkgsWaE6yPyWszKSPSApWdRVeQ==", - "dependencies": { - "xunit.extensibility.core": "[2.9.3]", - "xunit.extensibility.execution": "[2.9.3]" - } - }, "xunit.extensibility.core": { "type": "Transitive", "resolved": "2.9.3", @@ -455,12 +382,6 @@ "requested": "[13.0.2, )", "resolved": "13.0.2", "contentHash": "g1BejUZwax5PRfL6xHgLEK23sqHWOgOj9hE7RvfRRlN00AGt8GnPYt8HedSK7UB3HiRW8zCA9Pn0iiYxCK24BA==" - }, - "xunit.assert": { - "type": "CentralTransitive", - "requested": "[2.9.3, )", - "resolved": "2.9.3", - "contentHash": "/Kq28fCE7MjOV42YLVRAJzRF0WmEqsmflm0cfpMjGtzQ2lR5mYVj1/i0Y8uDAOLczkL3/jArrwehfMD0YogMAA==" } } } diff --git a/tests/Speckle.Sdk.Tests.Integration/Api/GraphQL/GraphQLClientExceptionHandling.cs b/tests/Speckle.Sdk.Tests.Integration/Api/GraphQL/GraphQLClientExceptionHandling.cs index b72b5977..900b530f 100644 --- a/tests/Speckle.Sdk.Tests.Integration/Api/GraphQL/GraphQLClientExceptionHandling.cs +++ b/tests/Speckle.Sdk.Tests.Integration/Api/GraphQL/GraphQLClientExceptionHandling.cs @@ -48,8 +48,8 @@ public class GraphQLClientExceptionHandling : IAsyncLifetime """; GraphQLRequest request = new(query: QUERY); - var ex = await Assert.ThrowsAsync( - async () => await _sut.ExecuteGraphQLRequest(request).ConfigureAwait(false) + var ex = await Assert.ThrowsAsync(async () => + await _sut.ExecuteGraphQLRequest(request).ConfigureAwait(false) ); ex.InnerExceptions.OfType().Count().Should().Be(1); } @@ -66,8 +66,8 @@ public class GraphQLClientExceptionHandling : IAsyncLifetime } """; GraphQLRequest request = new(query: QUERY); - var ex = await Assert.ThrowsAsync( - async () => await _sut.ExecuteGraphQLRequest(request).ConfigureAwait(false) + var ex = await Assert.ThrowsAsync(async () => + await _sut.ExecuteGraphQLRequest(request).ConfigureAwait(false) ); ex.InnerExceptions.OfType().Count().Should().Be(1); } @@ -79,8 +79,8 @@ public class GraphQLClientExceptionHandling : IAsyncLifetime public async Task TestGraphQLLayer_BadInput() { ProjectUpdateRoleInput input = new(null!, null!, null); - var ex = await Assert.ThrowsAsync( - async () => await _sut.Project.UpdateRole(input).ConfigureAwait(false) + var ex = await Assert.ThrowsAsync(async () => + await _sut.Project.UpdateRole(input).ConfigureAwait(false) ); ex.InnerExceptions.OfType().Count().Should().Be(2); } @@ -91,8 +91,8 @@ public class GraphQLClientExceptionHandling : IAsyncLifetime using CancellationTokenSource cts = new(); await cts.CancelAsync(); - var ex = await Assert.ThrowsAsync( - async () => await _sut.ActiveUser.Get(cts.Token).ConfigureAwait(false) + var ex = await Assert.ThrowsAsync(async () => + await _sut.ActiveUser.Get(cts.Token).ConfigureAwait(false) ); ex.CancellationToken.Should().BeEquivalentTo(cts.Token); @@ -121,8 +121,8 @@ public class GraphQLClientExceptionHandling : IAsyncLifetime } """; GraphQLRequest request = new(query: QUERY); - await Assert.ThrowsAsync( - async () => await _sut.ExecuteGraphQLRequest(request).ConfigureAwait(false) + await Assert.ThrowsAsync(async () => + await _sut.ExecuteGraphQLRequest(request).ConfigureAwait(false) ); } } diff --git a/tests/Speckle.Sdk.Tests.Integration/Api/GraphQL/Resources/ProjectResourceExceptionalTests.cs b/tests/Speckle.Sdk.Tests.Integration/Api/GraphQL/Resources/ProjectResourceExceptionalTests.cs index c54df264..12588126 100644 --- a/tests/Speckle.Sdk.Tests.Integration/Api/GraphQL/Resources/ProjectResourceExceptionalTests.cs +++ b/tests/Speckle.Sdk.Tests.Integration/Api/GraphQL/Resources/ProjectResourceExceptionalTests.cs @@ -54,8 +54,8 @@ public class ProjectResourceExceptionalTests : IAsyncLifetime Project privateStream = await Sut.Create(input); - var ex = await Assert.ThrowsAsync( - async () => _ = await _unauthedUser.Project.Get(privateStream.id) + var ex = await Assert.ThrowsAsync(async () => + _ = await _unauthedUser.Project.Get(privateStream.id) ); ex.InnerExceptions.Single().Should().BeOfType(); } @@ -70,8 +70,8 @@ public class ProjectResourceExceptionalTests : IAsyncLifetime [Fact] public async Task ProjectUpdate_NonExistentProject() { - var ex = await Assert.ThrowsAsync( - async () => _ = await Sut.Update(new("NonExistentProject", "My new name")) + var ex = await Assert.ThrowsAsync(async () => + _ = await Sut.Update(new("NonExistentProject", "My new name")) ); ex.InnerExceptions.Single().Should().BeOfType(); } @@ -79,8 +79,8 @@ public class ProjectResourceExceptionalTests : IAsyncLifetime [Fact] public async Task ProjectUpdate_NoAuth() { - var ex = await Assert.ThrowsAsync( - async () => _ = await _unauthedUser.Project.Update(new(_testProject.id, "My new name")) + var ex = await Assert.ThrowsAsync(async () => + _ = await _unauthedUser.Project.Update(new(_testProject.id, "My new name")) ); ex.InnerExceptions.Single().Should().BeOfType(); } @@ -107,8 +107,7 @@ public class ProjectResourceExceptionalTests : IAsyncLifetime { ProjectUpdateRoleInput input = new(_secondUser.Account.id.NotNull(), "NonExistentProject", newRole); - var ex = await Assert.ThrowsAsync( - async () => _ = await _unauthedUser.Project.UpdateRole(input) + var ex = await Assert.ThrowsAsync(async () => _ = await _unauthedUser.Project.UpdateRole(input) ); ex.InnerExceptions.Single().Should().BeOfType(); } diff --git a/tests/Speckle.Sdk.Tests.Integration/Credentials/UserServerInfoTests.cs b/tests/Speckle.Sdk.Tests.Integration/Credentials/UserServerInfoTests.cs index dad46fb6..de8a2f20 100644 --- a/tests/Speckle.Sdk.Tests.Integration/Credentials/UserServerInfoTests.cs +++ b/tests/Speckle.Sdk.Tests.Integration/Credentials/UserServerInfoTests.cs @@ -40,8 +40,8 @@ public class UserServerInfoTests : IAsyncLifetime Uri serverUrl = new(_acc.serverInfo.url); await FluentActions - .Invoking( - async () => await Fixtures.ServiceProvider.GetRequiredService().GetServerInfo(serverUrl) + .Invoking(async () => + await Fixtures.ServiceProvider.GetRequiredService().GetServerInfo(serverUrl) ) .Should() .ThrowAsync(); @@ -53,8 +53,8 @@ public class UserServerInfoTests : IAsyncLifetime Uri serverUrl = new("http://invalidserver.local"); await FluentActions - .Invoking( - async () => await Fixtures.ServiceProvider.GetRequiredService().GetServerInfo(serverUrl) + .Invoking(async () => + await Fixtures.ServiceProvider.GetRequiredService().GetServerInfo(serverUrl) ) .Should() .ThrowAsync(); @@ -81,8 +81,8 @@ public class UserServerInfoTests : IAsyncLifetime Uri serverUrl = new("http://invalidserver.local"); await FluentActions - .Invoking( - async () => await Fixtures.ServiceProvider.GetRequiredService().GetUserInfo("", serverUrl) + .Invoking(async () => + await Fixtures.ServiceProvider.GetRequiredService().GetUserInfo("", serverUrl) ) .Should() .ThrowAsync(); @@ -93,11 +93,10 @@ public class UserServerInfoTests : IAsyncLifetime { Uri serverUrl = new(_acc.serverInfo.url); await FluentActions - .Invoking( - async () => - await Fixtures - .ServiceProvider.GetRequiredService() - .GetUserInfo("Bearer 08913c3c1e7ac65d779d1e1f11b942a44ad9672ca9", serverUrl) + .Invoking(async () => + await Fixtures + .ServiceProvider.GetRequiredService() + .GetUserInfo("Bearer 08913c3c1e7ac65d779d1e1f11b942a44ad9672ca9", serverUrl) ) .Should() .ThrowAsync(); diff --git a/tests/Speckle.Sdk.Tests.Integration/Fixtures.cs b/tests/Speckle.Sdk.Tests.Integration/Fixtures.cs index a8afbc0c..d86a87a3 100644 --- a/tests/Speckle.Sdk.Tests.Integration/Fixtures.cs +++ b/tests/Speckle.Sdk.Tests.Integration/Fixtures.cs @@ -11,7 +11,6 @@ using Speckle.Sdk.Common; using Speckle.Sdk.Credentials; using Speckle.Sdk.Host; using Speckle.Sdk.Models; -using Speckle.Sdk.Tests.Unit.Serialisation; using Speckle.Sdk.Transports; using Version = Speckle.Sdk.Api.GraphQL.Models.Version; @@ -26,7 +25,7 @@ public static class Fixtures static Fixtures() { TypeLoader.Reset(); - TypeLoader.Initialize(typeof(Base).Assembly, typeof(IgnoreTest).Assembly); + TypeLoader.Initialize(typeof(Base).Assembly); ServiceProvider = TestServiceSetup.GetServiceProvider(); } diff --git a/tests/Speckle.Sdk.Tests.Integration/Speckle.Sdk.Tests.Integration.csproj b/tests/Speckle.Sdk.Tests.Integration/Speckle.Sdk.Tests.Integration.csproj index e5204dc2..778355be 100644 --- a/tests/Speckle.Sdk.Tests.Integration/Speckle.Sdk.Tests.Integration.csproj +++ b/tests/Speckle.Sdk.Tests.Integration/Speckle.Sdk.Tests.Integration.csproj @@ -1,21 +1,19 @@ - net8.0 true System.Runtime.CompilerServices.IsExternalInit - + + - + - - + - diff --git a/tests/Speckle.Sdk.Tests.Integration/packages.lock.json b/tests/Speckle.Sdk.Tests.Integration/packages.lock.json index 9d7e5e45..65d7c2e2 100644 --- a/tests/Speckle.Sdk.Tests.Integration/packages.lock.json +++ b/tests/Speckle.Sdk.Tests.Integration/packages.lock.json @@ -8,6 +8,21 @@ "resolved": "9.0.1", "contentHash": "aadciFNDT5bnylaYUkKal+s5hF7yU/lmZxImQWAlk1438iPqK1Uf79H5ylELpyLIU49HL5ql+tnWBihp3WVLCA==" }, + "AwesomeAssertions": { + "type": "Direct", + "requested": "[8.1.0, )", + "resolved": "8.1.0", + "contentHash": "IfNC4cpXPi9tclWvuNO9lfkuIxJsUTLTS1NXto55jDrAUQJYl0zLI9ByISrfkbBE2Xtg+IWaAXQ6jnUx3anDuw==" + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Direct", + "requested": "[2.2.0, )", + "resolved": "2.2.0", + "contentHash": "MZtBIwfDFork5vfjpJdG5g8wuJFt7d/y3LOSVVtDK/76wlbtz6cjltfKHqLx2TKVqTj5/c41t77m1+h20zqtPA==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0" + } + }, "Microsoft.NET.Test.Sdk": { "type": "Direct", "requested": "[17.13.0, )", @@ -264,8 +279,8 @@ }, "System.IO.Hashing": { "type": "Transitive", - "resolved": "9.0.3", - "contentHash": "BrMGzDRLz410PE4qC8UeKeAc0hFRjBkiCUOLTwuod65NAjqg5tDNqYU7gP0A09taEXtecB+HJc1NNnnTjsKFAQ==" + "resolved": "9.0.4", + "contentHash": "WogPvgAFqQORFD8Iyha6RZ+/1QB3dsWRWxbwi8/HHVgiGQ8z0oMWpwe8Kk3Ti+Roe+P6a3sBg+WwBfEsyziZKg==" }, "System.Management": { "type": "Transitive", @@ -310,13 +325,13 @@ }, "Verify": { "type": "Transitive", - "resolved": "29.2.0", - "contentHash": "EhhwhXIeip9AJGWRPXh47NAUoiELnWzeBnAzFSl0+ryAfijTV1T+B4m6P6GbheWQ1CJ1cC1ZFLzgH276D5Bu3A==", + "resolved": "29.3.0", + "contentHash": "Urc7/If0eLpawVFtZrzYso3YrIWXOVkIY9iFiAhm/XrqUHDIP+wT5P/6uj5GCSGsY2yDT7OZ9xAwiLbxhEGnVw==", "dependencies": { "Argon": "0.27.0", "DiffEngine": "16.1.0", "SimpleInfoName": "3.1.0", - "System.IO.Hashing": "9.0.3" + "System.IO.Hashing": "9.0.4" } }, "xunit.abstractions": { @@ -373,35 +388,12 @@ "speckle.sdk.testing": { "type": "Project", "dependencies": { - "Microsoft.NET.Test.Sdk": "[17.13.0, )", "Moq": "[4.20.72, )", "Speckle.Sdk": "[1.0.0, )", "Verify.Quibble": "[2.1.1, )", - "Verify.Xunit": "[29.2.0, )", - "xunit": "[2.9.3, )", - "xunit.runner.visualstudio": "[3.0.2, )" + "Verify.Xunit": "[29.3.0, )" } }, - "speckle.sdk.tests.unit": { - "type": "Project", - "dependencies": { - "AwesomeAssertions": "[8.1.0, )", - "Microsoft.Extensions.DependencyInjection": "[2.2.0, )", - "Microsoft.NET.Test.Sdk": "[17.13.0, )", - "RichardSzalay.MockHttp": "[7.0.0, )", - "Speckle.DoubleNumerics": "[4.1.0, )", - "Speckle.Sdk": "[1.0.0, )", - "Speckle.Sdk.Testing": "[1.0.0, )", - "altcover": "[9.0.1, )", - "xunit.runner.visualstudio": "[3.0.2, )" - } - }, - "AwesomeAssertions": { - "type": "CentralTransitive", - "requested": "[8.1.0, )", - "resolved": "8.1.0", - "contentHash": "IfNC4cpXPi9tclWvuNO9lfkuIxJsUTLTS1NXto55jDrAUQJYl0zLI9ByISrfkbBE2Xtg+IWaAXQ6jnUx3anDuw==" - }, "GraphQL.Client": { "type": "CentralTransitive", "requested": "[6.0.0, )", @@ -429,15 +421,6 @@ "SQLitePCLRaw.bundle_e_sqlite3": "2.1.4" } }, - "Microsoft.Extensions.DependencyInjection": { - "type": "CentralTransitive", - "requested": "[2.2.0, )", - "resolved": "2.2.0", - "contentHash": "MZtBIwfDFork5vfjpJdG5g8wuJFt7d/y3LOSVVtDK/76wlbtz6cjltfKHqLx2TKVqTj5/c41t77m1+h20zqtPA==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0" - } - }, "Microsoft.Extensions.DependencyInjection.Abstractions": { "type": "CentralTransitive", "requested": "[2.2.0, )", @@ -465,12 +448,6 @@ "Castle.Core": "5.1.1" } }, - "RichardSzalay.MockHttp": { - "type": "CentralTransitive", - "requested": "[7.0.0, )", - "resolved": "7.0.0", - "contentHash": "QwnauYiaywp65QKFnP+wvgiQ2D8Pv888qB2dyfd7MSVDF06sIvxqASenk+RxsWybyyt+Hu1Y251wQxpHTv3UYg==" - }, "Speckle.DoubleNumerics": { "type": "CentralTransitive", "requested": "[4.1.0, )", @@ -496,15 +473,15 @@ }, "Verify.Xunit": { "type": "CentralTransitive", - "requested": "[29.2.0, )", - "resolved": "29.2.0", - "contentHash": "MdcslVf40AzSA319ZHMzR+U4JqyquX28JFSrI9zA89yeZNaNcaSIb5PmE0XZ6p60Iy7eRYtnGEgSDimEUeXHZw==", + "requested": "[29.3.0, )", + "resolved": "29.3.0", + "contentHash": "o/NvBDYh6fmybQDCnq27AMhKCzXjUrfe5gQT9B5YKDVR2xLezktmrAB0JXwxbpNAFOKcx0wuEECo9OTsDqYmpA==", "dependencies": { "Argon": "0.27.0", "DiffEngine": "16.1.0", "SimpleInfoName": "3.1.0", - "System.IO.Hashing": "9.0.3", - "Verify": "29.2.0", + "System.IO.Hashing": "9.0.4", + "Verify": "29.3.0", "xunit.abstractions": "2.0.3", "xunit.extensibility.execution": "2.9.3" } diff --git a/tests/Speckle.Sdk.Tests.Performance/Benchmarks/GeneralDeserializerTest.cs b/tests/Speckle.Sdk.Tests.Performance/Benchmarks/GeneralDeserializerTest.cs index e6cc814a..eb55c025 100644 --- a/tests/Speckle.Sdk.Tests.Performance/Benchmarks/GeneralDeserializerTest.cs +++ b/tests/Speckle.Sdk.Tests.Performance/Benchmarks/GeneralDeserializerTest.cs @@ -27,7 +27,6 @@ public class GeneralDeserializer : IDisposable private const string streamId = "a3ac1b2706"; private const string rootId = "7d53bcf28c6696ecac8781684a0aa006";*/ - private const string url = "https://latest.speckle.systems/projects/2099ac4b5f/models/da511c4d1e"; //perf? private const string streamId = "2099ac4b5f"; private const string rootId = "30fb4cbe6eb2202b9e7b4a4fcc3dd2b6"; diff --git a/tests/Speckle.Sdk.Tests.Performance/Benchmarks/GeneralReceiveTest.cs b/tests/Speckle.Sdk.Tests.Performance/Benchmarks/GeneralReceiveTest.cs index cb62d9dc..fbb060ca 100644 --- a/tests/Speckle.Sdk.Tests.Performance/Benchmarks/GeneralReceiveTest.cs +++ b/tests/Speckle.Sdk.Tests.Performance/Benchmarks/GeneralReceiveTest.cs @@ -22,7 +22,6 @@ public class GeneralReceiveTest : IDisposable private const string streamId = "a3ac1b2706";S private const string rootId = "7d53bcf28c6696ecac8781684a0aa006";*/ - private const string url = "https://latest.speckle.systems/projects/2099ac4b5f/models/da511c4d1e"; //perf? private readonly Uri _baseUrl = new("https://latest.speckle.systems"); private const string streamId = "2099ac4b5f"; diff --git a/tests/Speckle.Sdk.Tests.Performance/Speckle.Sdk.Tests.Performance.csproj b/tests/Speckle.Sdk.Tests.Performance/Speckle.Sdk.Tests.Performance.csproj index 5dcc0434..c1217da2 100644 --- a/tests/Speckle.Sdk.Tests.Performance/Speckle.Sdk.Tests.Performance.csproj +++ b/tests/Speckle.Sdk.Tests.Performance/Speckle.Sdk.Tests.Performance.csproj @@ -1,22 +1,17 @@  - - - Exe - net8.0 - enable - disable - true - - - - - - + + Exe + net8.0 + enable + disable + true + + + + - - - - - - + + + + diff --git a/tests/Speckle.Sdk.Tests.Unit/Api/ClientResiliencyPolicyTest.cs b/tests/Speckle.Sdk.Tests.Unit/Api/ClientResiliencyPolicyTest.cs index 7b6d9748..1761dc50 100644 --- a/tests/Speckle.Sdk.Tests.Unit/Api/ClientResiliencyPolicyTest.cs +++ b/tests/Speckle.Sdk.Tests.Unit/Api/ClientResiliencyPolicyTest.cs @@ -37,16 +37,15 @@ public sealed class GraphQLClientTests : IDisposable { var tokenSource = new CancellationTokenSource(); tokenSource.Cancel(); - await _client.ExecuteWithResiliencePolicies( - async () => - await Task.Run( - async () => - { - await Task.Delay(1000); - return "foo"; - }, - tokenSource.Token - ) + await _client.ExecuteWithResiliencePolicies(async () => + await Task.Run( + async () => + { + await Task.Delay(1000); + return "foo"; + }, + tokenSource.Token + ) ); }); timer.Stop(); diff --git a/tests/Speckle.Sdk.Tests.Unit/Api/GraphQLErrorHandler.cs b/tests/Speckle.Sdk.Tests.Unit/Api/GraphQLErrorHandler.cs index a41f8c10..b379f8eb 100644 --- a/tests/Speckle.Sdk.Tests.Unit/Api/GraphQLErrorHandler.cs +++ b/tests/Speckle.Sdk.Tests.Unit/Api/GraphQLErrorHandler.cs @@ -24,12 +24,11 @@ public class GraphQLErrorHandlerTests [MemberData(nameof(ErrorCases))] public void TestExceptionThrowingFromGraphQLErrors(Type exType, Map extensions) { - var ex = Assert.Throws( - () => - new GraphQLResponse - { - Errors = [new() { Extensions = extensions }], - }.EnsureGraphQLSuccess() + var ex = Assert.Throws(() => + new GraphQLResponse + { + Errors = [new() { Extensions = extensions }], + }.EnsureGraphQLSuccess() ); ex.InnerExceptions.Count.Should().Be(1); ex.InnerExceptions[0].Should().BeOfType(exType); diff --git a/tests/Speckle.Sdk.Tests.Unit/Helpers/SpeckleHttpTests.cs b/tests/Speckle.Sdk.Tests.Unit/Helpers/SpeckleHttpTests.cs index 5b03545c..22040c4d 100644 --- a/tests/Speckle.Sdk.Tests.Unit/Helpers/SpeckleHttpTests.cs +++ b/tests/Speckle.Sdk.Tests.Unit/Helpers/SpeckleHttpTests.cs @@ -36,8 +36,7 @@ public class SpeckleHttpTests : MoqTest var uri = new Uri("https://speckle.xyz"); mockHttp.When(uri.AbsoluteUri).Respond(HttpStatusCode.Unauthorized); - await Assert.ThrowsAsync( - async () => await speckleHttp.HttpPing(uri, mockHttp.ToHttpClient()) + await Assert.ThrowsAsync(async () => await speckleHttp.HttpPing(uri, mockHttp.ToHttpClient()) ); } diff --git a/tests/Speckle.Sdk.Tests.Unit/SQLite/SQLiteJsonExceptionTests.cs b/tests/Speckle.Sdk.Tests.Unit/SQLite/SQLiteJsonExceptionTests.cs index 434aa223..c9dd6aa4 100644 --- a/tests/Speckle.Sdk.Tests.Unit/SQLite/SQLiteJsonExceptionTests.cs +++ b/tests/Speckle.Sdk.Tests.Unit/SQLite/SQLiteJsonExceptionTests.cs @@ -9,8 +9,8 @@ public class SqLiteJsonCacheExceptionTests public void ExpectedExceptionFires_Void() { using var pool = new CacheDbCommandPool("DataSource=:memory:", 1); - Assert.Throws( - () => pool.Use(CacheOperation.Get, new Action(_ => throw new SqliteException("test", 1, 1))) + Assert.Throws(() => + pool.Use(CacheOperation.Get, new Action(_ => throw new SqliteException("test", 1, 1))) ); } @@ -18,8 +18,8 @@ public class SqLiteJsonCacheExceptionTests public void ExpectedExceptionFires_Return() { using var pool = new CacheDbCommandPool("DataSource=:memory:", 1); - Assert.Throws( - () => pool.Use(CacheOperation.Get, new Func(_ => throw new SqliteException("test", 1, 1))) + Assert.Throws(() => + pool.Use(CacheOperation.Get, new Func(_ => throw new SqliteException("test", 1, 1))) ); } } diff --git a/tests/Speckle.Sdk.Tests.Unit/ServiceRegistrationTests.cs b/tests/Speckle.Sdk.Tests.Unit/ServiceRegistrationTests.cs new file mode 100644 index 00000000..cfe7d889 --- /dev/null +++ b/tests/Speckle.Sdk.Tests.Unit/ServiceRegistrationTests.cs @@ -0,0 +1,27 @@ +using FluentAssertions; +using Microsoft.Extensions.DependencyInjection; + +namespace Speckle.Sdk.Tests.Unit; + +public class ServiceRegistrationTests +{ + [Fact] + public void RegisterDependencies_Validation() + { + var serviceCollection = new ServiceCollection(); + serviceCollection.AddSpeckleSdk(new("Tests", "test"), "v3"); + var serviceProvider = serviceCollection.BuildServiceProvider(new ServiceProviderOptions { ValidateOnBuild = true }); + serviceProvider.Should().NotBeNull(); + } + + [Fact] + public void RegisterDependencies_Scopes() + { + var serviceCollection = new ServiceCollection(); + serviceCollection.AddSpeckleSdk(new("Tests", "test"), "v3"); + var serviceProvider = serviceCollection.BuildServiceProvider( + new ServiceProviderOptions { ValidateScopes = true, ValidateOnBuild = true } + ); + serviceProvider.Should().NotBeNull(); + } +} diff --git a/tests/Speckle.Sdk.Tests.Unit/Speckle.Sdk.Tests.Unit.csproj b/tests/Speckle.Sdk.Tests.Unit/Speckle.Sdk.Tests.Unit.csproj index 92ef4b7c..0e09805e 100644 --- a/tests/Speckle.Sdk.Tests.Unit/Speckle.Sdk.Tests.Unit.csproj +++ b/tests/Speckle.Sdk.Tests.Unit/Speckle.Sdk.Tests.Unit.csproj @@ -1,24 +1,21 @@ - net8.0 - true + true System.Runtime.CompilerServices.IsExternalInit;System.Runtime.CompilerServices.RequiresLocationAttribute - - + - - + + + - - diff --git a/tests/Speckle.Sdk.Testing/VerifyTests.cs b/tests/Speckle.Sdk.Tests.Unit/VerifyTests.cs similarity index 70% rename from tests/Speckle.Sdk.Testing/VerifyTests.cs rename to tests/Speckle.Sdk.Tests.Unit/VerifyTests.cs index a303625d..a22f3c6c 100644 --- a/tests/Speckle.Sdk.Testing/VerifyTests.cs +++ b/tests/Speckle.Sdk.Tests.Unit/VerifyTests.cs @@ -1,4 +1,4 @@ -namespace Speckle.Sdk.Testing; +namespace Speckle.Sdk.Tests.Unit; public class VerifyTests { diff --git a/tests/Speckle.Sdk.Tests.Unit/packages.lock.json b/tests/Speckle.Sdk.Tests.Unit/packages.lock.json index f3b02a2e..65a285b1 100644 --- a/tests/Speckle.Sdk.Tests.Unit/packages.lock.json +++ b/tests/Speckle.Sdk.Tests.Unit/packages.lock.json @@ -16,11 +16,11 @@ }, "Microsoft.Extensions.DependencyInjection": { "type": "Direct", - "requested": "[2.2.0, )", - "resolved": "2.2.0", - "contentHash": "MZtBIwfDFork5vfjpJdG5g8wuJFt7d/y3LOSVVtDK/76wlbtz6cjltfKHqLx2TKVqTj5/c41t77m1+h20zqtPA==", + "requested": "[8.0.0, )", + "resolved": "8.0.0", + "contentHash": "V8S3bsm50ig6JSyrbcJJ8bW2b9QLGouz+G1miK3UTaOWmMtFwNNNzUf4AleyDWUmTrWMLNnFSLEQtxmxgNQnNQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" } }, "Microsoft.NET.Test.Sdk": { @@ -67,6 +67,12 @@ "resolved": "0.9.6", "contentHash": "HKH7tYrYYlCK1ct483hgxERAdVdMtl7gUKW9ijWXxA1UsYR4Z+TrRHYmzZ9qmpu1NnTycSrp005NYM78GDKV1w==" }, + "xunit.assert": { + "type": "Direct", + "requested": "[2.9.3, )", + "resolved": "2.9.3", + "contentHash": "/Kq28fCE7MjOV42YLVRAJzRF0WmEqsmflm0cfpMjGtzQ2lR5mYVj1/i0Y8uDAOLczkL3/jArrwehfMD0YogMAA==" + }, "xunit.runner.visualstudio": { "type": "Direct", "requested": "[3.0.2, )", @@ -280,8 +286,8 @@ }, "System.IO.Hashing": { "type": "Transitive", - "resolved": "9.0.3", - "contentHash": "BrMGzDRLz410PE4qC8UeKeAc0hFRjBkiCUOLTwuod65NAjqg5tDNqYU7gP0A09taEXtecB+HJc1NNnnTjsKFAQ==" + "resolved": "9.0.4", + "contentHash": "WogPvgAFqQORFD8Iyha6RZ+/1QB3dsWRWxbwi8/HHVgiGQ8z0oMWpwe8Kk3Ti+Roe+P6a3sBg+WwBfEsyziZKg==" }, "System.Management": { "type": "Transitive", @@ -326,13 +332,13 @@ }, "Verify": { "type": "Transitive", - "resolved": "29.2.0", - "contentHash": "EhhwhXIeip9AJGWRPXh47NAUoiELnWzeBnAzFSl0+ryAfijTV1T+B4m6P6GbheWQ1CJ1cC1ZFLzgH276D5Bu3A==", + "resolved": "29.3.0", + "contentHash": "Urc7/If0eLpawVFtZrzYso3YrIWXOVkIY9iFiAhm/XrqUHDIP+wT5P/6uj5GCSGsY2yDT7OZ9xAwiLbxhEGnVw==", "dependencies": { "Argon": "0.27.0", "DiffEngine": "16.1.0", "SimpleInfoName": "3.1.0", - "System.IO.Hashing": "9.0.3" + "System.IO.Hashing": "9.0.4" } }, "xunit.abstractions": { @@ -340,20 +346,6 @@ "resolved": "2.0.3", "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==" }, - "xunit.analyzers": { - "type": "Transitive", - "resolved": "1.18.0", - "contentHash": "OtFMHN8yqIcYP9wcVIgJrq01AfTxijjAqVDy/WeQVSyrDC1RzBWeQPztL49DN2syXRah8TYnfvk035s7L95EZQ==" - }, - "xunit.core": { - "type": "Transitive", - "resolved": "2.9.3", - "contentHash": "BiAEvqGvyme19wE0wTKdADH+NloYqikiU0mcnmiNyXaF9HyHmE6sr/3DC5vnBkgsWaE6yPyWszKSPSApWdRVeQ==", - "dependencies": { - "xunit.extensibility.core": "[2.9.3]", - "xunit.extensibility.execution": "[2.9.3]" - } - }, "xunit.extensibility.core": { "type": "Transitive", "resolved": "2.9.3", @@ -389,13 +381,10 @@ "speckle.sdk.testing": { "type": "Project", "dependencies": { - "Microsoft.NET.Test.Sdk": "[17.13.0, )", "Moq": "[4.20.72, )", "Speckle.Sdk": "[1.0.0, )", "Verify.Quibble": "[2.1.1, )", - "Verify.Xunit": "[29.2.0, )", - "xunit": "[2.9.3, )", - "xunit.runner.visualstudio": "[3.0.2, )" + "Verify.Xunit": "[29.3.0, )" } }, "GraphQL.Client": { @@ -428,8 +417,8 @@ "Microsoft.Extensions.DependencyInjection.Abstractions": { "type": "CentralTransitive", "requested": "[2.2.0, )", - "resolved": "2.2.0", - "contentHash": "f9hstgjVmr6rmrfGSpfsVOl2irKAgr1QjrSi3FgnS7kulxband50f2brRLwySAQTADPZeTdow0mpSMcoAdadCw==" + "resolved": "8.0.0", + "contentHash": "cjWrLkJXK0rs4zofsK4bSdg+jhDLTaxrkXu4gS6Y7MAlCvRyNNgwY/lJi5RDlQOnSZweHqoyvgvbdvQsRIW+hg==" }, "Microsoft.Extensions.Logging": { "type": "CentralTransitive", @@ -471,35 +460,18 @@ }, "Verify.Xunit": { "type": "CentralTransitive", - "requested": "[29.2.0, )", - "resolved": "29.2.0", - "contentHash": "MdcslVf40AzSA319ZHMzR+U4JqyquX28JFSrI9zA89yeZNaNcaSIb5PmE0XZ6p60Iy7eRYtnGEgSDimEUeXHZw==", + "requested": "[29.3.0, )", + "resolved": "29.3.0", + "contentHash": "o/NvBDYh6fmybQDCnq27AMhKCzXjUrfe5gQT9B5YKDVR2xLezktmrAB0JXwxbpNAFOKcx0wuEECo9OTsDqYmpA==", "dependencies": { "Argon": "0.27.0", "DiffEngine": "16.1.0", "SimpleInfoName": "3.1.0", - "System.IO.Hashing": "9.0.3", - "Verify": "29.2.0", + "System.IO.Hashing": "9.0.4", + "Verify": "29.3.0", "xunit.abstractions": "2.0.3", "xunit.extensibility.execution": "2.9.3" } - }, - "xunit": { - "type": "CentralTransitive", - "requested": "[2.9.3, )", - "resolved": "2.9.3", - "contentHash": "TlXQBinK35LpOPKHAqbLY4xlEen9TBafjs0V5KnA4wZsoQLQJiirCR4CbIXvOH8NzkW4YeJKP5P/Bnrodm0h9Q==", - "dependencies": { - "xunit.analyzers": "1.18.0", - "xunit.assert": "2.9.3", - "xunit.core": "[2.9.3]" - } - }, - "xunit.assert": { - "type": "CentralTransitive", - "requested": "[2.9.3, )", - "resolved": "2.9.3", - "contentHash": "/Kq28fCE7MjOV42YLVRAJzRF0WmEqsmflm0cfpMjGtzQ2lR5mYVj1/i0Y8uDAOLczkL3/jArrwehfMD0YogMAA==" } } }