diff --git a/bitwarden-server.sln b/bitwarden-server.sln index 6f59d3225..746f7a3c6 100644 --- a/bitwarden-server.sln +++ b/bitwarden-server.sln @@ -92,6 +92,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IntegrationTestCommon", "te EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Scim", "bitwarden_license\src\Scim\Scim.csproj", "{BC3B3F8C-621A-4CB8-9563-6EC0A2C8C747}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Infrastructure.EFIntegration.Test", "test\Infrastructure.EFIntegration.Test\Infrastructure.EFIntegration.Test.csproj", "{7EFB1124-F40A-40EB-9EDA-94FD540AA8FD}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -220,6 +222,10 @@ Global {BC3B3F8C-621A-4CB8-9563-6EC0A2C8C747}.Debug|Any CPU.Build.0 = Debug|Any CPU {BC3B3F8C-621A-4CB8-9563-6EC0A2C8C747}.Release|Any CPU.ActiveCfg = Release|Any CPU {BC3B3F8C-621A-4CB8-9563-6EC0A2C8C747}.Release|Any CPU.Build.0 = Release|Any CPU + {7EFB1124-F40A-40EB-9EDA-94FD540AA8FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7EFB1124-F40A-40EB-9EDA-94FD540AA8FD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7EFB1124-F40A-40EB-9EDA-94FD540AA8FD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7EFB1124-F40A-40EB-9EDA-94FD540AA8FD}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -255,6 +261,7 @@ Global {0D3B2BD2-53F3-421D-AD8F-C19B954C796B} = {DD5BD056-4AAE-43EF-BBD2-0B569B8DA84F} {0923DE59-5FB1-44F2-9302-A09D2236B470} = {DD5BD056-4AAE-43EF-BBD2-0B569B8DA84F} {BC3B3F8C-621A-4CB8-9563-6EC0A2C8C747} = {4FDB6543-F68B-4202-9EA6-7FEA984D2D0A} + {7EFB1124-F40A-40EB-9EDA-94FD540AA8FD} = {DD5BD056-4AAE-43EF-BBD2-0B569B8DA84F} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {E01CBF68-2E20-425F-9EDB-E0A6510CA92F} diff --git a/bitwarden_license/src/Scim/packages.lock.json b/bitwarden_license/src/Scim/packages.lock.json index a6d68dae4..ef6719136 100644 --- a/bitwarden_license/src/Scim/packages.lock.json +++ b/bitwarden_license/src/Scim/packages.lock.json @@ -2981,7 +2981,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "2022.8.0", + "Core": "2022.8.4", "Dapper": "2.0.123", "System.Data.SqlClient": "4.8.3" } @@ -2990,7 +2990,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "11.0.0", - "Core": "2022.8.0", + "Core": "2022.8.4", "Microsoft.EntityFrameworkCore.Relational": "6.0.4", "Npgsql.EntityFrameworkCore.PostgreSQL": "6.0.4", "Pomelo.EntityFrameworkCore.MySql": "6.0.1", @@ -3000,9 +3000,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "2022.8.0", - "Infrastructure.Dapper": "2022.8.0", - "Infrastructure.EntityFramework": "2022.8.0" + "Core": "2022.8.4", + "Infrastructure.Dapper": "2022.8.4", + "Infrastructure.EntityFramework": "2022.8.4" } } } diff --git a/bitwarden_license/src/Sso/packages.lock.json b/bitwarden_license/src/Sso/packages.lock.json index 5ed2ab8d5..e70a13736 100644 --- a/bitwarden_license/src/Sso/packages.lock.json +++ b/bitwarden_license/src/Sso/packages.lock.json @@ -2851,7 +2851,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "2022.8.0", + "Core": "2022.8.4", "Dapper": "2.0.123", "System.Data.SqlClient": "4.8.3" } @@ -2860,7 +2860,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "11.0.0", - "Core": "2022.8.0", + "Core": "2022.8.4", "Microsoft.EntityFrameworkCore.Relational": "6.0.4", "Npgsql.EntityFrameworkCore.PostgreSQL": "6.0.4", "Pomelo.EntityFrameworkCore.MySql": "6.0.1", @@ -2870,9 +2870,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "2022.8.0", - "Infrastructure.Dapper": "2022.8.0", - "Infrastructure.EntityFramework": "2022.8.0" + "Core": "2022.8.4", + "Infrastructure.Dapper": "2022.8.4", + "Infrastructure.EntityFramework": "2022.8.4" } } } diff --git a/bitwarden_license/test/Commercial.Core.Test/packages.lock.json b/bitwarden_license/test/Commercial.Core.Test/packages.lock.json index a2ddc6025..6721313eb 100644 --- a/bitwarden_license/test/Commercial.Core.Test/packages.lock.json +++ b/bitwarden_license/test/Commercial.Core.Test/packages.lock.json @@ -82,23 +82,6 @@ "xunit.extensibility.core": "[2.2.0, 3.0.0)" } }, - "AutoMapper": { - "type": "Transitive", - "resolved": "11.0.0", - "contentHash": "+596AnKykYCk9RxXCEF4GYuapSebQtFVvIA1oVG1rrRkCLAC7AkWehJ0brCfYUbdDW3v1H/p0W3hob7JoXGjMw==", - "dependencies": { - "Microsoft.CSharp": "4.7.0" - } - }, - "AutoMapper.Extensions.Microsoft.DependencyInjection": { - "type": "Transitive", - "resolved": "11.0.0", - "contentHash": "0asw5WxdCFh2OTi9Gv+oKyH9SzxwYQSnO8TV5Dd0GggovILzJW4UimP26JAcxc3yB5NnC5urooZ1BBs8ElpiBw==", - "dependencies": { - "AutoMapper": "11.0.0", - "Microsoft.Extensions.Options": "6.0.0" - } - }, "AWSSDK.Core": { "type": "Transitive", "resolved": "3.7.10.11", @@ -122,8 +105,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.24.0", - "contentHash": "+/qI1j2oU1S4/nvxb2k/wDsol00iGf1AyJX5g3epV7eOpQEP/2xcgh/cxgKMeFgn3U2fmgSiBnQZdkV+l5y0Uw==", + "resolved": "1.22.0", + "contentHash": "ze/xRCHSSDe5TIk5vBDbVrauW1EN7UIbnBvIBfMH8KSt/I9+/7yPAjTBDgNBk0IwG6WBV+BBHp4IUtS/PGAQwQ==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -158,16 +141,6 @@ "System.Threading.Tasks.Extensions": "4.5.2" } }, - "Azure.Messaging.EventGrid": { - "type": "Transitive", - "resolved": "4.10.0", - "contentHash": "X3dh3Cek/7wFPUrBJ2KbnkJteGjWvKBoSBmD/uQm8reMIavCFTKhnl95F937eLn/2cSsm5l3oPHtYPFtDerA7Q==", - "dependencies": { - "Azure.Core": "1.24.0", - "System.Memory.Data": "1.0.2", - "System.Text.Json": "4.7.2" - } - }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.11.0", @@ -230,11 +203,6 @@ "System.Xml.XmlDocument": "4.3.0" } }, - "Dapper": { - "type": "Transitive", - "resolved": "2.0.123", - "contentHash": "RDFF4rBLLmbpi6pwkY7q/M6UXHRJEOerplDGE5jwEkP/JGJnBauAClYavNKJPW1yOTWRPIyfj4is3EaJxQXILQ==" - }, "Fare": { "type": "Transitive", "resolved": "2.1.1", @@ -339,23 +307,6 @@ "Microsoft.NETCore.Platforms": "1.0.1" } }, - "linq2db": { - "type": "Transitive", - "resolved": "3.7.0", - "contentHash": "iDous2TbSchtALnTLNXQnprmNZF4GrXas0MBz6ZHWkSdilSJjcf26qFM7Qf98Mny0OXHEmNXG/jtIDhoVJ5KmQ==", - "dependencies": { - "System.ComponentModel.Annotations": "4.7.0" - } - }, - "linq2db.EntityFrameworkCore": { - "type": "Transitive", - "resolved": "6.7.1", - "contentHash": "Bb25vUDyFw3nKnf7KY+bauwKGD0hdM7/syodS+IgHdWlcbH9g7tHxYmMa9+DNuL0yy6DFvP6Q3BkClm7zbQdAw==", - "dependencies": { - "Microsoft.EntityFrameworkCore.Relational": "6.0.0", - "linq2db": "3.7.0" - } - }, "MailKit": { "type": "Transitive", "resolved": "3.2.0", @@ -590,44 +541,6 @@ "resolved": "4.0.0", "contentHash": "wtLlRwQX7YoBUYm25xBjJ3UsuLgycme1xXqDn8t3S5kPCWiZrx8uOkyZHLKzH4kkCiQ9m2/J5JeCKNRbZNn3Qg==" }, - "Microsoft.EntityFrameworkCore": { - "type": "Transitive", - "resolved": "6.0.4", - "contentHash": "gTh3SJsF5WNjEmG32kYc3U4tjeTIv55QOrwHAJcF/xtrIVMteDHMArGC35N0dw86WFY0v8yFkKYKOIOln4jkfQ==", - "dependencies": { - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.4", - "Microsoft.EntityFrameworkCore.Analyzers": "6.0.4", - "Microsoft.Extensions.Caching.Memory": "6.0.1", - "Microsoft.Extensions.DependencyInjection": "6.0.0", - "Microsoft.Extensions.Logging": "6.0.0", - "System.Collections.Immutable": "6.0.0", - "System.Diagnostics.DiagnosticSource": "6.0.0" - } - }, - "Microsoft.EntityFrameworkCore.Abstractions": { - "type": "Transitive", - "resolved": "6.0.4", - "contentHash": "jycTQF0FUJp10cGWBmtsyFhQNeISU9CltDRKCaNiX4QRSEFzgRgaFN4vAFK0T+G5etmXugyddijE4NWCGtgznQ==" - }, - "Microsoft.EntityFrameworkCore.Analyzers": { - "type": "Transitive", - "resolved": "6.0.4", - "contentHash": "t12WodVyGGP2CuLo7R1qwcawHY5zlg+GiQzvkceZpsjcFJVyTFFBFDPg1isBtzurLzWsl+G3z5fVXeic90mPxg==" - }, - "Microsoft.EntityFrameworkCore.Relational": { - "type": "Transitive", - "resolved": "6.0.4", - "contentHash": "E867NbEXYRTElBF5ff+1AN5Awa1jkORy/Rrm0ueibaTAV5uw89LsLoH6yTe+b9urZTWMHtLfGd1RDdNjk8+KzA==", - "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.4", - "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" - } - }, - "Microsoft.Extensions.ApiDescription.Server": { - "type": "Transitive", - "resolved": "3.0.0", - "contentHash": "LH4OE/76F6sOCslif7+Xh3fS/wUUrE5ryeXAMcoCnuwOQGT5Smw0p57IgDh/pHgHaGz/e+AmEQb7pRgb++wt0w==" - }, "Microsoft.Extensions.Caching.Abstractions": { "type": "Transitive", "resolved": "6.0.0", @@ -638,14 +551,13 @@ }, "Microsoft.Extensions.Caching.Memory": { "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==", + "resolved": "3.1.8", + "contentHash": "u04q7+tgc8l6pQ5HOcr6scgapkQQHnrhpGoCaaAZd24R36/NxGsGxuhSmhHOrQx9CsBLe2CVBN/4CkLlxtnnXw==", "dependencies": { - "Microsoft.Extensions.Caching.Abstractions": "6.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.0", - "Microsoft.Extensions.Options": "6.0.0", - "Microsoft.Extensions.Primitives": "6.0.0" + "Microsoft.Extensions.Caching.Abstractions": "3.1.8", + "Microsoft.Extensions.DependencyInjection.Abstractions": "3.1.8", + "Microsoft.Extensions.Logging.Abstractions": "3.1.8", + "Microsoft.Extensions.Options": "3.1.8" } }, "Microsoft.Extensions.Caching.StackExchangeRedis": { @@ -937,11 +849,6 @@ "resolved": "7.6.4", "contentHash": "MSSmA6kIfpgFTtNpOnnayoSj/6KSzHC1U9KOjF7cTA1PG4tZ7rIMi1pvjFc8CmYEvP4cxGl/+vrCn+HpK26HTQ==" }, - "Microsoft.OpenApi": { - "type": "Transitive", - "resolved": "1.2.3", - "contentHash": "Nug3rO+7Kl5/SBAadzSMAVgqDlfGjJZ0GenQrLywJ84XGKO0uRqkunz5Wyl0SDwcR71bAATXvSdbdzPrYRYKGw==" - }, "Microsoft.Spatial": { "type": "Transitive", "resolved": "7.6.4", @@ -1007,11 +914,6 @@ "System.Threading.Tasks.Extensions": "4.5.4" } }, - "MySqlConnector": { - "type": "Transitive", - "resolved": "2.1.2", - "contentHash": "JVokQTUNN3WHAu9Vw8ieeq1dXTFokJiig5P0VJ4f439UxRrsPo6SaVWC8Zdm6mkPeQFhZ0/9afdWa02EY/1j/w==" - }, "NETStandard.Library": { "type": "Transitive", "resolved": "1.6.1", @@ -1068,25 +970,6 @@ "resolved": "13.0.1", "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" }, - "Npgsql": { - "type": "Transitive", - "resolved": "6.0.4", - "contentHash": "SJMlOmFHr32oOzVXeHmarGaBKkhi0wHVN/rzuu2tUSJ4Qx2AkHCpr9R/DhLWwDiklqgzFU++9wkFyGJxbx/zzg==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "Npgsql.EntityFrameworkCore.PostgreSQL": { - "type": "Transitive", - "resolved": "6.0.4", - "contentHash": "fzgRmBd3nAFvKt/L70sJfFWAdobtwDEeOzOzruJq9og97O8/5B96inQOAgOpYyaUjPYpS4ZS5/bxm3vnOJ0+pQ==", - "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.4", - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.4", - "Microsoft.EntityFrameworkCore.Relational": "6.0.4", - "Npgsql": "6.0.4" - } - }, "NSec.Cryptography": { "type": "Transitive", "resolved": "20.2.0", @@ -1122,16 +1005,6 @@ "System.IO.Pipelines": "5.0.1" } }, - "Pomelo.EntityFrameworkCore.MySql": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "sFIo5e9RmQoCTEvH6EeSV8ptmX3dw/6XgyD8R93X/i7A9+XCeG9KTjSNjrszVjVOtCu/eyvYqqcv2uZ/BHhlYA==", - "dependencies": { - "Microsoft.EntityFrameworkCore.Relational": "[6.0.1, 7.0.0)", - "Microsoft.Extensions.DependencyInjection": "6.0.0", - "MySqlConnector": "2.1.2" - } - }, "Portable.BouncyCastle": { "type": "Transitive", "resolved": "1.9.0", @@ -1176,16 +1049,6 @@ "Microsoft.NETCore.Targets": "1.1.0" } }, - "runtime.native.System.Data.SqlClient.sni": { - "type": "Transitive", - "resolved": "4.7.0", - "contentHash": "9kyFSIdN3T0qjDQ2R0HRXYIhS3l5psBzQi6qqhdLz+SzFyEy4sVxNOke+yyYv8Cu8rPER12c3RDjLT8wF3WBYQ==", - "dependencies": { - "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": "4.4.0", - "runtime.win-x64.runtime.native.System.Data.SqlClient.sni": "4.4.0", - "runtime.win-x86.runtime.native.System.Data.SqlClient.sni": "4.4.0" - } - }, "runtime.native.System.IO.Compression": { "type": "Transitive", "resolved": "4.3.0", @@ -1278,21 +1141,6 @@ "resolved": "4.3.2", "contentHash": "leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==" }, - "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": { - "type": "Transitive", - "resolved": "4.4.0", - "contentHash": "LbrynESTp3bm5O/+jGL8v0Qg5SJlTV08lpIpFesXjF6uGNMWqFnUQbYBJwZTeua6E/Y7FIM1C54Ey1btLWupdg==" - }, - "runtime.win-x64.runtime.native.System.Data.SqlClient.sni": { - "type": "Transitive", - "resolved": "4.4.0", - "contentHash": "38ugOfkYJqJoX9g6EYRlZB5U2ZJH51UP8ptxZgdpS07FgOEToV+lS11ouNK2PM12Pr6X/PpT5jK82G3DwH/SxQ==" - }, - "runtime.win-x86.runtime.native.System.Data.SqlClient.sni": { - "type": "Transitive", - "resolved": "4.4.0", - "contentHash": "YhEdSQUsTx+C8m8Bw7ar5/VesXvCFMItyZF7G1AUY+OM0VPZUOeAVpJ4Wl6fydBGUYZxojTDR3I6Bj/+BPkJNA==" - }, "SendGrid": { "type": "Transitive", "resolved": "9.27.0", @@ -1487,38 +1335,6 @@ "System.Configuration.ConfigurationManager": "6.0.0" } }, - "Swashbuckle.AspNetCore": { - "type": "Transitive", - "resolved": "6.3.1", - "contentHash": "JFk0+HHUPdjYuPhkpGBMLi2JtnEuWkE2pp0yXQp64DmeMe+Fb0hZyVNq/ENJ2vQNso7Zg+C758WmR/xyAl36bA==", - "dependencies": { - "Microsoft.Extensions.ApiDescription.Server": "3.0.0", - "Swashbuckle.AspNetCore.Swagger": "6.3.1", - "Swashbuckle.AspNetCore.SwaggerGen": "6.3.1", - "Swashbuckle.AspNetCore.SwaggerUI": "6.3.1" - } - }, - "Swashbuckle.AspNetCore.Swagger": { - "type": "Transitive", - "resolved": "6.3.1", - "contentHash": "idAFh4xhyJHYHfdLVOOn+BmscBul1OQbWsnL6YPJE8tO/0y6S79hDCvs6OY5VI093/9+1pYY3j31Zet9yaDZjA==", - "dependencies": { - "Microsoft.OpenApi": "1.2.3" - } - }, - "Swashbuckle.AspNetCore.SwaggerGen": { - "type": "Transitive", - "resolved": "6.3.1", - "contentHash": "+uoBV4h/6NhCPLoTofSmuOnZ+usu4PW1jP6l4OHwPyu2frbYXGNpJsHs5uUXXn929OiVQkT8wo3Lj/o+P99Ejg==", - "dependencies": { - "Swashbuckle.AspNetCore.Swagger": "6.3.1" - } - }, - "Swashbuckle.AspNetCore.SwaggerUI": { - "type": "Transitive", - "resolved": "6.3.1", - "contentHash": "JLm9hN67jh7RHsX3H30+tb432Li8xm/qV5lRyMMkyHYMfWitIuKAAdrpo2ILcHOIeH7CLMuOO2hp/iLBmE+Bkw==" - }, "System.AppContext": { "type": "Transitive", "resolved": "4.3.0", @@ -1561,11 +1377,8 @@ }, "System.Collections.Immutable": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } + "resolved": "1.7.0", + "contentHash": "RVSM6wZUo6L2y6P3vN6gjUtyJ2IF2RVtrepF3J7nrDKfFQd5u/SnSUFclchYQis8/k5scHy9E+fVeKVQLnnkzw==" }, "System.Collections.NonGeneric": { "type": "Transitive", @@ -1604,8 +1417,21 @@ }, "System.ComponentModel.Annotations": { "type": "Transitive", - "resolved": "4.7.0", - "contentHash": "0YFqjhp/mYkDGpU0Ye1GjE53HMp9UVfGN7seGpAMttAC0C40v5gw598jCgpbBLMmCo0E5YRLBv5Z2doypO49ZQ==" + "resolved": "4.3.0", + "contentHash": "SY2RLItHt43rd8J9D8M8e8NM4m+9WLN2uUd9G0n1I4hj/7w+v3pzK6ZBjexlG1/2xvLKQsqir3UGVSyBTXMLWA==", + "dependencies": { + "System.Collections": "4.3.0", + "System.ComponentModel": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading": "4.3.0" + } }, "System.ComponentModel.Primitives": { "type": "Transitive", @@ -1660,16 +1486,6 @@ "System.Text.Encoding": "4.3.0" } }, - "System.Data.SqlClient": { - "type": "Transitive", - "resolved": "4.8.3", - "contentHash": "yERfVLXAY0QbylAgaGLByYN0hFxX28aeEQ0hUgJO+Ntn1AfmWl5HHUoYJA0Yl9HhIUUJHVaS/Sw/RLZr5aaC+A==", - "dependencies": { - "Microsoft.Win32.Registry": "4.7.0", - "System.Security.Principal.Windows": "4.7.0", - "runtime.native.System.Data.SqlClient.sni": "4.7.0" - } - }, "System.Diagnostics.Debug": { "type": "Transitive", "resolved": "4.3.0", @@ -2951,29 +2767,18 @@ "NETStandard.Library": "1.6.1" } }, - "api": { - "type": "Project", - "dependencies": { - "Azure.Messaging.EventGrid": "4.10.0", - "Commercial.Core": "2022.8.0", - "Core": "2022.8.0", - "SharedWeb": "2022.8.0", - "Swashbuckle.AspNetCore": "6.3.1" - } - }, "commercial.core": { "type": "Project", "dependencies": { - "Core": "2022.8.0" + "Core": "2022.8.4" } }, "common": { "type": "Project", "dependencies": { - "Api": "2022.8.0", "AutoFixture.AutoNSubstitute": "4.17.0", "AutoFixture.Xunit2": "4.17.0", - "Core": "2022.8.0", + "Core": "2022.8.4", "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", "Microsoft.NET.Test.Sdk": "17.1.0", "NSubstitute": "4.3.0", @@ -3023,44 +2828,16 @@ "core.test": { "type": "Project", "dependencies": { - "Api": "2022.8.0", "AutoFixture.AutoNSubstitute": "4.17.0", "AutoFixture.Xunit2": "4.17.0", - "Common": "2022.8.0", - "Core": "2022.8.0", + "Common": "2022.8.4", + "Core": "2022.8.4", "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", "Microsoft.NET.Test.Sdk": "17.1.0", "Moq": "4.17.2", "NSubstitute": "4.3.0", "xunit": "2.4.1" } - }, - "infrastructure.dapper": { - "type": "Project", - "dependencies": { - "Core": "2022.8.0", - "Dapper": "2.0.123", - "System.Data.SqlClient": "4.8.3" - } - }, - "infrastructure.entityframework": { - "type": "Project", - "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "11.0.0", - "Core": "2022.8.0", - "Microsoft.EntityFrameworkCore.Relational": "6.0.4", - "Npgsql.EntityFrameworkCore.PostgreSQL": "6.0.4", - "Pomelo.EntityFrameworkCore.MySql": "6.0.1", - "linq2db.EntityFrameworkCore": "6.7.1" - } - }, - "sharedweb": { - "type": "Project", - "dependencies": { - "Core": "2022.8.0", - "Infrastructure.Dapper": "2022.8.0", - "Infrastructure.EntityFramework": "2022.8.0" - } } } } diff --git a/src/Admin/packages.lock.json b/src/Admin/packages.lock.json index 5dd432ca2..b59a3eacd 100644 --- a/src/Admin/packages.lock.json +++ b/src/Admin/packages.lock.json @@ -3211,7 +3211,7 @@ "commercial.core": { "type": "Project", "dependencies": { - "Core": "2022.8.0" + "Core": "2022.8.4" } }, "core": { @@ -3257,7 +3257,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "2022.8.0", + "Core": "2022.8.4", "Dapper": "2.0.123", "System.Data.SqlClient": "4.8.3" } @@ -3266,7 +3266,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "11.0.0", - "Core": "2022.8.0", + "Core": "2022.8.4", "Microsoft.EntityFrameworkCore.Relational": "6.0.4", "Npgsql.EntityFrameworkCore.PostgreSQL": "6.0.4", "Pomelo.EntityFrameworkCore.MySql": "6.0.1", @@ -3276,7 +3276,7 @@ "migrator": { "type": "Project", "dependencies": { - "Core": "2022.8.0", + "Core": "2022.8.4", "Microsoft.Extensions.Logging": "6.0.0", "dbup-sqlserver": "4.5.0" } @@ -3284,9 +3284,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "2022.8.0", - "Infrastructure.Dapper": "2022.8.0", - "Infrastructure.EntityFramework": "2022.8.0" + "Core": "2022.8.4", + "Infrastructure.Dapper": "2022.8.4", + "Infrastructure.EntityFramework": "2022.8.4" } } } diff --git a/src/Api/packages.lock.json b/src/Api/packages.lock.json index 313828a9c..d4a733a1f 100644 --- a/src/Api/packages.lock.json +++ b/src/Api/packages.lock.json @@ -2723,7 +2723,7 @@ "commercial.core": { "type": "Project", "dependencies": { - "Core": "2022.8.0" + "Core": "2022.8.4" } }, "core": { @@ -2769,7 +2769,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "2022.8.0", + "Core": "2022.8.4", "Dapper": "2.0.123", "System.Data.SqlClient": "4.8.3" } @@ -2778,7 +2778,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "11.0.0", - "Core": "2022.8.0", + "Core": "2022.8.4", "Microsoft.EntityFrameworkCore.Relational": "6.0.4", "Npgsql.EntityFrameworkCore.PostgreSQL": "6.0.4", "Pomelo.EntityFrameworkCore.MySql": "6.0.1", @@ -2788,9 +2788,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "2022.8.0", - "Infrastructure.Dapper": "2022.8.0", - "Infrastructure.EntityFramework": "2022.8.0" + "Core": "2022.8.4", + "Infrastructure.Dapper": "2022.8.4", + "Infrastructure.EntityFramework": "2022.8.4" } } } diff --git a/src/Billing/packages.lock.json b/src/Billing/packages.lock.json index fe7bb90a2..eeb53858e 100644 --- a/src/Billing/packages.lock.json +++ b/src/Billing/packages.lock.json @@ -3228,7 +3228,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "2022.8.0", + "Core": "2022.8.4", "Dapper": "2.0.123", "System.Data.SqlClient": "4.8.3" } @@ -3237,7 +3237,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "11.0.0", - "Core": "2022.8.0", + "Core": "2022.8.4", "Microsoft.EntityFrameworkCore.Relational": "6.0.4", "Npgsql.EntityFrameworkCore.PostgreSQL": "6.0.4", "Pomelo.EntityFrameworkCore.MySql": "6.0.1", @@ -3247,9 +3247,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "2022.8.0", - "Infrastructure.Dapper": "2022.8.0", - "Infrastructure.EntityFramework": "2022.8.0" + "Core": "2022.8.4", + "Infrastructure.Dapper": "2022.8.4", + "Infrastructure.EntityFramework": "2022.8.4" } } } diff --git a/src/Events/packages.lock.json b/src/Events/packages.lock.json index 2fab3b3ed..78a5dc1c9 100644 --- a/src/Events/packages.lock.json +++ b/src/Events/packages.lock.json @@ -2709,7 +2709,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "2022.8.0", + "Core": "2022.8.4", "Dapper": "2.0.123", "System.Data.SqlClient": "4.8.3" } @@ -2718,7 +2718,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "11.0.0", - "Core": "2022.8.0", + "Core": "2022.8.4", "Microsoft.EntityFrameworkCore.Relational": "6.0.4", "Npgsql.EntityFrameworkCore.PostgreSQL": "6.0.4", "Pomelo.EntityFrameworkCore.MySql": "6.0.1", @@ -2728,9 +2728,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "2022.8.0", - "Infrastructure.Dapper": "2022.8.0", - "Infrastructure.EntityFramework": "2022.8.0" + "Core": "2022.8.4", + "Infrastructure.Dapper": "2022.8.4", + "Infrastructure.EntityFramework": "2022.8.4" } } } diff --git a/src/EventsProcessor/packages.lock.json b/src/EventsProcessor/packages.lock.json index 2fab3b3ed..78a5dc1c9 100644 --- a/src/EventsProcessor/packages.lock.json +++ b/src/EventsProcessor/packages.lock.json @@ -2709,7 +2709,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "2022.8.0", + "Core": "2022.8.4", "Dapper": "2.0.123", "System.Data.SqlClient": "4.8.3" } @@ -2718,7 +2718,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "11.0.0", - "Core": "2022.8.0", + "Core": "2022.8.4", "Microsoft.EntityFrameworkCore.Relational": "6.0.4", "Npgsql.EntityFrameworkCore.PostgreSQL": "6.0.4", "Pomelo.EntityFrameworkCore.MySql": "6.0.1", @@ -2728,9 +2728,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "2022.8.0", - "Infrastructure.Dapper": "2022.8.0", - "Infrastructure.EntityFramework": "2022.8.0" + "Core": "2022.8.4", + "Infrastructure.Dapper": "2022.8.4", + "Infrastructure.EntityFramework": "2022.8.4" } } } diff --git a/src/Icons/packages.lock.json b/src/Icons/packages.lock.json index e363edaa7..f968b3ff9 100644 --- a/src/Icons/packages.lock.json +++ b/src/Icons/packages.lock.json @@ -2719,7 +2719,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "2022.8.0", + "Core": "2022.8.4", "Dapper": "2.0.123", "System.Data.SqlClient": "4.8.3" } @@ -2728,7 +2728,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "11.0.0", - "Core": "2022.8.0", + "Core": "2022.8.4", "Microsoft.EntityFrameworkCore.Relational": "6.0.4", "Npgsql.EntityFrameworkCore.PostgreSQL": "6.0.4", "Pomelo.EntityFrameworkCore.MySql": "6.0.1", @@ -2738,9 +2738,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "2022.8.0", - "Infrastructure.Dapper": "2022.8.0", - "Infrastructure.EntityFramework": "2022.8.0" + "Core": "2022.8.4", + "Infrastructure.Dapper": "2022.8.4", + "Infrastructure.EntityFramework": "2022.8.4" } } } diff --git a/src/Identity/packages.lock.json b/src/Identity/packages.lock.json index a8c68f60f..b549417df 100644 --- a/src/Identity/packages.lock.json +++ b/src/Identity/packages.lock.json @@ -2731,7 +2731,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "2022.8.0", + "Core": "2022.8.4", "Dapper": "2.0.123", "System.Data.SqlClient": "4.8.3" } @@ -2740,7 +2740,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "11.0.0", - "Core": "2022.8.0", + "Core": "2022.8.4", "Microsoft.EntityFrameworkCore.Relational": "6.0.4", "Npgsql.EntityFrameworkCore.PostgreSQL": "6.0.4", "Pomelo.EntityFrameworkCore.MySql": "6.0.1", @@ -2750,9 +2750,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "2022.8.0", - "Infrastructure.Dapper": "2022.8.0", - "Infrastructure.EntityFramework": "2022.8.0" + "Core": "2022.8.4", + "Infrastructure.Dapper": "2022.8.4", + "Infrastructure.EntityFramework": "2022.8.4" } } } diff --git a/src/Notifications/packages.lock.json b/src/Notifications/packages.lock.json index 157fbc254..514cc3a27 100644 --- a/src/Notifications/packages.lock.json +++ b/src/Notifications/packages.lock.json @@ -2759,7 +2759,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "2022.8.0", + "Core": "2022.8.4", "Dapper": "2.0.123", "System.Data.SqlClient": "4.8.3" } @@ -2768,7 +2768,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "11.0.0", - "Core": "2022.8.0", + "Core": "2022.8.4", "Microsoft.EntityFrameworkCore.Relational": "6.0.4", "Npgsql.EntityFrameworkCore.PostgreSQL": "6.0.4", "Pomelo.EntityFrameworkCore.MySql": "6.0.1", @@ -2778,9 +2778,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "2022.8.0", - "Infrastructure.Dapper": "2022.8.0", - "Infrastructure.EntityFramework": "2022.8.0" + "Core": "2022.8.4", + "Infrastructure.Dapper": "2022.8.4", + "Infrastructure.EntityFramework": "2022.8.4" } } } diff --git a/src/SharedWeb/packages.lock.json b/src/SharedWeb/packages.lock.json index 730394586..22dfc422e 100644 --- a/src/SharedWeb/packages.lock.json +++ b/src/SharedWeb/packages.lock.json @@ -2709,7 +2709,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "2022.8.0", + "Core": "2022.8.4", "Dapper": "2.0.123", "System.Data.SqlClient": "4.8.3" } @@ -2718,7 +2718,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "11.0.0", - "Core": "2022.8.0", + "Core": "2022.8.4", "Microsoft.EntityFrameworkCore.Relational": "6.0.4", "Npgsql.EntityFrameworkCore.PostgreSQL": "6.0.4", "Pomelo.EntityFrameworkCore.MySql": "6.0.1", diff --git a/test/Api.Test/packages.lock.json b/test/Api.Test/packages.lock.json index 4b856eb3d..1d393eb2f 100644 --- a/test/Api.Test/packages.lock.json +++ b/test/Api.Test/packages.lock.json @@ -2948,25 +2948,24 @@ "type": "Project", "dependencies": { "Azure.Messaging.EventGrid": "4.10.0", - "Commercial.Core": "2022.8.0", - "Core": "2022.8.0", - "SharedWeb": "2022.8.0", + "Commercial.Core": "2022.8.4", + "Core": "2022.8.4", + "SharedWeb": "2022.8.4", "Swashbuckle.AspNetCore": "6.3.1" } }, "commercial.core": { "type": "Project", "dependencies": { - "Core": "2022.8.0" + "Core": "2022.8.4" } }, "common": { "type": "Project", "dependencies": { - "Api": "2022.8.0", "AutoFixture.AutoNSubstitute": "4.17.0", "AutoFixture.Xunit2": "4.17.0", - "Core": "2022.8.0", + "Core": "2022.8.4", "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", "Microsoft.NET.Test.Sdk": "17.1.0", "NSubstitute": "4.3.0", @@ -3016,7 +3015,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "2022.8.0", + "Core": "2022.8.4", "Dapper": "2.0.123", "System.Data.SqlClient": "4.8.3" } @@ -3025,7 +3024,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "11.0.0", - "Core": "2022.8.0", + "Core": "2022.8.4", "Microsoft.EntityFrameworkCore.Relational": "6.0.4", "Npgsql.EntityFrameworkCore.PostgreSQL": "6.0.4", "Pomelo.EntityFrameworkCore.MySql": "6.0.1", @@ -3035,9 +3034,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "2022.8.0", - "Infrastructure.Dapper": "2022.8.0", - "Infrastructure.EntityFramework": "2022.8.0" + "Core": "2022.8.4", + "Infrastructure.Dapper": "2022.8.4", + "Infrastructure.EntityFramework": "2022.8.4" } } } diff --git a/test/Billing.Test/packages.lock.json b/test/Billing.Test/packages.lock.json index db66c20d3..82dcdc88e 100644 --- a/test/Billing.Test/packages.lock.json +++ b/test/Billing.Test/packages.lock.json @@ -132,8 +132,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.24.0", - "contentHash": "+/qI1j2oU1S4/nvxb2k/wDsol00iGf1AyJX5g3epV7eOpQEP/2xcgh/cxgKMeFgn3U2fmgSiBnQZdkV+l5y0Uw==", + "resolved": "1.22.0", + "contentHash": "ze/xRCHSSDe5TIk5vBDbVrauW1EN7UIbnBvIBfMH8KSt/I9+/7yPAjTBDgNBk0IwG6WBV+BBHp4IUtS/PGAQwQ==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -168,16 +168,6 @@ "System.Threading.Tasks.Extensions": "4.5.2" } }, - "Azure.Messaging.EventGrid": { - "type": "Transitive", - "resolved": "4.10.0", - "contentHash": "X3dh3Cek/7wFPUrBJ2KbnkJteGjWvKBoSBmD/uQm8reMIavCFTKhnl95F937eLn/2cSsm5l3oPHtYPFtDerA7Q==", - "dependencies": { - "Azure.Core": "1.24.0", - "System.Memory.Data": "1.0.2", - "System.Text.Json": "4.7.2" - } - }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.11.0", @@ -878,11 +868,6 @@ "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" } }, - "Microsoft.Extensions.ApiDescription.Server": { - "type": "Transitive", - "resolved": "3.0.0", - "contentHash": "LH4OE/76F6sOCslif7+Xh3fS/wUUrE5ryeXAMcoCnuwOQGT5Smw0p57IgDh/pHgHaGz/e+AmEQb7pRgb++wt0w==" - }, "Microsoft.Extensions.Caching.Abstractions": { "type": "Transitive", "resolved": "6.0.0", @@ -1201,11 +1186,6 @@ "resolved": "7.6.4", "contentHash": "MSSmA6kIfpgFTtNpOnnayoSj/6KSzHC1U9KOjF7cTA1PG4tZ7rIMi1pvjFc8CmYEvP4cxGl/+vrCn+HpK26HTQ==" }, - "Microsoft.OpenApi": { - "type": "Transitive", - "resolved": "1.2.3", - "contentHash": "Nug3rO+7Kl5/SBAadzSMAVgqDlfGjJZ0GenQrLywJ84XGKO0uRqkunz5Wyl0SDwcR71bAATXvSdbdzPrYRYKGw==" - }, "Microsoft.Spatial": { "type": "Transitive", "resolved": "7.6.4", @@ -1891,38 +1871,6 @@ "System.Configuration.ConfigurationManager": "6.0.0" } }, - "Swashbuckle.AspNetCore": { - "type": "Transitive", - "resolved": "6.3.1", - "contentHash": "JFk0+HHUPdjYuPhkpGBMLi2JtnEuWkE2pp0yXQp64DmeMe+Fb0hZyVNq/ENJ2vQNso7Zg+C758WmR/xyAl36bA==", - "dependencies": { - "Microsoft.Extensions.ApiDescription.Server": "3.0.0", - "Swashbuckle.AspNetCore.Swagger": "6.3.1", - "Swashbuckle.AspNetCore.SwaggerGen": "6.3.1", - "Swashbuckle.AspNetCore.SwaggerUI": "6.3.1" - } - }, - "Swashbuckle.AspNetCore.Swagger": { - "type": "Transitive", - "resolved": "6.3.1", - "contentHash": "idAFh4xhyJHYHfdLVOOn+BmscBul1OQbWsnL6YPJE8tO/0y6S79hDCvs6OY5VI093/9+1pYY3j31Zet9yaDZjA==", - "dependencies": { - "Microsoft.OpenApi": "1.2.3" - } - }, - "Swashbuckle.AspNetCore.SwaggerGen": { - "type": "Transitive", - "resolved": "6.3.1", - "contentHash": "+uoBV4h/6NhCPLoTofSmuOnZ+usu4PW1jP6l4OHwPyu2frbYXGNpJsHs5uUXXn929OiVQkT8wo3Lj/o+P99Ejg==", - "dependencies": { - "Swashbuckle.AspNetCore.Swagger": "6.3.1" - } - }, - "Swashbuckle.AspNetCore.SwaggerUI": { - "type": "Transitive", - "resolved": "6.3.1", - "contentHash": "JLm9hN67jh7RHsX3H30+tb432Li8xm/qV5lRyMMkyHYMfWitIuKAAdrpo2ILcHOIeH7CLMuOO2hp/iLBmE+Bkw==" - }, "System.AppContext": { "type": "Transitive", "resolved": "4.3.0", @@ -3452,37 +3400,20 @@ "NETStandard.Library": "1.6.1" } }, - "api": { - "type": "Project", - "dependencies": { - "Azure.Messaging.EventGrid": "4.10.0", - "Commercial.Core": "2022.8.0", - "Core": "2022.8.0", - "SharedWeb": "2022.8.0", - "Swashbuckle.AspNetCore": "6.3.1" - } - }, "billing": { "type": "Project", "dependencies": { - "Core": "2022.8.0", + "Core": "2022.8.4", "Microsoft.VisualStudio.Web.CodeGeneration.Design": "6.0.3", - "SharedWeb": "2022.8.0" - } - }, - "commercial.core": { - "type": "Project", - "dependencies": { - "Core": "2022.8.0" + "SharedWeb": "2022.8.4" } }, "common": { "type": "Project", "dependencies": { - "Api": "2022.8.0", "AutoFixture.AutoNSubstitute": "4.17.0", "AutoFixture.Xunit2": "4.17.0", - "Core": "2022.8.0", + "Core": "2022.8.4", "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", "Microsoft.NET.Test.Sdk": "17.1.0", "NSubstitute": "4.3.0", @@ -3532,7 +3463,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "2022.8.0", + "Core": "2022.8.4", "Dapper": "2.0.123", "System.Data.SqlClient": "4.8.3" } @@ -3541,7 +3472,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "11.0.0", - "Core": "2022.8.0", + "Core": "2022.8.4", "Microsoft.EntityFrameworkCore.Relational": "6.0.4", "Npgsql.EntityFrameworkCore.PostgreSQL": "6.0.4", "Pomelo.EntityFrameworkCore.MySql": "6.0.1", @@ -3551,9 +3482,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "2022.8.0", - "Infrastructure.Dapper": "2022.8.0", - "Infrastructure.EntityFramework": "2022.8.0" + "Core": "2022.8.4", + "Infrastructure.Dapper": "2022.8.4", + "Infrastructure.EntityFramework": "2022.8.4" } } } diff --git a/test/Common/AutoFixture/GlobalSettingsFixtures.cs b/test/Common/AutoFixture/GlobalSettingsFixtures.cs index 6da4245be..86f460909 100644 --- a/test/Common/AutoFixture/GlobalSettingsFixtures.cs +++ b/test/Common/AutoFixture/GlobalSettingsFixtures.cs @@ -1,30 +1,7 @@ -using System.Reflection; -using AutoFixture; -using AutoFixture.Kernel; -using AutoFixture.Xunit2; -using Bit.Test.Common.Helpers.Factories; +using AutoFixture; namespace Bit.Test.Common.AutoFixture { - public class GlobalSettingsBuilder : ISpecimenBuilder - { - public object Create(object request, ISpecimenContext context) - { - if (context == null) - { - throw new ArgumentNullException(nameof(context)); - } - - var pi = request as ParameterInfo; - var fixture = new Fixture(); - - if (pi == null || pi.ParameterType != typeof(Bit.Core.Settings.GlobalSettings)) - return new NoSpecimen(); - - return GlobalSettingsFactory.GlobalSettings; - } - } - public class GlobalSettings : ICustomization { public void Customize(IFixture fixture) @@ -36,9 +13,4 @@ namespace Bit.Test.Common.AutoFixture .Without(s => s.DataProtection)); } } - - public class GlobalSettingsCustomizeAttribute : CustomizeAttribute - { - public override ICustomization GetCustomization(ParameterInfo parameter) => new GlobalSettings(); - } } diff --git a/test/Common/Common.csproj b/test/Common/Common.csproj index 8fe92f7bc..654165bc9 100644 --- a/test/Common/Common.csproj +++ b/test/Common/Common.csproj @@ -14,10 +14,9 @@ - + - - + diff --git a/test/Common/Helpers/Factories.cs b/test/Common/Helpers/Factories.cs deleted file mode 100644 index 6d947e0fe..000000000 --- a/test/Common/Helpers/Factories.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Bit.Core.Settings; -using Microsoft.Extensions.Configuration; - -namespace Bit.Test.Common.Helpers.Factories -{ - public static class GlobalSettingsFactory - { - public static GlobalSettings GlobalSettings { get; } = new GlobalSettings(); - static GlobalSettingsFactory() - { - var configBuilder = new ConfigurationBuilder().AddUserSecrets(); - var Configuration = configBuilder.Build(); - ConfigurationBinder.Bind(Configuration.GetSection("GlobalSettings"), GlobalSettings); - } - } -} diff --git a/test/Common/packages.lock.json b/test/Common/packages.lock.json index 0f3fd201e..5f2f4295c 100644 --- a/test/Common/packages.lock.json +++ b/test/Common/packages.lock.json @@ -97,23 +97,6 @@ "System.ComponentModel.Annotations": "4.3.0" } }, - "AutoMapper": { - "type": "Transitive", - "resolved": "11.0.0", - "contentHash": "+596AnKykYCk9RxXCEF4GYuapSebQtFVvIA1oVG1rrRkCLAC7AkWehJ0brCfYUbdDW3v1H/p0W3hob7JoXGjMw==", - "dependencies": { - "Microsoft.CSharp": "4.7.0" - } - }, - "AutoMapper.Extensions.Microsoft.DependencyInjection": { - "type": "Transitive", - "resolved": "11.0.0", - "contentHash": "0asw5WxdCFh2OTi9Gv+oKyH9SzxwYQSnO8TV5Dd0GggovILzJW4UimP26JAcxc3yB5NnC5urooZ1BBs8ElpiBw==", - "dependencies": { - "AutoMapper": "11.0.0", - "Microsoft.Extensions.Options": "6.0.0" - } - }, "AWSSDK.Core": { "type": "Transitive", "resolved": "3.7.10.11", @@ -137,8 +120,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.24.0", - "contentHash": "+/qI1j2oU1S4/nvxb2k/wDsol00iGf1AyJX5g3epV7eOpQEP/2xcgh/cxgKMeFgn3U2fmgSiBnQZdkV+l5y0Uw==", + "resolved": "1.22.0", + "contentHash": "ze/xRCHSSDe5TIk5vBDbVrauW1EN7UIbnBvIBfMH8KSt/I9+/7yPAjTBDgNBk0IwG6WBV+BBHp4IUtS/PGAQwQ==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -173,16 +156,6 @@ "System.Threading.Tasks.Extensions": "4.5.2" } }, - "Azure.Messaging.EventGrid": { - "type": "Transitive", - "resolved": "4.10.0", - "contentHash": "X3dh3Cek/7wFPUrBJ2KbnkJteGjWvKBoSBmD/uQm8reMIavCFTKhnl95F937eLn/2cSsm5l3oPHtYPFtDerA7Q==", - "dependencies": { - "Azure.Core": "1.24.0", - "System.Memory.Data": "1.0.2", - "System.Text.Json": "4.7.2" - } - }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.11.0", @@ -245,11 +218,6 @@ "System.Xml.XmlDocument": "4.3.0" } }, - "Dapper": { - "type": "Transitive", - "resolved": "2.0.123", - "contentHash": "RDFF4rBLLmbpi6pwkY7q/M6UXHRJEOerplDGE5jwEkP/JGJnBauAClYavNKJPW1yOTWRPIyfj4is3EaJxQXILQ==" - }, "Fare": { "type": "Transitive", "resolved": "2.1.1", @@ -345,23 +313,6 @@ "Microsoft.NETCore.Platforms": "1.0.1" } }, - "linq2db": { - "type": "Transitive", - "resolved": "3.7.0", - "contentHash": "iDous2TbSchtALnTLNXQnprmNZF4GrXas0MBz6ZHWkSdilSJjcf26qFM7Qf98Mny0OXHEmNXG/jtIDhoVJ5KmQ==", - "dependencies": { - "System.ComponentModel.Annotations": "4.7.0" - } - }, - "linq2db.EntityFrameworkCore": { - "type": "Transitive", - "resolved": "6.7.1", - "contentHash": "Bb25vUDyFw3nKnf7KY+bauwKGD0hdM7/syodS+IgHdWlcbH9g7tHxYmMa9+DNuL0yy6DFvP6Q3BkClm7zbQdAw==", - "dependencies": { - "Microsoft.EntityFrameworkCore.Relational": "6.0.0", - "linq2db": "3.7.0" - } - }, "MailKit": { "type": "Transitive", "resolved": "3.2.0", @@ -596,44 +547,6 @@ "resolved": "4.0.0", "contentHash": "wtLlRwQX7YoBUYm25xBjJ3UsuLgycme1xXqDn8t3S5kPCWiZrx8uOkyZHLKzH4kkCiQ9m2/J5JeCKNRbZNn3Qg==" }, - "Microsoft.EntityFrameworkCore": { - "type": "Transitive", - "resolved": "6.0.4", - "contentHash": "gTh3SJsF5WNjEmG32kYc3U4tjeTIv55QOrwHAJcF/xtrIVMteDHMArGC35N0dw86WFY0v8yFkKYKOIOln4jkfQ==", - "dependencies": { - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.4", - "Microsoft.EntityFrameworkCore.Analyzers": "6.0.4", - "Microsoft.Extensions.Caching.Memory": "6.0.1", - "Microsoft.Extensions.DependencyInjection": "6.0.0", - "Microsoft.Extensions.Logging": "6.0.0", - "System.Collections.Immutable": "6.0.0", - "System.Diagnostics.DiagnosticSource": "6.0.0" - } - }, - "Microsoft.EntityFrameworkCore.Abstractions": { - "type": "Transitive", - "resolved": "6.0.4", - "contentHash": "jycTQF0FUJp10cGWBmtsyFhQNeISU9CltDRKCaNiX4QRSEFzgRgaFN4vAFK0T+G5etmXugyddijE4NWCGtgznQ==" - }, - "Microsoft.EntityFrameworkCore.Analyzers": { - "type": "Transitive", - "resolved": "6.0.4", - "contentHash": "t12WodVyGGP2CuLo7R1qwcawHY5zlg+GiQzvkceZpsjcFJVyTFFBFDPg1isBtzurLzWsl+G3z5fVXeic90mPxg==" - }, - "Microsoft.EntityFrameworkCore.Relational": { - "type": "Transitive", - "resolved": "6.0.4", - "contentHash": "E867NbEXYRTElBF5ff+1AN5Awa1jkORy/Rrm0ueibaTAV5uw89LsLoH6yTe+b9urZTWMHtLfGd1RDdNjk8+KzA==", - "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.4", - "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" - } - }, - "Microsoft.Extensions.ApiDescription.Server": { - "type": "Transitive", - "resolved": "3.0.0", - "contentHash": "LH4OE/76F6sOCslif7+Xh3fS/wUUrE5ryeXAMcoCnuwOQGT5Smw0p57IgDh/pHgHaGz/e+AmEQb7pRgb++wt0w==" - }, "Microsoft.Extensions.Caching.Abstractions": { "type": "Transitive", "resolved": "6.0.0", @@ -644,14 +557,13 @@ }, "Microsoft.Extensions.Caching.Memory": { "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==", + "resolved": "3.1.8", + "contentHash": "u04q7+tgc8l6pQ5HOcr6scgapkQQHnrhpGoCaaAZd24R36/NxGsGxuhSmhHOrQx9CsBLe2CVBN/4CkLlxtnnXw==", "dependencies": { - "Microsoft.Extensions.Caching.Abstractions": "6.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.0", - "Microsoft.Extensions.Options": "6.0.0", - "Microsoft.Extensions.Primitives": "6.0.0" + "Microsoft.Extensions.Caching.Abstractions": "3.1.8", + "Microsoft.Extensions.DependencyInjection.Abstractions": "3.1.8", + "Microsoft.Extensions.Logging.Abstractions": "3.1.8", + "Microsoft.Extensions.Options": "3.1.8" } }, "Microsoft.Extensions.Caching.StackExchangeRedis": { @@ -943,11 +855,6 @@ "resolved": "7.6.4", "contentHash": "MSSmA6kIfpgFTtNpOnnayoSj/6KSzHC1U9KOjF7cTA1PG4tZ7rIMi1pvjFc8CmYEvP4cxGl/+vrCn+HpK26HTQ==" }, - "Microsoft.OpenApi": { - "type": "Transitive", - "resolved": "1.2.3", - "contentHash": "Nug3rO+7Kl5/SBAadzSMAVgqDlfGjJZ0GenQrLywJ84XGKO0uRqkunz5Wyl0SDwcR71bAATXvSdbdzPrYRYKGw==" - }, "Microsoft.Spatial": { "type": "Transitive", "resolved": "7.6.4", @@ -1004,11 +911,6 @@ "System.Security.Cryptography.Pkcs": "6.0.0" } }, - "MySqlConnector": { - "type": "Transitive", - "resolved": "2.1.2", - "contentHash": "JVokQTUNN3WHAu9Vw8ieeq1dXTFokJiig5P0VJ4f439UxRrsPo6SaVWC8Zdm6mkPeQFhZ0/9afdWa02EY/1j/w==" - }, "NETStandard.Library": { "type": "Transitive", "resolved": "1.6.1", @@ -1065,25 +967,6 @@ "resolved": "13.0.1", "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" }, - "Npgsql": { - "type": "Transitive", - "resolved": "6.0.4", - "contentHash": "SJMlOmFHr32oOzVXeHmarGaBKkhi0wHVN/rzuu2tUSJ4Qx2AkHCpr9R/DhLWwDiklqgzFU++9wkFyGJxbx/zzg==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "Npgsql.EntityFrameworkCore.PostgreSQL": { - "type": "Transitive", - "resolved": "6.0.4", - "contentHash": "fzgRmBd3nAFvKt/L70sJfFWAdobtwDEeOzOzruJq9og97O8/5B96inQOAgOpYyaUjPYpS4ZS5/bxm3vnOJ0+pQ==", - "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.4", - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.4", - "Microsoft.EntityFrameworkCore.Relational": "6.0.4", - "Npgsql": "6.0.4" - } - }, "NSec.Cryptography": { "type": "Transitive", "resolved": "20.2.0", @@ -1111,16 +994,6 @@ "System.IO.Pipelines": "5.0.1" } }, - "Pomelo.EntityFrameworkCore.MySql": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "sFIo5e9RmQoCTEvH6EeSV8ptmX3dw/6XgyD8R93X/i7A9+XCeG9KTjSNjrszVjVOtCu/eyvYqqcv2uZ/BHhlYA==", - "dependencies": { - "Microsoft.EntityFrameworkCore.Relational": "[6.0.1, 7.0.0)", - "Microsoft.Extensions.DependencyInjection": "6.0.0", - "MySqlConnector": "2.1.2" - } - }, "Portable.BouncyCastle": { "type": "Transitive", "resolved": "1.9.0", @@ -1165,16 +1038,6 @@ "Microsoft.NETCore.Targets": "1.1.0" } }, - "runtime.native.System.Data.SqlClient.sni": { - "type": "Transitive", - "resolved": "4.7.0", - "contentHash": "9kyFSIdN3T0qjDQ2R0HRXYIhS3l5psBzQi6qqhdLz+SzFyEy4sVxNOke+yyYv8Cu8rPER12c3RDjLT8wF3WBYQ==", - "dependencies": { - "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": "4.4.0", - "runtime.win-x64.runtime.native.System.Data.SqlClient.sni": "4.4.0", - "runtime.win-x86.runtime.native.System.Data.SqlClient.sni": "4.4.0" - } - }, "runtime.native.System.IO.Compression": { "type": "Transitive", "resolved": "4.3.0", @@ -1267,21 +1130,6 @@ "resolved": "4.3.2", "contentHash": "leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==" }, - "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": { - "type": "Transitive", - "resolved": "4.4.0", - "contentHash": "LbrynESTp3bm5O/+jGL8v0Qg5SJlTV08lpIpFesXjF6uGNMWqFnUQbYBJwZTeua6E/Y7FIM1C54Ey1btLWupdg==" - }, - "runtime.win-x64.runtime.native.System.Data.SqlClient.sni": { - "type": "Transitive", - "resolved": "4.4.0", - "contentHash": "38ugOfkYJqJoX9g6EYRlZB5U2ZJH51UP8ptxZgdpS07FgOEToV+lS11ouNK2PM12Pr6X/PpT5jK82G3DwH/SxQ==" - }, - "runtime.win-x86.runtime.native.System.Data.SqlClient.sni": { - "type": "Transitive", - "resolved": "4.4.0", - "contentHash": "YhEdSQUsTx+C8m8Bw7ar5/VesXvCFMItyZF7G1AUY+OM0VPZUOeAVpJ4Wl6fydBGUYZxojTDR3I6Bj/+BPkJNA==" - }, "SendGrid": { "type": "Transitive", "resolved": "9.27.0", @@ -1476,38 +1324,6 @@ "System.Configuration.ConfigurationManager": "6.0.0" } }, - "Swashbuckle.AspNetCore": { - "type": "Transitive", - "resolved": "6.3.1", - "contentHash": "JFk0+HHUPdjYuPhkpGBMLi2JtnEuWkE2pp0yXQp64DmeMe+Fb0hZyVNq/ENJ2vQNso7Zg+C758WmR/xyAl36bA==", - "dependencies": { - "Microsoft.Extensions.ApiDescription.Server": "3.0.0", - "Swashbuckle.AspNetCore.Swagger": "6.3.1", - "Swashbuckle.AspNetCore.SwaggerGen": "6.3.1", - "Swashbuckle.AspNetCore.SwaggerUI": "6.3.1" - } - }, - "Swashbuckle.AspNetCore.Swagger": { - "type": "Transitive", - "resolved": "6.3.1", - "contentHash": "idAFh4xhyJHYHfdLVOOn+BmscBul1OQbWsnL6YPJE8tO/0y6S79hDCvs6OY5VI093/9+1pYY3j31Zet9yaDZjA==", - "dependencies": { - "Microsoft.OpenApi": "1.2.3" - } - }, - "Swashbuckle.AspNetCore.SwaggerGen": { - "type": "Transitive", - "resolved": "6.3.1", - "contentHash": "+uoBV4h/6NhCPLoTofSmuOnZ+usu4PW1jP6l4OHwPyu2frbYXGNpJsHs5uUXXn929OiVQkT8wo3Lj/o+P99Ejg==", - "dependencies": { - "Swashbuckle.AspNetCore.Swagger": "6.3.1" - } - }, - "Swashbuckle.AspNetCore.SwaggerUI": { - "type": "Transitive", - "resolved": "6.3.1", - "contentHash": "JLm9hN67jh7RHsX3H30+tb432Li8xm/qV5lRyMMkyHYMfWitIuKAAdrpo2ILcHOIeH7CLMuOO2hp/iLBmE+Bkw==" - }, "System.AppContext": { "type": "Transitive", "resolved": "4.3.0", @@ -1550,11 +1366,8 @@ }, "System.Collections.Immutable": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } + "resolved": "1.7.0", + "contentHash": "RVSM6wZUo6L2y6P3vN6gjUtyJ2IF2RVtrepF3J7nrDKfFQd5u/SnSUFclchYQis8/k5scHy9E+fVeKVQLnnkzw==" }, "System.Collections.NonGeneric": { "type": "Transitive", @@ -1593,8 +1406,21 @@ }, "System.ComponentModel.Annotations": { "type": "Transitive", - "resolved": "4.7.0", - "contentHash": "0YFqjhp/mYkDGpU0Ye1GjE53HMp9UVfGN7seGpAMttAC0C40v5gw598jCgpbBLMmCo0E5YRLBv5Z2doypO49ZQ==" + "resolved": "4.3.0", + "contentHash": "SY2RLItHt43rd8J9D8M8e8NM4m+9WLN2uUd9G0n1I4hj/7w+v3pzK6ZBjexlG1/2xvLKQsqir3UGVSyBTXMLWA==", + "dependencies": { + "System.Collections": "4.3.0", + "System.ComponentModel": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading": "4.3.0" + } }, "System.ComponentModel.Primitives": { "type": "Transitive", @@ -1649,16 +1475,6 @@ "System.Text.Encoding": "4.3.0" } }, - "System.Data.SqlClient": { - "type": "Transitive", - "resolved": "4.8.3", - "contentHash": "yERfVLXAY0QbylAgaGLByYN0hFxX28aeEQ0hUgJO+Ntn1AfmWl5HHUoYJA0Yl9HhIUUJHVaS/Sw/RLZr5aaC+A==", - "dependencies": { - "Microsoft.Win32.Registry": "4.7.0", - "System.Security.Principal.Windows": "4.7.0", - "runtime.native.System.Data.SqlClient.sni": "4.7.0" - } - }, "System.Diagnostics.Debug": { "type": "Transitive", "resolved": "4.3.0", @@ -2940,22 +2756,6 @@ "NETStandard.Library": "1.6.1" } }, - "api": { - "type": "Project", - "dependencies": { - "Azure.Messaging.EventGrid": "4.10.0", - "Commercial.Core": "2022.8.0", - "Core": "2022.8.0", - "SharedWeb": "2022.8.0", - "Swashbuckle.AspNetCore": "6.3.1" - } - }, - "commercial.core": { - "type": "Project", - "dependencies": { - "Core": "2022.8.0" - } - }, "core": { "type": "Project", "dependencies": { @@ -2995,33 +2795,6 @@ "Stripe.net": "40.0.0", "YubicoDotNetClient": "1.2.0" } - }, - "infrastructure.dapper": { - "type": "Project", - "dependencies": { - "Core": "2022.8.0", - "Dapper": "2.0.123", - "System.Data.SqlClient": "4.8.3" - } - }, - "infrastructure.entityframework": { - "type": "Project", - "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "11.0.0", - "Core": "2022.8.0", - "Microsoft.EntityFrameworkCore.Relational": "6.0.4", - "Npgsql.EntityFrameworkCore.PostgreSQL": "6.0.4", - "Pomelo.EntityFrameworkCore.MySql": "6.0.1", - "linq2db.EntityFrameworkCore": "6.7.1" - } - }, - "sharedweb": { - "type": "Project", - "dependencies": { - "Core": "2022.8.0", - "Infrastructure.Dapper": "2022.8.0", - "Infrastructure.EntityFramework": "2022.8.0" - } } } } diff --git a/test/Core.Test/AutoFixture/CipherFixtures.cs b/test/Core.Test/AutoFixture/CipherFixtures.cs index 69abb2a6d..5ef2976fb 100644 --- a/test/Core.Test/AutoFixture/CipherFixtures.cs +++ b/test/Core.Test/AutoFixture/CipherFixtures.cs @@ -1,15 +1,5 @@ -using System.Text.Json; -using AutoFixture; -using AutoFixture.Kernel; +using AutoFixture; using Bit.Core.Entities; -using Bit.Core.Models.Data; -using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures; -using Bit.Core.Test.AutoFixture.OrganizationFixtures; -using Bit.Core.Test.AutoFixture.OrganizationUserFixtures; -using Bit.Core.Test.AutoFixture.Relays; -using Bit.Core.Test.AutoFixture.UserFixtures; -using Bit.Infrastructure.EntityFramework.Repositories; -using Bit.Test.Common.AutoFixture; using Bit.Test.Common.AutoFixture.Attributes; using Core.Models.Data; @@ -43,92 +33,6 @@ namespace Bit.Core.Test.AutoFixture.CipherFixtures } } - internal class CipherBuilder : ISpecimenBuilder - { - public bool OrganizationOwned { get; set; } - public object Create(object request, ISpecimenContext context) - { - if (context == null) - { - throw new ArgumentNullException(nameof(context)); - } - - var type = request as Type; - if (type == null || (type != typeof(Cipher) && type != typeof(List))) - { - return new NoSpecimen(); - } - - var fixture = new Fixture(); - fixture.Customizations.Insert(0, new MaxLengthStringRelay()); - fixture.Customizations.Add(new IgnoreVirtualMembersCustomization()); - - if (!OrganizationOwned) - { - fixture.Customize(composer => composer - .Without(c => c.OrganizationId)); - } - - // Can't test valid Favorites and Folders without creating those values inide each test, - // since we won't have any UserIds until the test is running & creating data - fixture.Customize(c => c - .Without(e => e.Favorites) - .Without(e => e.Folders)); - // - var serializerOptions = new JsonSerializerOptions() - { - PropertyNamingPolicy = JsonNamingPolicy.CamelCase - }; - - if (type == typeof(Cipher)) - { - var obj = fixture.WithAutoNSubstitutions().Create(); - var cipherData = fixture.WithAutoNSubstitutions().Create(); - var cipherAttachements = fixture.WithAutoNSubstitutions().Create>(); - obj.Data = JsonSerializer.Serialize(cipherData, serializerOptions); - obj.Attachments = JsonSerializer.Serialize(cipherAttachements, serializerOptions); - - return obj; - } - if (type == typeof(List)) - { - var ciphers = fixture.WithAutoNSubstitutions().CreateMany().ToArray(); - for (var i = 0; i < ciphers.Count(); i++) - { - var cipherData = fixture.WithAutoNSubstitutions().Create(); - var cipherAttachements = fixture.WithAutoNSubstitutions().Create>(); - ciphers[i].Data = JsonSerializer.Serialize(cipherData, serializerOptions); - ciphers[i].Attachments = JsonSerializer.Serialize(cipherAttachements, serializerOptions); - } - - return ciphers; - } - - return new NoSpecimen(); - } - } - - internal class EfCipher : ICustomization - { - public bool OrganizationOwned { get; set; } - public void Customize(IFixture fixture) - { - fixture.Customizations.Add(new GlobalSettingsBuilder()); - fixture.Customizations.Add(new CipherBuilder() - { - OrganizationOwned = OrganizationOwned - }); - fixture.Customizations.Add(new UserBuilder()); - fixture.Customizations.Add(new OrganizationBuilder()); - fixture.Customizations.Add(new OrganizationUserBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - } - } - internal class UserCipherAutoDataAttribute : CustomAutoDataAttribute { public UserCipherAutoDataAttribute(string userId = null) : base(new SutProviderCustomization(), @@ -162,26 +66,4 @@ namespace Bit.Core.Test.AutoFixture.CipherFixtures typeof(OrganizationCipher) }, values) { } } - - internal class EfUserCipherAutoDataAttribute : CustomAutoDataAttribute - { - public EfUserCipherAutoDataAttribute() : base(new SutProviderCustomization(), new EfCipher()) - { } - } - - internal class EfOrganizationCipherAutoDataAttribute : CustomAutoDataAttribute - { - public EfOrganizationCipherAutoDataAttribute() : base(new SutProviderCustomization(), new EfCipher() - { - OrganizationOwned = true, - }) - { } - } - - internal class InlineEfCipherAutoDataAttribute : InlineCustomAutoDataAttribute - { - public InlineEfCipherAutoDataAttribute(params object[] values) : base(new[] { typeof(SutProviderCustomization), - typeof(EfCipher) }, values) - { } - } } diff --git a/test/Core.Test/AutoFixture/CollectionFixtures.cs b/test/Core.Test/AutoFixture/CollectionFixtures.cs index c1c18a4fc..38517f5c0 100644 --- a/test/Core.Test/AutoFixture/CollectionFixtures.cs +++ b/test/Core.Test/AutoFixture/CollectionFixtures.cs @@ -1,63 +1,8 @@ -using AutoFixture; -using AutoFixture.Kernel; -using Bit.Core.Entities; -using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures; -using Bit.Core.Test.AutoFixture.OrganizationFixtures; -using Bit.Core.Test.AutoFixture.Relays; -using Bit.Infrastructure.EntityFramework.Repositories; -using Bit.Test.Common.AutoFixture; +using Bit.Core.Test.AutoFixture.OrganizationFixtures; using Bit.Test.Common.AutoFixture.Attributes; namespace Bit.Core.Test.AutoFixture.CollectionFixtures { - internal class CollectionBuilder : ISpecimenBuilder - { - public object Create(object request, ISpecimenContext context) - { - if (context == null) - { - throw new ArgumentNullException(nameof(context)); - } - - var type = request as Type; - if (type == null || type != typeof(Collection)) - { - return new NoSpecimen(); - } - - var fixture = new Fixture(); - fixture.Customizations.Insert(0, new MaxLengthStringRelay()); - var obj = fixture.WithAutoNSubstitutions().Create(); - return obj; - } - } - - internal class EfCollection : ICustomization - { - public void Customize(IFixture fixture) - { - fixture.Customizations.Add(new IgnoreVirtualMembersCustomization()); - fixture.Customizations.Add(new GlobalSettingsBuilder()); - fixture.Customizations.Add(new CollectionBuilder()); - fixture.Customizations.Add(new OrganizationBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - } - } - - internal class EfCollectionAutoDataAttribute : CustomAutoDataAttribute - { - public EfCollectionAutoDataAttribute() : base(new SutProviderCustomization(), new EfCollection()) - { } - } - - internal class InlineEfCollectionAutoDataAttribute : InlineCustomAutoDataAttribute - { - public InlineEfCollectionAutoDataAttribute(params object[] values) : base(new[] { typeof(SutProviderCustomization), - typeof(EfCollection) }, values) - { } - } - internal class CollectionAutoDataAttribute : CustomAutoDataAttribute { public CollectionAutoDataAttribute() : base(new SutProviderCustomization(), new OrganizationCustomization()) diff --git a/test/Core.Test/AutoFixture/GlobalSettingsFixtures.cs b/test/Core.Test/AutoFixture/GlobalSettingsFixtures.cs new file mode 100644 index 000000000..a893840a4 --- /dev/null +++ b/test/Core.Test/AutoFixture/GlobalSettingsFixtures.cs @@ -0,0 +1,32 @@ +using System.Reflection; +using AutoFixture; +using AutoFixture.Kernel; +using AutoFixture.Xunit2; +using Bit.Core.Test.Helpers.Factories; + +namespace Bit.Test.Common.AutoFixture +{ + public class GlobalSettingsBuilder : ISpecimenBuilder + { + public object Create(object request, ISpecimenContext context) + { + if (context == null) + { + throw new ArgumentNullException(nameof(context)); + } + + var pi = request as ParameterInfo; + var fixture = new Fixture(); + + if (pi == null || pi.ParameterType != typeof(Bit.Core.Settings.GlobalSettings)) + return new NoSpecimen(); + + return GlobalSettingsFactory.GlobalSettings; + } + } + + public class GlobalSettingsCustomizeAttribute : CustomizeAttribute + { + public override ICustomization GetCustomization(ParameterInfo parameter) => new GlobalSettings(); + } +} diff --git a/test/Core.Test/AutoFixture/GroupFixtures.cs b/test/Core.Test/AutoFixture/GroupFixtures.cs index e322a07fc..07b8f6a67 100644 --- a/test/Core.Test/AutoFixture/GroupFixtures.cs +++ b/test/Core.Test/AutoFixture/GroupFixtures.cs @@ -1,11 +1,4 @@ -using AutoFixture; -using AutoFixture.Kernel; -using Bit.Core.Entities; -using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures; -using Bit.Core.Test.AutoFixture.OrganizationFixtures; -using Bit.Core.Test.AutoFixture.Relays; -using Bit.Infrastructure.EntityFramework.Repositories; -using Bit.Test.Common.AutoFixture; +using Bit.Core.Test.AutoFixture.OrganizationFixtures; using Bit.Test.Common.AutoFixture.Attributes; namespace Bit.Core.Test.AutoFixture.GroupFixtures @@ -23,52 +16,4 @@ namespace Bit.Core.Test.AutoFixture.GroupFixtures new SutProviderCustomization(), new OrganizationCustomization { UseGroups = false }) { } } - - internal class GroupBuilder : ISpecimenBuilder - { - public object Create(object request, ISpecimenContext context) - { - if (context == null) - { - throw new ArgumentNullException(nameof(context)); - } - - var type = request as Type; - if (type == null || type != typeof(Group)) - { - return new NoSpecimen(); - } - - var fixture = new Fixture(); - fixture.Customizations.Insert(0, new MaxLengthStringRelay()); - var obj = fixture.WithAutoNSubstitutions().Create(); - return obj; - } - } - - internal class EfGroup : ICustomization - { - public void Customize(IFixture fixture) - { - fixture.Customizations.Add(new IgnoreVirtualMembersCustomization()); - fixture.Customizations.Add(new GlobalSettingsBuilder()); - fixture.Customizations.Add(new GroupBuilder()); - fixture.Customizations.Add(new OrganizationBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - } - } - - internal class EfGroupAutoDataAttribute : CustomAutoDataAttribute - { - public EfGroupAutoDataAttribute() : base(new SutProviderCustomization(), new EfGroup()) - { } - } - - internal class InlineEfGroupAutoDataAttribute : InlineCustomAutoDataAttribute - { - public InlineEfGroupAutoDataAttribute(params object[] values) : base(new[] { typeof(SutProviderCustomization), - typeof(EfGroup) }, values) - { } - } } diff --git a/test/Core.Test/AutoFixture/OrganizationFixtures.cs b/test/Core.Test/AutoFixture/OrganizationFixtures.cs index fcf5f554a..c496471c1 100644 --- a/test/Core.Test/AutoFixture/OrganizationFixtures.cs +++ b/test/Core.Test/AutoFixture/OrganizationFixtures.cs @@ -6,9 +6,7 @@ using Bit.Core.Enums; using Bit.Core.Models; using Bit.Core.Models.Business; using Bit.Core.Models.Data; -using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures; using Bit.Core.Utilities; -using Bit.Infrastructure.EntityFramework.Repositories; using Bit.Test.Common.AutoFixture; using Bit.Test.Common.AutoFixture.Attributes; @@ -128,17 +126,6 @@ namespace Bit.Core.Test.AutoFixture.OrganizationFixtures } } - internal class EfOrganization : ICustomization - { - public void Customize(IFixture fixture) - { - fixture.Customizations.Add(new IgnoreVirtualMembersCustomization()); - fixture.Customizations.Add(new GlobalSettingsBuilder()); - fixture.Customizations.Add(new OrganizationBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - } - } - internal class PaidOrganizationAutoDataAttribute : CustomAutoDataAttribute { public PaidOrganizationAutoDataAttribute(PlanType planType) : base(new SutProviderCustomization(), @@ -196,17 +183,4 @@ namespace Bit.Core.Test.AutoFixture.OrganizationFixtures typeof(OrganizationInvite) }, values) { } } - - internal class EfOrganizationAutoDataAttribute : CustomAutoDataAttribute - { - public EfOrganizationAutoDataAttribute() : base(new SutProviderCustomization(), new EfOrganization()) - { } - } - - internal class InlineEfOrganizationAutoDataAttribute : InlineCustomAutoDataAttribute - { - public InlineEfOrganizationAutoDataAttribute(params object[] values) : base(new[] { typeof(SutProviderCustomization), - typeof(EfOrganization) }, values) - { } - } } diff --git a/test/Core.Test/AutoFixture/OrganizationSponsorshipFixtures.cs b/test/Core.Test/AutoFixture/OrganizationSponsorshipFixtures.cs index 2c4cb0d88..a40c15917 100644 --- a/test/Core.Test/AutoFixture/OrganizationSponsorshipFixtures.cs +++ b/test/Core.Test/AutoFixture/OrganizationSponsorshipFixtures.cs @@ -1,11 +1,5 @@ using AutoFixture; -using AutoFixture.Kernel; using Bit.Core.Entities; -using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures; -using Bit.Core.Test.AutoFixture.OrganizationFixtures; -using Bit.Core.Test.AutoFixture.OrganizationUserFixtures; -using Bit.Infrastructure.EntityFramework.Repositories; -using Bit.Test.Common.AutoFixture; using Bit.Test.Common.AutoFixture.Attributes; namespace Bit.Core.Test.AutoFixture.OrganizationSponsorshipFixtures @@ -36,51 +30,4 @@ namespace Bit.Core.Test.AutoFixture.OrganizationSponsorshipFixtures .With(s => s.ToDelete, true)); } } - - internal class OrganizationSponsorshipBuilder : ISpecimenBuilder - { - public object Create(object request, ISpecimenContext context) - { - if (context == null) - { - throw new ArgumentNullException(nameof(context)); - } - - var type = request as Type; - if (type == null || type != typeof(OrganizationSponsorship)) - { - return new NoSpecimen(); - } - - var fixture = new Fixture(); - var obj = fixture.WithAutoNSubstitutions().Create(); - return obj; - } - } - - internal class EfOrganizationSponsorship : ICustomization - { - public void Customize(IFixture fixture) - { - fixture.Customizations.Add(new IgnoreVirtualMembersCustomization()); - fixture.Customizations.Add(new GlobalSettingsBuilder()); - fixture.Customizations.Add(new OrganizationSponsorshipBuilder()); - fixture.Customizations.Add(new OrganizationUserBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - } - } - - internal class EfOrganizationSponsorshipAutoDataAttribute : CustomAutoDataAttribute - { - public EfOrganizationSponsorshipAutoDataAttribute() : base(new SutProviderCustomization(), new EfOrganizationSponsorship(), new EfOrganization()) - { } - } - - internal class InlineEfOrganizationSponsorshipAutoDataAttribute : InlineCustomAutoDataAttribute - { - public InlineEfOrganizationSponsorshipAutoDataAttribute(params object[] values) : base(new[] { typeof(SutProviderCustomization), - typeof(EfOrganizationSponsorship), typeof(EfOrganization) }, values) - { } - } } diff --git a/test/Core.Test/AutoFixture/OrganizationUserFixtures.cs b/test/Core.Test/AutoFixture/OrganizationUserFixtures.cs index ed3766d32..975b45313 100644 --- a/test/Core.Test/AutoFixture/OrganizationUserFixtures.cs +++ b/test/Core.Test/AutoFixture/OrganizationUserFixtures.cs @@ -1,62 +1,12 @@ using System.Reflection; -using System.Text.Json; using AutoFixture; -using AutoFixture.Kernel; using AutoFixture.Xunit2; using Bit.Core.Entities; using Bit.Core.Enums; -using Bit.Core.Models; -using Bit.Core.Models.Data; -using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures; -using Bit.Core.Test.AutoFixture.OrganizationFixtures; -using Bit.Core.Test.AutoFixture.UserFixtures; -using Bit.Infrastructure.EntityFramework.Repositories; -using Bit.Test.Common.AutoFixture; -using Bit.Test.Common.AutoFixture.Attributes; namespace Bit.Core.Test.AutoFixture.OrganizationUserFixtures { - internal class OrganizationUserBuilder : ISpecimenBuilder - { - public object Create(object request, ISpecimenContext context) - { - if (context == null) - { - throw new ArgumentNullException(nameof(context)); - } - - var type = request as Type; - if (type == typeof(OrganizationUserCustomization)) - { - var fixture = new Fixture(); - var orgUser = fixture.WithAutoNSubstitutions().Create(); - var orgUserPermissions = fixture.WithAutoNSubstitutions().Create(); - orgUser.Permissions = JsonSerializer.Serialize(orgUserPermissions, new JsonSerializerOptions() - { - PropertyNamingPolicy = JsonNamingPolicy.CamelCase, - }); - return orgUser; - } - else if (type == typeof(List)) - { - var fixture = new Fixture(); - var orgUsers = fixture.WithAutoNSubstitutions().CreateMany(2); - foreach (var orgUser in orgUsers) - { - var providers = fixture.Create>(); - var orgUserPermissions = fixture.WithAutoNSubstitutions().Create(); - orgUser.Permissions = JsonSerializer.Serialize(orgUserPermissions, new JsonSerializerOptions() - { - PropertyNamingPolicy = JsonNamingPolicy.CamelCase, - }); - } - return orgUsers; - } - return new NoSpecimen(); - } - } - - internal class OrganizationUserCustomization : ICustomization + public class OrganizationUserCustomization : ICustomization { public OrganizationUserStatusType Status { get; set; } public OrganizationUserType Type { get; set; } @@ -93,32 +43,4 @@ namespace Bit.Core.Test.AutoFixture.OrganizationUserFixtures return new OrganizationUserCustomization(_status, _type); } } - - internal class EfOrganizationUser : ICustomization - { - public void Customize(IFixture fixture) - { - fixture.Customizations.Add(new IgnoreVirtualMembersCustomization()); - fixture.Customizations.Add(new GlobalSettingsBuilder()); - fixture.Customizations.Add(new OrganizationUserBuilder()); - fixture.Customizations.Add(new OrganizationBuilder()); - fixture.Customizations.Add(new UserBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - } - } - - internal class EfOrganizationUserAutoDataAttribute : CustomAutoDataAttribute - { - public EfOrganizationUserAutoDataAttribute() : base(new SutProviderCustomization(), new EfOrganizationUser()) - { } - } - - internal class InlineEfOrganizationUserAutoDataAttribute : InlineCustomAutoDataAttribute - { - public InlineEfOrganizationUserAutoDataAttribute(params object[] values) : base(new[] { typeof(SutProviderCustomization), - typeof(EfOrganizationUser) }, values) - { } - } } diff --git a/test/Core.Test/AutoFixture/PolicyFixtures.cs b/test/Core.Test/AutoFixture/PolicyFixtures.cs index fe80b1c9d..b3da0e698 100644 --- a/test/Core.Test/AutoFixture/PolicyFixtures.cs +++ b/test/Core.Test/AutoFixture/PolicyFixtures.cs @@ -1,14 +1,8 @@ using System.Reflection; using AutoFixture; -using AutoFixture.Kernel; using AutoFixture.Xunit2; using Bit.Core.Entities; using Bit.Core.Enums; -using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures; -using Bit.Core.Test.AutoFixture.OrganizationFixtures; -using Bit.Infrastructure.EntityFramework.Repositories; -using Bit.Test.Common.AutoFixture; -using Bit.Test.Common.AutoFixture.Attributes; namespace Bit.Core.Test.AutoFixture.PolicyFixtures { @@ -44,75 +38,4 @@ namespace Bit.Core.Test.AutoFixture.PolicyFixtures return new PolicyCustomization(_type); } } - - internal class PolicyBuilder : ISpecimenBuilder - { - public object Create(object request, ISpecimenContext context) - { - if (context == null) - { - throw new ArgumentNullException(nameof(context)); - } - - var type = request as Type; - if (type == null || type != typeof(Policy)) - { - return new NoSpecimen(); - } - - var fixture = new Fixture(); - var obj = fixture.WithAutoNSubstitutions().Create(); - return obj; - } - } - - internal class EfPolicy : ICustomization - { - public void Customize(IFixture fixture) - { - fixture.Customizations.Add(new IgnoreVirtualMembersCustomization()); - fixture.Customizations.Add(new GlobalSettingsBuilder()); - fixture.Customizations.Add(new PolicyBuilder()); - fixture.Customizations.Add(new OrganizationBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - } - } - - internal class EfPolicyApplicableToUser : ICustomization - { - public void Customize(IFixture fixture) - { - fixture.Customizations.Add(new IgnoreVirtualMembersCustomization()); - fixture.Customizations.Add(new GlobalSettingsBuilder()); - fixture.Customizations.Add(new PolicyBuilder()); - fixture.Customizations.Add(new OrganizationBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - } - } - - internal class EfPolicyAutoDataAttribute : CustomAutoDataAttribute - { - public EfPolicyAutoDataAttribute() : base(new SutProviderCustomization(), new EfPolicy()) - { } - } - - internal class EfPolicyApplicableToUserInlineAutoDataAttribute : InlineCustomAutoDataAttribute - { - public EfPolicyApplicableToUserInlineAutoDataAttribute(params object[] values) : base(new[] { typeof(SutProviderCustomization), typeof(EfPolicyApplicableToUser) }, values) - { } - } - - internal class InlineEfPolicyAutoDataAttribute : InlineCustomAutoDataAttribute - { - public InlineEfPolicyAutoDataAttribute(params object[] values) : base(new[] { typeof(SutProviderCustomization), - typeof(EfPolicy) }, values) - { } - } } diff --git a/test/Core.Test/AutoFixture/SendFixtures.cs b/test/Core.Test/AutoFixture/SendFixtures.cs index e2fd6a0c1..573f32288 100644 --- a/test/Core.Test/AutoFixture/SendFixtures.cs +++ b/test/Core.Test/AutoFixture/SendFixtures.cs @@ -1,12 +1,5 @@ using AutoFixture; -using AutoFixture.Kernel; using Bit.Core.Entities; -using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures; -using Bit.Core.Test.AutoFixture.OrganizationFixtures; -using Bit.Core.Test.AutoFixture.Relays; -using Bit.Core.Test.AutoFixture.UserFixtures; -using Bit.Infrastructure.EntityFramework.Repositories; -using Bit.Test.Common.AutoFixture; using Bit.Test.Common.AutoFixture.Attributes; namespace Bit.Core.Test.AutoFixture.SendFixtures @@ -68,63 +61,4 @@ namespace Bit.Core.Test.AutoFixture.SendFixtures typeof(SutProviderCustomization), typeof(OrganizationSend) }, values) { } } - - internal class SendBuilder : ISpecimenBuilder - { - public bool OrganizationOwned { get; set; } - public object Create(object request, ISpecimenContext context) - { - if (context == null) - { - throw new ArgumentNullException(nameof(context)); - } - - var type = request as Type; - if (type == null || type != typeof(Send)) - { - return new NoSpecimen(); - } - - var fixture = new Fixture(); - fixture.Customizations.Insert(0, new MaxLengthStringRelay()); - if (!OrganizationOwned) - { - fixture.Customize(composer => composer - .Without(c => c.OrganizationId)); - } - var obj = fixture.WithAutoNSubstitutions().Create(); - return obj; - } - } - - internal class EfSend : ICustomization - { - public bool OrganizationOwned { get; set; } - public void Customize(IFixture fixture) - { - fixture.Customizations.Add(new IgnoreVirtualMembersCustomization()); - fixture.Customizations.Add(new GlobalSettingsBuilder()); - fixture.Customizations.Add(new SendBuilder()); - fixture.Customizations.Add(new UserBuilder()); - fixture.Customizations.Add(new OrganizationBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - } - } - - internal class EfUserSendAutoDataAttribute : CustomAutoDataAttribute - { - public EfUserSendAutoDataAttribute() : base(new SutProviderCustomization(), new EfSend()) - { } - } - - internal class EfOrganizationSendAutoDataAttribute : CustomAutoDataAttribute - { - public EfOrganizationSendAutoDataAttribute() : base(new SutProviderCustomization(), new EfSend() - { - OrganizationOwned = true, - }) - { } - } } diff --git a/test/Core.Test/AutoFixture/UserFixtures.cs b/test/Core.Test/AutoFixture/UserFixtures.cs index 99d8b2548..98707938a 100644 --- a/test/Core.Test/AutoFixture/UserFixtures.cs +++ b/test/Core.Test/AutoFixture/UserFixtures.cs @@ -3,15 +3,12 @@ using AutoFixture.Kernel; using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Models; -using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures; using Bit.Core.Test.AutoFixture.OrganizationFixtures; -using Bit.Infrastructure.EntityFramework.Repositories; using Bit.Test.Common.AutoFixture; -using Bit.Test.Common.AutoFixture.Attributes; namespace Bit.Core.Test.AutoFixture.UserFixtures { - internal class UserBuilder : ISpecimenBuilder + public class UserBuilder : ISpecimenBuilder { public object Create(object request, ISpecimenContext context) { @@ -45,38 +42,13 @@ namespace Bit.Core.Test.AutoFixture.UserFixtures } } - internal class UserFixture : ICustomization + public class UserFixture : ICustomization { public virtual void Customize(IFixture fixture) { - fixture.Customizations.Add(new IgnoreVirtualMembersCustomization()); fixture.Customizations.Add(new GlobalSettingsBuilder()); fixture.Customizations.Add(new UserBuilder()); fixture.Customizations.Add(new OrganizationBuilder()); } } - - internal class EfUser : UserFixture - { - public override void Customize(IFixture fixture) - { - base.Customize(fixture); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - fixture.Customizations.Add(new EfRepositoryListBuilder()); - } - } - - internal class EfUserAutoDataAttribute : CustomAutoDataAttribute - { - public EfUserAutoDataAttribute() : base(new SutProviderCustomization(), new EfUser()) - { } - } - - internal class InlineEfUserAutoDataAttribute : InlineCustomAutoDataAttribute - { - public InlineEfUserAutoDataAttribute(params object[] values) : base(new[] { typeof(SutProviderCustomization), - typeof(EfUser) }, values) - { } - } } diff --git a/test/Core.Test/Core.Test.csproj b/test/Core.Test/Core.Test.csproj index 6d76236f1..c5093646f 100644 --- a/test/Core.Test/Core.Test.csproj +++ b/test/Core.Test/Core.Test.csproj @@ -18,17 +18,16 @@ - + - - + - + diff --git a/test/Core.Test/Helpers/Factories.cs b/test/Core.Test/Helpers/Factories.cs index 48bf06b77..3d6523bc9 100644 --- a/test/Core.Test/Helpers/Factories.cs +++ b/test/Core.Test/Helpers/Factories.cs @@ -1,26 +1,16 @@ -using Bit.Infrastructure.EntityFramework.Repositories; -using Bit.Test.Common.Helpers.Factories; -using Microsoft.EntityFrameworkCore; +using Bit.Core.Settings; +using Microsoft.Extensions.Configuration; namespace Bit.Core.Test.Helpers.Factories { - public static class DatabaseOptionsFactory + public static class GlobalSettingsFactory { - public static List> Options { get; } = new(); - - static DatabaseOptionsFactory() + public static GlobalSettings GlobalSettings { get; } = new(); + static GlobalSettingsFactory() { - var globalSettings = GlobalSettingsFactory.GlobalSettings; - if (!string.IsNullOrWhiteSpace(GlobalSettingsFactory.GlobalSettings.PostgreSql?.ConnectionString)) - { - AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true); - Options.Add(new DbContextOptionsBuilder().UseNpgsql(globalSettings.PostgreSql.ConnectionString).Options); - } - if (!string.IsNullOrWhiteSpace(GlobalSettingsFactory.GlobalSettings.MySql?.ConnectionString)) - { - var mySqlConnectionString = globalSettings.MySql.ConnectionString; - Options.Add(new DbContextOptionsBuilder().UseMySql(mySqlConnectionString, ServerVersion.AutoDetect(mySqlConnectionString)).Options); - } + var configBuilder = new ConfigurationBuilder().AddUserSecrets("bitwarden-Api"); + var Configuration = configBuilder.Build(); + ConfigurationBinder.Bind(Configuration.GetSection("GlobalSettings"), GlobalSettings); } } } diff --git a/test/Core.Test/Utilities/CoreHelpersTests.cs b/test/Core.Test/Utilities/CoreHelpersTests.cs index 29146b15d..37b9c22df 100644 --- a/test/Core.Test/Utilities/CoreHelpersTests.cs +++ b/test/Core.Test/Utilities/CoreHelpersTests.cs @@ -6,7 +6,6 @@ using Bit.Core.Enums; using Bit.Core.Enums.Provider; using Bit.Core.Test.AutoFixture.UserFixtures; using Bit.Core.Utilities; -using Bit.Infrastructure.Dapper; using Bit.Test.Common.AutoFixture; using Bit.Test.Common.AutoFixture.Attributes; using IdentityModel; @@ -96,6 +95,7 @@ namespace Bit.Core.Test.Utilities Assert.Equal(batches.Last().Count(), remainder == 0 ? batchSize : remainder); } + /* [Fact] public void ToGuidIdArrayTVP_Success() { @@ -115,6 +115,7 @@ namespace Bit.Core.Test.Utilities Assert.Equal(item0, dt.Rows[0][0]); Assert.Equal(item1, dt.Rows[1][0]); } + */ // TODO: Test the other ToArrayTVP Methods diff --git a/test/Core.Test/packages.lock.json b/test/Core.Test/packages.lock.json index e19b3f615..89f51b97d 100644 --- a/test/Core.Test/packages.lock.json +++ b/test/Core.Test/packages.lock.json @@ -113,23 +113,6 @@ "System.ComponentModel.Annotations": "4.3.0" } }, - "AutoMapper": { - "type": "Transitive", - "resolved": "11.0.0", - "contentHash": "+596AnKykYCk9RxXCEF4GYuapSebQtFVvIA1oVG1rrRkCLAC7AkWehJ0brCfYUbdDW3v1H/p0W3hob7JoXGjMw==", - "dependencies": { - "Microsoft.CSharp": "4.7.0" - } - }, - "AutoMapper.Extensions.Microsoft.DependencyInjection": { - "type": "Transitive", - "resolved": "11.0.0", - "contentHash": "0asw5WxdCFh2OTi9Gv+oKyH9SzxwYQSnO8TV5Dd0GggovILzJW4UimP26JAcxc3yB5NnC5urooZ1BBs8ElpiBw==", - "dependencies": { - "AutoMapper": "11.0.0", - "Microsoft.Extensions.Options": "6.0.0" - } - }, "AWSSDK.Core": { "type": "Transitive", "resolved": "3.7.10.11", @@ -153,8 +136,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.24.0", - "contentHash": "+/qI1j2oU1S4/nvxb2k/wDsol00iGf1AyJX5g3epV7eOpQEP/2xcgh/cxgKMeFgn3U2fmgSiBnQZdkV+l5y0Uw==", + "resolved": "1.22.0", + "contentHash": "ze/xRCHSSDe5TIk5vBDbVrauW1EN7UIbnBvIBfMH8KSt/I9+/7yPAjTBDgNBk0IwG6WBV+BBHp4IUtS/PGAQwQ==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -189,16 +172,6 @@ "System.Threading.Tasks.Extensions": "4.5.2" } }, - "Azure.Messaging.EventGrid": { - "type": "Transitive", - "resolved": "4.10.0", - "contentHash": "X3dh3Cek/7wFPUrBJ2KbnkJteGjWvKBoSBmD/uQm8reMIavCFTKhnl95F937eLn/2cSsm5l3oPHtYPFtDerA7Q==", - "dependencies": { - "Azure.Core": "1.24.0", - "System.Memory.Data": "1.0.2", - "System.Text.Json": "4.7.2" - } - }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.11.0", @@ -261,11 +234,6 @@ "System.Xml.XmlDocument": "4.3.0" } }, - "Dapper": { - "type": "Transitive", - "resolved": "2.0.123", - "contentHash": "RDFF4rBLLmbpi6pwkY7q/M6UXHRJEOerplDGE5jwEkP/JGJnBauAClYavNKJPW1yOTWRPIyfj4is3EaJxQXILQ==" - }, "Fare": { "type": "Transitive", "resolved": "2.1.1", @@ -361,23 +329,6 @@ "Microsoft.NETCore.Platforms": "1.0.1" } }, - "linq2db": { - "type": "Transitive", - "resolved": "3.7.0", - "contentHash": "iDous2TbSchtALnTLNXQnprmNZF4GrXas0MBz6ZHWkSdilSJjcf26qFM7Qf98Mny0OXHEmNXG/jtIDhoVJ5KmQ==", - "dependencies": { - "System.ComponentModel.Annotations": "4.7.0" - } - }, - "linq2db.EntityFrameworkCore": { - "type": "Transitive", - "resolved": "6.7.1", - "contentHash": "Bb25vUDyFw3nKnf7KY+bauwKGD0hdM7/syodS+IgHdWlcbH9g7tHxYmMa9+DNuL0yy6DFvP6Q3BkClm7zbQdAw==", - "dependencies": { - "Microsoft.EntityFrameworkCore.Relational": "6.0.0", - "linq2db": "3.7.0" - } - }, "MailKit": { "type": "Transitive", "resolved": "3.2.0", @@ -612,44 +563,6 @@ "resolved": "4.0.0", "contentHash": "wtLlRwQX7YoBUYm25xBjJ3UsuLgycme1xXqDn8t3S5kPCWiZrx8uOkyZHLKzH4kkCiQ9m2/J5JeCKNRbZNn3Qg==" }, - "Microsoft.EntityFrameworkCore": { - "type": "Transitive", - "resolved": "6.0.4", - "contentHash": "gTh3SJsF5WNjEmG32kYc3U4tjeTIv55QOrwHAJcF/xtrIVMteDHMArGC35N0dw86WFY0v8yFkKYKOIOln4jkfQ==", - "dependencies": { - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.4", - "Microsoft.EntityFrameworkCore.Analyzers": "6.0.4", - "Microsoft.Extensions.Caching.Memory": "6.0.1", - "Microsoft.Extensions.DependencyInjection": "6.0.0", - "Microsoft.Extensions.Logging": "6.0.0", - "System.Collections.Immutable": "6.0.0", - "System.Diagnostics.DiagnosticSource": "6.0.0" - } - }, - "Microsoft.EntityFrameworkCore.Abstractions": { - "type": "Transitive", - "resolved": "6.0.4", - "contentHash": "jycTQF0FUJp10cGWBmtsyFhQNeISU9CltDRKCaNiX4QRSEFzgRgaFN4vAFK0T+G5etmXugyddijE4NWCGtgznQ==" - }, - "Microsoft.EntityFrameworkCore.Analyzers": { - "type": "Transitive", - "resolved": "6.0.4", - "contentHash": "t12WodVyGGP2CuLo7R1qwcawHY5zlg+GiQzvkceZpsjcFJVyTFFBFDPg1isBtzurLzWsl+G3z5fVXeic90mPxg==" - }, - "Microsoft.EntityFrameworkCore.Relational": { - "type": "Transitive", - "resolved": "6.0.4", - "contentHash": "E867NbEXYRTElBF5ff+1AN5Awa1jkORy/Rrm0ueibaTAV5uw89LsLoH6yTe+b9urZTWMHtLfGd1RDdNjk8+KzA==", - "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.4", - "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" - } - }, - "Microsoft.Extensions.ApiDescription.Server": { - "type": "Transitive", - "resolved": "3.0.0", - "contentHash": "LH4OE/76F6sOCslif7+Xh3fS/wUUrE5ryeXAMcoCnuwOQGT5Smw0p57IgDh/pHgHaGz/e+AmEQb7pRgb++wt0w==" - }, "Microsoft.Extensions.Caching.Abstractions": { "type": "Transitive", "resolved": "6.0.0", @@ -660,14 +573,13 @@ }, "Microsoft.Extensions.Caching.Memory": { "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==", + "resolved": "3.1.8", + "contentHash": "u04q7+tgc8l6pQ5HOcr6scgapkQQHnrhpGoCaaAZd24R36/NxGsGxuhSmhHOrQx9CsBLe2CVBN/4CkLlxtnnXw==", "dependencies": { - "Microsoft.Extensions.Caching.Abstractions": "6.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.0", - "Microsoft.Extensions.Options": "6.0.0", - "Microsoft.Extensions.Primitives": "6.0.0" + "Microsoft.Extensions.Caching.Abstractions": "3.1.8", + "Microsoft.Extensions.DependencyInjection.Abstractions": "3.1.8", + "Microsoft.Extensions.Logging.Abstractions": "3.1.8", + "Microsoft.Extensions.Options": "3.1.8" } }, "Microsoft.Extensions.Caching.StackExchangeRedis": { @@ -959,11 +871,6 @@ "resolved": "7.6.4", "contentHash": "MSSmA6kIfpgFTtNpOnnayoSj/6KSzHC1U9KOjF7cTA1PG4tZ7rIMi1pvjFc8CmYEvP4cxGl/+vrCn+HpK26HTQ==" }, - "Microsoft.OpenApi": { - "type": "Transitive", - "resolved": "1.2.3", - "contentHash": "Nug3rO+7Kl5/SBAadzSMAVgqDlfGjJZ0GenQrLywJ84XGKO0uRqkunz5Wyl0SDwcR71bAATXvSdbdzPrYRYKGw==" - }, "Microsoft.Spatial": { "type": "Transitive", "resolved": "7.6.4", @@ -1020,11 +927,6 @@ "System.Security.Cryptography.Pkcs": "6.0.0" } }, - "MySqlConnector": { - "type": "Transitive", - "resolved": "2.1.2", - "contentHash": "JVokQTUNN3WHAu9Vw8ieeq1dXTFokJiig5P0VJ4f439UxRrsPo6SaVWC8Zdm6mkPeQFhZ0/9afdWa02EY/1j/w==" - }, "NETStandard.Library": { "type": "Transitive", "resolved": "1.6.1", @@ -1081,25 +983,6 @@ "resolved": "13.0.1", "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" }, - "Npgsql": { - "type": "Transitive", - "resolved": "6.0.4", - "contentHash": "SJMlOmFHr32oOzVXeHmarGaBKkhi0wHVN/rzuu2tUSJ4Qx2AkHCpr9R/DhLWwDiklqgzFU++9wkFyGJxbx/zzg==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "Npgsql.EntityFrameworkCore.PostgreSQL": { - "type": "Transitive", - "resolved": "6.0.4", - "contentHash": "fzgRmBd3nAFvKt/L70sJfFWAdobtwDEeOzOzruJq9og97O8/5B96inQOAgOpYyaUjPYpS4ZS5/bxm3vnOJ0+pQ==", - "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.4", - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.4", - "Microsoft.EntityFrameworkCore.Relational": "6.0.4", - "Npgsql": "6.0.4" - } - }, "NSec.Cryptography": { "type": "Transitive", "resolved": "20.2.0", @@ -1127,16 +1010,6 @@ "System.IO.Pipelines": "5.0.1" } }, - "Pomelo.EntityFrameworkCore.MySql": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "sFIo5e9RmQoCTEvH6EeSV8ptmX3dw/6XgyD8R93X/i7A9+XCeG9KTjSNjrszVjVOtCu/eyvYqqcv2uZ/BHhlYA==", - "dependencies": { - "Microsoft.EntityFrameworkCore.Relational": "[6.0.1, 7.0.0)", - "Microsoft.Extensions.DependencyInjection": "6.0.0", - "MySqlConnector": "2.1.2" - } - }, "Portable.BouncyCastle": { "type": "Transitive", "resolved": "1.9.0", @@ -1181,16 +1054,6 @@ "Microsoft.NETCore.Targets": "1.1.0" } }, - "runtime.native.System.Data.SqlClient.sni": { - "type": "Transitive", - "resolved": "4.7.0", - "contentHash": "9kyFSIdN3T0qjDQ2R0HRXYIhS3l5psBzQi6qqhdLz+SzFyEy4sVxNOke+yyYv8Cu8rPER12c3RDjLT8wF3WBYQ==", - "dependencies": { - "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": "4.4.0", - "runtime.win-x64.runtime.native.System.Data.SqlClient.sni": "4.4.0", - "runtime.win-x86.runtime.native.System.Data.SqlClient.sni": "4.4.0" - } - }, "runtime.native.System.IO.Compression": { "type": "Transitive", "resolved": "4.3.0", @@ -1283,21 +1146,6 @@ "resolved": "4.3.2", "contentHash": "leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==" }, - "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": { - "type": "Transitive", - "resolved": "4.4.0", - "contentHash": "LbrynESTp3bm5O/+jGL8v0Qg5SJlTV08lpIpFesXjF6uGNMWqFnUQbYBJwZTeua6E/Y7FIM1C54Ey1btLWupdg==" - }, - "runtime.win-x64.runtime.native.System.Data.SqlClient.sni": { - "type": "Transitive", - "resolved": "4.4.0", - "contentHash": "38ugOfkYJqJoX9g6EYRlZB5U2ZJH51UP8ptxZgdpS07FgOEToV+lS11ouNK2PM12Pr6X/PpT5jK82G3DwH/SxQ==" - }, - "runtime.win-x86.runtime.native.System.Data.SqlClient.sni": { - "type": "Transitive", - "resolved": "4.4.0", - "contentHash": "YhEdSQUsTx+C8m8Bw7ar5/VesXvCFMItyZF7G1AUY+OM0VPZUOeAVpJ4Wl6fydBGUYZxojTDR3I6Bj/+BPkJNA==" - }, "SendGrid": { "type": "Transitive", "resolved": "9.27.0", @@ -1492,38 +1340,6 @@ "System.Configuration.ConfigurationManager": "6.0.0" } }, - "Swashbuckle.AspNetCore": { - "type": "Transitive", - "resolved": "6.3.1", - "contentHash": "JFk0+HHUPdjYuPhkpGBMLi2JtnEuWkE2pp0yXQp64DmeMe+Fb0hZyVNq/ENJ2vQNso7Zg+C758WmR/xyAl36bA==", - "dependencies": { - "Microsoft.Extensions.ApiDescription.Server": "3.0.0", - "Swashbuckle.AspNetCore.Swagger": "6.3.1", - "Swashbuckle.AspNetCore.SwaggerGen": "6.3.1", - "Swashbuckle.AspNetCore.SwaggerUI": "6.3.1" - } - }, - "Swashbuckle.AspNetCore.Swagger": { - "type": "Transitive", - "resolved": "6.3.1", - "contentHash": "idAFh4xhyJHYHfdLVOOn+BmscBul1OQbWsnL6YPJE8tO/0y6S79hDCvs6OY5VI093/9+1pYY3j31Zet9yaDZjA==", - "dependencies": { - "Microsoft.OpenApi": "1.2.3" - } - }, - "Swashbuckle.AspNetCore.SwaggerGen": { - "type": "Transitive", - "resolved": "6.3.1", - "contentHash": "+uoBV4h/6NhCPLoTofSmuOnZ+usu4PW1jP6l4OHwPyu2frbYXGNpJsHs5uUXXn929OiVQkT8wo3Lj/o+P99Ejg==", - "dependencies": { - "Swashbuckle.AspNetCore.Swagger": "6.3.1" - } - }, - "Swashbuckle.AspNetCore.SwaggerUI": { - "type": "Transitive", - "resolved": "6.3.1", - "contentHash": "JLm9hN67jh7RHsX3H30+tb432Li8xm/qV5lRyMMkyHYMfWitIuKAAdrpo2ILcHOIeH7CLMuOO2hp/iLBmE+Bkw==" - }, "System.AppContext": { "type": "Transitive", "resolved": "4.3.0", @@ -1566,11 +1382,8 @@ }, "System.Collections.Immutable": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } + "resolved": "1.7.0", + "contentHash": "RVSM6wZUo6L2y6P3vN6gjUtyJ2IF2RVtrepF3J7nrDKfFQd5u/SnSUFclchYQis8/k5scHy9E+fVeKVQLnnkzw==" }, "System.Collections.NonGeneric": { "type": "Transitive", @@ -1609,8 +1422,21 @@ }, "System.ComponentModel.Annotations": { "type": "Transitive", - "resolved": "4.7.0", - "contentHash": "0YFqjhp/mYkDGpU0Ye1GjE53HMp9UVfGN7seGpAMttAC0C40v5gw598jCgpbBLMmCo0E5YRLBv5Z2doypO49ZQ==" + "resolved": "4.3.0", + "contentHash": "SY2RLItHt43rd8J9D8M8e8NM4m+9WLN2uUd9G0n1I4hj/7w+v3pzK6ZBjexlG1/2xvLKQsqir3UGVSyBTXMLWA==", + "dependencies": { + "System.Collections": "4.3.0", + "System.ComponentModel": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading": "4.3.0" + } }, "System.ComponentModel.Primitives": { "type": "Transitive", @@ -1665,16 +1491,6 @@ "System.Text.Encoding": "4.3.0" } }, - "System.Data.SqlClient": { - "type": "Transitive", - "resolved": "4.8.3", - "contentHash": "yERfVLXAY0QbylAgaGLByYN0hFxX28aeEQ0hUgJO+Ntn1AfmWl5HHUoYJA0Yl9HhIUUJHVaS/Sw/RLZr5aaC+A==", - "dependencies": { - "Microsoft.Win32.Registry": "4.7.0", - "System.Security.Principal.Windows": "4.7.0", - "runtime.native.System.Data.SqlClient.sni": "4.7.0" - } - }, "System.Diagnostics.Debug": { "type": "Transitive", "resolved": "4.3.0", @@ -2956,29 +2772,12 @@ "NETStandard.Library": "1.6.1" } }, - "api": { - "type": "Project", - "dependencies": { - "Azure.Messaging.EventGrid": "4.10.0", - "Commercial.Core": "2022.8.0", - "Core": "2022.8.0", - "SharedWeb": "2022.8.0", - "Swashbuckle.AspNetCore": "6.3.1" - } - }, - "commercial.core": { - "type": "Project", - "dependencies": { - "Core": "2022.8.0" - } - }, "common": { "type": "Project", "dependencies": { - "Api": "2022.8.0", "AutoFixture.AutoNSubstitute": "4.17.0", "AutoFixture.Xunit2": "4.17.0", - "Core": "2022.8.0", + "Core": "2022.8.4", "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", "Microsoft.NET.Test.Sdk": "17.1.0", "NSubstitute": "4.3.0", @@ -3024,33 +2823,6 @@ "Stripe.net": "40.0.0", "YubicoDotNetClient": "1.2.0" } - }, - "infrastructure.dapper": { - "type": "Project", - "dependencies": { - "Core": "2022.8.0", - "Dapper": "2.0.123", - "System.Data.SqlClient": "4.8.3" - } - }, - "infrastructure.entityframework": { - "type": "Project", - "dependencies": { - "AutoMapper.Extensions.Microsoft.DependencyInjection": "11.0.0", - "Core": "2022.8.0", - "Microsoft.EntityFrameworkCore.Relational": "6.0.4", - "Npgsql.EntityFrameworkCore.PostgreSQL": "6.0.4", - "Pomelo.EntityFrameworkCore.MySql": "6.0.1", - "linq2db.EntityFrameworkCore": "6.7.1" - } - }, - "sharedweb": { - "type": "Project", - "dependencies": { - "Core": "2022.8.0", - "Infrastructure.Dapper": "2022.8.0", - "Infrastructure.EntityFramework": "2022.8.0" - } } } } diff --git a/test/Icons.Test/packages.lock.json b/test/Icons.Test/packages.lock.json index 7be70823a..06c5032d8 100644 --- a/test/Icons.Test/packages.lock.json +++ b/test/Icons.Test/packages.lock.json @@ -2895,14 +2895,14 @@ "type": "Project", "dependencies": { "AngleSharp": "0.16.1", - "Core": "2022.8.0", - "SharedWeb": "2022.8.0" + "Core": "2022.8.4", + "SharedWeb": "2022.8.4" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "2022.8.0", + "Core": "2022.8.4", "Dapper": "2.0.123", "System.Data.SqlClient": "4.8.3" } @@ -2911,7 +2911,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "11.0.0", - "Core": "2022.8.0", + "Core": "2022.8.4", "Microsoft.EntityFrameworkCore.Relational": "6.0.4", "Npgsql.EntityFrameworkCore.PostgreSQL": "6.0.4", "Pomelo.EntityFrameworkCore.MySql": "6.0.1", @@ -2921,9 +2921,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "2022.8.0", - "Infrastructure.Dapper": "2022.8.0", - "Infrastructure.EntityFramework": "2022.8.0" + "Core": "2022.8.4", + "Infrastructure.Dapper": "2022.8.4", + "Infrastructure.EntityFramework": "2022.8.4" } } } diff --git a/test/Identity.IntegrationTest/packages.lock.json b/test/Identity.IntegrationTest/packages.lock.json index a30d48e39..a884144e9 100644 --- a/test/Identity.IntegrationTest/packages.lock.json +++ b/test/Identity.IntegrationTest/packages.lock.json @@ -143,8 +143,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.24.0", - "contentHash": "+/qI1j2oU1S4/nvxb2k/wDsol00iGf1AyJX5g3epV7eOpQEP/2xcgh/cxgKMeFgn3U2fmgSiBnQZdkV+l5y0Uw==", + "resolved": "1.22.0", + "contentHash": "ze/xRCHSSDe5TIk5vBDbVrauW1EN7UIbnBvIBfMH8KSt/I9+/7yPAjTBDgNBk0IwG6WBV+BBHp4IUtS/PGAQwQ==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -179,16 +179,6 @@ "System.Threading.Tasks.Extensions": "4.5.2" } }, - "Azure.Messaging.EventGrid": { - "type": "Transitive", - "resolved": "4.10.0", - "contentHash": "X3dh3Cek/7wFPUrBJ2KbnkJteGjWvKBoSBmD/uQm8reMIavCFTKhnl95F937eLn/2cSsm5l3oPHtYPFtDerA7Q==", - "dependencies": { - "Azure.Core": "1.24.0", - "System.Memory.Data": "1.0.2", - "System.Text.Json": "4.7.2" - } - }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.11.0", @@ -660,11 +650,6 @@ "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" } }, - "Microsoft.Extensions.ApiDescription.Server": { - "type": "Transitive", - "resolved": "3.0.0", - "contentHash": "LH4OE/76F6sOCslif7+Xh3fS/wUUrE5ryeXAMcoCnuwOQGT5Smw0p57IgDh/pHgHaGz/e+AmEQb7pRgb++wt0w==" - }, "Microsoft.Extensions.Caching.Abstractions": { "type": "Transitive", "resolved": "6.0.0", @@ -1612,17 +1597,6 @@ "System.Configuration.ConfigurationManager": "6.0.0" } }, - "Swashbuckle.AspNetCore": { - "type": "Transitive", - "resolved": "6.3.1", - "contentHash": "JFk0+HHUPdjYuPhkpGBMLi2JtnEuWkE2pp0yXQp64DmeMe+Fb0hZyVNq/ENJ2vQNso7Zg+C758WmR/xyAl36bA==", - "dependencies": { - "Microsoft.Extensions.ApiDescription.Server": "3.0.0", - "Swashbuckle.AspNetCore.Swagger": "6.3.1", - "Swashbuckle.AspNetCore.SwaggerGen": "6.3.1", - "Swashbuckle.AspNetCore.SwaggerUI": "6.3.1" - } - }, "Swashbuckle.AspNetCore.Swagger": { "type": "Transitive", "resolved": "6.3.1", @@ -1639,11 +1613,6 @@ "Swashbuckle.AspNetCore.Swagger": "6.3.1" } }, - "Swashbuckle.AspNetCore.SwaggerUI": { - "type": "Transitive", - "resolved": "6.3.1", - "contentHash": "JLm9hN67jh7RHsX3H30+tb432Li8xm/qV5lRyMMkyHYMfWitIuKAAdrpo2ILcHOIeH7CLMuOO2hp/iLBmE+Bkw==" - }, "System.AppContext": { "type": "Transitive", "resolved": "4.3.0", @@ -3081,29 +3050,12 @@ "NETStandard.Library": "1.6.1" } }, - "api": { - "type": "Project", - "dependencies": { - "Azure.Messaging.EventGrid": "4.10.0", - "Commercial.Core": "2022.8.0", - "Core": "2022.8.0", - "SharedWeb": "2022.8.0", - "Swashbuckle.AspNetCore": "6.3.1" - } - }, - "commercial.core": { - "type": "Project", - "dependencies": { - "Core": "2022.8.0" - } - }, "common": { "type": "Project", "dependencies": { - "Api": "2022.8.0", "AutoFixture.AutoNSubstitute": "4.17.0", "AutoFixture.Xunit2": "4.17.0", - "Core": "2022.8.0", + "Core": "2022.8.4", "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", "Microsoft.NET.Test.Sdk": "17.1.0", "NSubstitute": "4.3.0", @@ -3153,15 +3105,15 @@ "identity": { "type": "Project", "dependencies": { - "Core": "2022.8.0", - "SharedWeb": "2022.8.0", + "Core": "2022.8.4", + "SharedWeb": "2022.8.4", "Swashbuckle.AspNetCore.SwaggerGen": "6.3.1" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "2022.8.0", + "Core": "2022.8.4", "Dapper": "2.0.123", "System.Data.SqlClient": "4.8.3" } @@ -3170,7 +3122,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "11.0.0", - "Core": "2022.8.0", + "Core": "2022.8.4", "Microsoft.EntityFrameworkCore.Relational": "6.0.4", "Npgsql.EntityFrameworkCore.PostgreSQL": "6.0.4", "Pomelo.EntityFrameworkCore.MySql": "6.0.1", @@ -3180,8 +3132,8 @@ "integrationtestcommon": { "type": "Project", "dependencies": { - "Common": "2022.8.0", - "Identity": "2022.8.0", + "Common": "2022.8.4", + "Identity": "2022.8.4", "Microsoft.AspNetCore.Mvc.Testing": "6.0.5", "Microsoft.EntityFrameworkCore.InMemory": "6.0.5", "Microsoft.Extensions.Configuration": "6.0.1" @@ -3190,9 +3142,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "2022.8.0", - "Infrastructure.Dapper": "2022.8.0", - "Infrastructure.EntityFramework": "2022.8.0" + "Core": "2022.8.4", + "Infrastructure.Dapper": "2022.8.4", + "Infrastructure.EntityFramework": "2022.8.4" } } } diff --git a/test/Identity.Test/packages.lock.json b/test/Identity.Test/packages.lock.json index f871223db..06ba496b7 100644 --- a/test/Identity.Test/packages.lock.json +++ b/test/Identity.Test/packages.lock.json @@ -132,8 +132,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.24.0", - "contentHash": "+/qI1j2oU1S4/nvxb2k/wDsol00iGf1AyJX5g3epV7eOpQEP/2xcgh/cxgKMeFgn3U2fmgSiBnQZdkV+l5y0Uw==", + "resolved": "1.22.0", + "contentHash": "ze/xRCHSSDe5TIk5vBDbVrauW1EN7UIbnBvIBfMH8KSt/I9+/7yPAjTBDgNBk0IwG6WBV+BBHp4IUtS/PGAQwQ==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -168,16 +168,6 @@ "System.Threading.Tasks.Extensions": "4.5.2" } }, - "Azure.Messaging.EventGrid": { - "type": "Transitive", - "resolved": "4.10.0", - "contentHash": "X3dh3Cek/7wFPUrBJ2KbnkJteGjWvKBoSBmD/uQm8reMIavCFTKhnl95F937eLn/2cSsm5l3oPHtYPFtDerA7Q==", - "dependencies": { - "Azure.Core": "1.24.0", - "System.Memory.Data": "1.0.2", - "System.Text.Json": "4.7.2" - } - }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.11.0", @@ -633,11 +623,6 @@ "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" } }, - "Microsoft.Extensions.ApiDescription.Server": { - "type": "Transitive", - "resolved": "3.0.0", - "contentHash": "LH4OE/76F6sOCslif7+Xh3fS/wUUrE5ryeXAMcoCnuwOQGT5Smw0p57IgDh/pHgHaGz/e+AmEQb7pRgb++wt0w==" - }, "Microsoft.Extensions.Caching.Abstractions": { "type": "Transitive", "resolved": "6.0.0", @@ -1480,17 +1465,6 @@ "System.Configuration.ConfigurationManager": "6.0.0" } }, - "Swashbuckle.AspNetCore": { - "type": "Transitive", - "resolved": "6.3.1", - "contentHash": "JFk0+HHUPdjYuPhkpGBMLi2JtnEuWkE2pp0yXQp64DmeMe+Fb0hZyVNq/ENJ2vQNso7Zg+C758WmR/xyAl36bA==", - "dependencies": { - "Microsoft.Extensions.ApiDescription.Server": "3.0.0", - "Swashbuckle.AspNetCore.Swagger": "6.3.1", - "Swashbuckle.AspNetCore.SwaggerGen": "6.3.1", - "Swashbuckle.AspNetCore.SwaggerUI": "6.3.1" - } - }, "Swashbuckle.AspNetCore.Swagger": { "type": "Transitive", "resolved": "6.3.1", @@ -1507,11 +1481,6 @@ "Swashbuckle.AspNetCore.Swagger": "6.3.1" } }, - "Swashbuckle.AspNetCore.SwaggerUI": { - "type": "Transitive", - "resolved": "6.3.1", - "contentHash": "JLm9hN67jh7RHsX3H30+tb432Li8xm/qV5lRyMMkyHYMfWitIuKAAdrpo2ILcHOIeH7CLMuOO2hp/iLBmE+Bkw==" - }, "System.AppContext": { "type": "Transitive", "resolved": "4.3.0", @@ -2944,29 +2913,12 @@ "NETStandard.Library": "1.6.1" } }, - "api": { - "type": "Project", - "dependencies": { - "Azure.Messaging.EventGrid": "4.10.0", - "Commercial.Core": "2022.8.0", - "Core": "2022.8.0", - "SharedWeb": "2022.8.0", - "Swashbuckle.AspNetCore": "6.3.1" - } - }, - "commercial.core": { - "type": "Project", - "dependencies": { - "Core": "2022.8.0" - } - }, "common": { "type": "Project", "dependencies": { - "Api": "2022.8.0", "AutoFixture.AutoNSubstitute": "4.17.0", "AutoFixture.Xunit2": "4.17.0", - "Core": "2022.8.0", + "Core": "2022.8.4", "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", "Microsoft.NET.Test.Sdk": "17.1.0", "NSubstitute": "4.3.0", @@ -3016,15 +2968,15 @@ "identity": { "type": "Project", "dependencies": { - "Core": "2022.8.0", - "SharedWeb": "2022.8.0", + "Core": "2022.8.4", + "SharedWeb": "2022.8.4", "Swashbuckle.AspNetCore.SwaggerGen": "6.3.1" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "2022.8.0", + "Core": "2022.8.4", "Dapper": "2.0.123", "System.Data.SqlClient": "4.8.3" } @@ -3033,7 +2985,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "11.0.0", - "Core": "2022.8.0", + "Core": "2022.8.4", "Microsoft.EntityFrameworkCore.Relational": "6.0.4", "Npgsql.EntityFrameworkCore.PostgreSQL": "6.0.4", "Pomelo.EntityFrameworkCore.MySql": "6.0.1", @@ -3043,9 +2995,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "2022.8.0", - "Infrastructure.Dapper": "2022.8.0", - "Infrastructure.EntityFramework": "2022.8.0" + "Core": "2022.8.4", + "Infrastructure.Dapper": "2022.8.4", + "Infrastructure.EntityFramework": "2022.8.4" } } } diff --git a/test/Infrastructure.EFIntegration.Test/AutoFixture/CipherFixtures.cs b/test/Infrastructure.EFIntegration.Test/AutoFixture/CipherFixtures.cs new file mode 100644 index 000000000..a027dc240 --- /dev/null +++ b/test/Infrastructure.EFIntegration.Test/AutoFixture/CipherFixtures.cs @@ -0,0 +1,120 @@ +using System.Text.Json; +using AutoFixture; +using AutoFixture.Kernel; +using Bit.Core.Entities; +using Bit.Core.Models.Data; +using Bit.Core.Test.AutoFixture.UserFixtures; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture.Relays; +using Bit.Infrastructure.EntityFramework.Repositories; +using Bit.Test.Common.AutoFixture; +using Bit.Test.Common.AutoFixture.Attributes; + +namespace Bit.Infrastructure.EFIntegration.Test.AutoFixture +{ + internal class CipherBuilder : ISpecimenBuilder + { + public bool OrganizationOwned { get; set; } + public object Create(object request, ISpecimenContext context) + { + if (context == null) + { + throw new ArgumentNullException(nameof(context)); + } + + var type = request as Type; + if (type == null || (type != typeof(Cipher) && type != typeof(List))) + { + return new NoSpecimen(); + } + + var fixture = new Fixture(); + fixture.Customizations.Insert(0, new MaxLengthStringRelay()); + + if (!OrganizationOwned) + { + fixture.Customize(composer => composer + .Without(c => c.OrganizationId)); + } + + // Can't test valid Favorites and Folders without creating those values inide each test, + // since we won't have any UserIds until the test is running & creating data + fixture.Customize(c => c + .Without(e => e.Favorites) + .Without(e => e.Folders)); + // + var serializerOptions = new JsonSerializerOptions() + { + PropertyNamingPolicy = JsonNamingPolicy.CamelCase + }; + + if (type == typeof(Cipher)) + { + var obj = fixture.WithAutoNSubstitutions().Create(); + var cipherData = fixture.WithAutoNSubstitutions().Create(); + var cipherAttachements = fixture.WithAutoNSubstitutions().Create>(); + obj.Data = JsonSerializer.Serialize(cipherData, serializerOptions); + obj.Attachments = JsonSerializer.Serialize(cipherAttachements, serializerOptions); + + return obj; + } + if (type == typeof(List)) + { + var ciphers = fixture.WithAutoNSubstitutions().CreateMany().ToArray(); + for (var i = 0; i < ciphers.Count(); i++) + { + var cipherData = fixture.WithAutoNSubstitutions().Create(); + var cipherAttachements = fixture.WithAutoNSubstitutions().Create>(); + ciphers[i].Data = JsonSerializer.Serialize(cipherData, serializerOptions); + ciphers[i].Attachments = JsonSerializer.Serialize(cipherAttachements, serializerOptions); + } + + return ciphers; + } + + return new NoSpecimen(); + } + } + + internal class EfCipher : ICustomization + { + public bool OrganizationOwned { get; set; } + public void Customize(IFixture fixture) + { + fixture.Customizations.Add(new GlobalSettingsBuilder()); + fixture.Customizations.Add(new CipherBuilder() + { + OrganizationOwned = OrganizationOwned + }); + fixture.Customizations.Add(new UserBuilder()); + fixture.Customizations.Add(new OrganizationBuilder()); + fixture.Customizations.Add(new OrganizationUserBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + } + } + + internal class EfUserCipherAutoDataAttribute : CustomAutoDataAttribute + { + public EfUserCipherAutoDataAttribute() : base(new SutProviderCustomization(), new EfCipher()) + { } + } + + internal class EfOrganizationCipherAutoDataAttribute : CustomAutoDataAttribute + { + public EfOrganizationCipherAutoDataAttribute() : base(new SutProviderCustomization(), new EfCipher() + { + OrganizationOwned = true, + }) + { } + } + + internal class InlineEfCipherAutoDataAttribute : InlineCustomAutoDataAttribute + { + public InlineEfCipherAutoDataAttribute(params object[] values) : base(new[] { typeof(SutProviderCustomization), + typeof(EfCipher) }, values) + { } + } +} diff --git a/test/Core.Test/AutoFixture/CollectionCipherFixtures.cs b/test/Infrastructure.EFIntegration.Test/AutoFixture/CollectionCipherFixtures.cs similarity index 89% rename from test/Core.Test/AutoFixture/CollectionCipherFixtures.cs rename to test/Infrastructure.EFIntegration.Test/AutoFixture/CollectionCipherFixtures.cs index 812fd6708..873e42439 100644 --- a/test/Core.Test/AutoFixture/CollectionCipherFixtures.cs +++ b/test/Infrastructure.EFIntegration.Test/AutoFixture/CollectionCipherFixtures.cs @@ -1,16 +1,13 @@ using AutoFixture; using AutoFixture.Kernel; using Bit.Core.Entities; -using Bit.Core.Test.AutoFixture.CipherFixtures; -using Bit.Core.Test.AutoFixture.CollectionFixtures; -using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures; -using Bit.Core.Test.AutoFixture.Relays; using Bit.Core.Test.AutoFixture.UserFixtures; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture.Relays; using Bit.Infrastructure.EntityFramework.Repositories; using Bit.Test.Common.AutoFixture; using Bit.Test.Common.AutoFixture.Attributes; -namespace Bit.Core.Test.AutoFixture.CollectionCipherFixtures +namespace Bit.Infrastructure.EFIntegration.Test.AutoFixture { internal class CollectionCipherBuilder : ISpecimenBuilder { diff --git a/test/Infrastructure.EFIntegration.Test/AutoFixture/CollectionFixtures.cs b/test/Infrastructure.EFIntegration.Test/AutoFixture/CollectionFixtures.cs new file mode 100644 index 000000000..1d96bccdc --- /dev/null +++ b/test/Infrastructure.EFIntegration.Test/AutoFixture/CollectionFixtures.cs @@ -0,0 +1,58 @@ +using AutoFixture; +using AutoFixture.Kernel; +using Bit.Core.Entities; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture.Relays; +using Bit.Infrastructure.EntityFramework.Repositories; +using Bit.Test.Common.AutoFixture; +using Bit.Test.Common.AutoFixture.Attributes; + +namespace Bit.Infrastructure.EFIntegration.Test.AutoFixture +{ + internal class CollectionBuilder : ISpecimenBuilder + { + public object Create(object request, ISpecimenContext context) + { + if (context == null) + { + throw new ArgumentNullException(nameof(context)); + } + + var type = request as Type; + if (type == null || type != typeof(Collection)) + { + return new NoSpecimen(); + } + + var fixture = new Fixture(); + fixture.Customizations.Insert(0, new MaxLengthStringRelay()); + var obj = fixture.WithAutoNSubstitutions().Create(); + return obj; + } + } + + internal class EfCollection : ICustomization + { + public void Customize(IFixture fixture) + { + fixture.Customizations.Add(new IgnoreVirtualMembersCustomization()); + fixture.Customizations.Add(new GlobalSettingsBuilder()); + fixture.Customizations.Add(new CollectionBuilder()); + fixture.Customizations.Add(new OrganizationBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + } + } + + internal class EfCollectionAutoDataAttribute : CustomAutoDataAttribute + { + public EfCollectionAutoDataAttribute() : base(new SutProviderCustomization(), new EfCollection()) + { } + } + + internal class InlineEfCollectionAutoDataAttribute : InlineCustomAutoDataAttribute + { + public InlineEfCollectionAutoDataAttribute(params object[] values) : base(new[] { typeof(SutProviderCustomization), + typeof(EfCollection) }, values) + { } + } +} diff --git a/test/Core.Test/AutoFixture/DeviceFixtures.cs b/test/Infrastructure.EFIntegration.Test/AutoFixture/DeviceFixtures.cs similarity index 92% rename from test/Core.Test/AutoFixture/DeviceFixtures.cs rename to test/Infrastructure.EFIntegration.Test/AutoFixture/DeviceFixtures.cs index 42ba08b2e..9100af6a8 100644 --- a/test/Core.Test/AutoFixture/DeviceFixtures.cs +++ b/test/Infrastructure.EFIntegration.Test/AutoFixture/DeviceFixtures.cs @@ -1,14 +1,13 @@ using AutoFixture; using AutoFixture.Kernel; using Bit.Core.Entities; -using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures; -using Bit.Core.Test.AutoFixture.Relays; using Bit.Core.Test.AutoFixture.UserFixtures; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture.Relays; using Bit.Infrastructure.EntityFramework.Repositories; using Bit.Test.Common.AutoFixture; using Bit.Test.Common.AutoFixture.Attributes; -namespace Bit.Core.Test.AutoFixture.DeviceFixtures +namespace Bit.Infrastructure.EFIntegration.Test.AutoFixture { internal class DeviceBuilder : ISpecimenBuilder { diff --git a/test/Core.Test/AutoFixture/EmergencyAccessFixtures.cs b/test/Infrastructure.EFIntegration.Test/AutoFixture/EmergencyAccessFixtures.cs similarity index 92% rename from test/Core.Test/AutoFixture/EmergencyAccessFixtures.cs rename to test/Infrastructure.EFIntegration.Test/AutoFixture/EmergencyAccessFixtures.cs index cdcdc95e4..82bc25f75 100644 --- a/test/Core.Test/AutoFixture/EmergencyAccessFixtures.cs +++ b/test/Infrastructure.EFIntegration.Test/AutoFixture/EmergencyAccessFixtures.cs @@ -1,14 +1,13 @@ using AutoFixture; using AutoFixture.Kernel; using Bit.Core.Entities; -using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures; -using Bit.Core.Test.AutoFixture.Relays; using Bit.Core.Test.AutoFixture.UserFixtures; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture.Relays; using Bit.Infrastructure.EntityFramework.Repositories; using Bit.Test.Common.AutoFixture; using Bit.Test.Common.AutoFixture.Attributes; -namespace Bit.Core.Test.AutoFixture.EmergencyAccessFixtures +namespace Bit.Infrastructure.EFIntegration.Test.AutoFixture { internal class EmergencyAccessBuilder : ISpecimenBuilder { diff --git a/test/Core.Test/AutoFixture/EntityFrameworkRepositoryFixtures.cs b/test/Infrastructure.EFIntegration.Test/AutoFixture/EntityFrameworkRepositoryFixtures.cs similarity index 97% rename from test/Core.Test/AutoFixture/EntityFrameworkRepositoryFixtures.cs rename to test/Infrastructure.EFIntegration.Test/AutoFixture/EntityFrameworkRepositoryFixtures.cs index 645ccc975..4c83062b6 100644 --- a/test/Core.Test/AutoFixture/EntityFrameworkRepositoryFixtures.cs +++ b/test/Infrastructure.EFIntegration.Test/AutoFixture/EntityFrameworkRepositoryFixtures.cs @@ -3,14 +3,14 @@ using AutoFixture; using AutoFixture.Kernel; using AutoMapper; using Bit.Core.Settings; -using Bit.Core.Test.Helpers.Factories; +using Bit.Infrastructure.EFIntegration.Test.Helpers; using Bit.Infrastructure.EntityFramework.Models; using Bit.Infrastructure.EntityFramework.Repositories; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using Moq; -namespace Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures +namespace Bit.Infrastructure.EFIntegration.Test.AutoFixture { internal class ServiceScopeFactoryBuilder : ISpecimenBuilder { diff --git a/test/Core.Test/AutoFixture/EventFixtures.cs b/test/Infrastructure.EFIntegration.Test/AutoFixture/EventFixtures.cs similarity index 91% rename from test/Core.Test/AutoFixture/EventFixtures.cs rename to test/Infrastructure.EFIntegration.Test/AutoFixture/EventFixtures.cs index a63a45f28..ecb4f0ef9 100644 --- a/test/Core.Test/AutoFixture/EventFixtures.cs +++ b/test/Infrastructure.EFIntegration.Test/AutoFixture/EventFixtures.cs @@ -1,13 +1,12 @@ using AutoFixture; using AutoFixture.Kernel; using Bit.Core.Entities; -using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures; -using Bit.Core.Test.AutoFixture.Relays; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture.Relays; using Bit.Infrastructure.EntityFramework.Repositories; using Bit.Test.Common.AutoFixture; using Bit.Test.Common.AutoFixture.Attributes; -namespace Bit.Core.Test.AutoFixture.EventFixtures +namespace Bit.Infrastructure.EFIntegration.Test.AutoFixture { internal class EventBuilder : ISpecimenBuilder { diff --git a/test/Core.Test/AutoFixture/FolderFixtures.cs b/test/Infrastructure.EFIntegration.Test/AutoFixture/FolderFixtures.cs similarity index 92% rename from test/Core.Test/AutoFixture/FolderFixtures.cs rename to test/Infrastructure.EFIntegration.Test/AutoFixture/FolderFixtures.cs index 52b704352..290fffb60 100644 --- a/test/Core.Test/AutoFixture/FolderFixtures.cs +++ b/test/Infrastructure.EFIntegration.Test/AutoFixture/FolderFixtures.cs @@ -1,14 +1,13 @@ using AutoFixture; using AutoFixture.Kernel; using Bit.Core.Entities; -using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures; -using Bit.Core.Test.AutoFixture.Relays; using Bit.Core.Test.AutoFixture.UserFixtures; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture.Relays; using Bit.Infrastructure.EntityFramework.Repositories; using Bit.Test.Common.AutoFixture; using Bit.Test.Common.AutoFixture.Attributes; -namespace Bit.Core.Test.AutoFixture.FolderFixtures +namespace Bit.Infrastructure.EFIntegration.Test.AutoFixture { internal class FolderBuilder : ISpecimenBuilder { diff --git a/test/Core.Test/AutoFixture/GrantFixtures.cs b/test/Infrastructure.EFIntegration.Test/AutoFixture/GrantFixtures.cs similarity index 91% rename from test/Core.Test/AutoFixture/GrantFixtures.cs rename to test/Infrastructure.EFIntegration.Test/AutoFixture/GrantFixtures.cs index 642fb5b8f..7824426bb 100644 --- a/test/Core.Test/AutoFixture/GrantFixtures.cs +++ b/test/Infrastructure.EFIntegration.Test/AutoFixture/GrantFixtures.cs @@ -1,13 +1,12 @@ using AutoFixture; using AutoFixture.Kernel; using Bit.Core.Entities; -using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures; -using Bit.Core.Test.AutoFixture.Relays; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture.Relays; using Bit.Infrastructure.EntityFramework.Repositories; using Bit.Test.Common.AutoFixture; using Bit.Test.Common.AutoFixture.Attributes; -namespace Bit.Core.Test.AutoFixture.GrantFixtures +namespace Bit.Infrastructure.EFIntegration.Test.AutoFixture { internal class GrantBuilder : ISpecimenBuilder { diff --git a/test/Infrastructure.EFIntegration.Test/AutoFixture/GroupFixtures.cs b/test/Infrastructure.EFIntegration.Test/AutoFixture/GroupFixtures.cs new file mode 100644 index 000000000..cfb232ab1 --- /dev/null +++ b/test/Infrastructure.EFIntegration.Test/AutoFixture/GroupFixtures.cs @@ -0,0 +1,58 @@ +using AutoFixture; +using AutoFixture.Kernel; +using Bit.Core.Entities; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture.Relays; +using Bit.Infrastructure.EntityFramework.Repositories; +using Bit.Test.Common.AutoFixture; +using Bit.Test.Common.AutoFixture.Attributes; + +namespace Bit.Infrastructure.EFIntegration.Test.AutoFixture +{ + internal class GroupBuilder : ISpecimenBuilder + { + public object Create(object request, ISpecimenContext context) + { + if (context == null) + { + throw new ArgumentNullException(nameof(context)); + } + + var type = request as Type; + if (type == null || type != typeof(Group)) + { + return new NoSpecimen(); + } + + var fixture = new Fixture(); + fixture.Customizations.Insert(0, new MaxLengthStringRelay()); + var obj = fixture.WithAutoNSubstitutions().Create(); + return obj; + } + } + + internal class EfGroup : ICustomization + { + public void Customize(IFixture fixture) + { + fixture.Customizations.Add(new IgnoreVirtualMembersCustomization()); + fixture.Customizations.Add(new GlobalSettingsBuilder()); + fixture.Customizations.Add(new GroupBuilder()); + fixture.Customizations.Add(new OrganizationBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + } + } + + internal class EfGroupAutoDataAttribute : CustomAutoDataAttribute + { + public EfGroupAutoDataAttribute() : base(new SutProviderCustomization(), new EfGroup()) + { } + } + + internal class InlineEfGroupAutoDataAttribute : InlineCustomAutoDataAttribute + { + public InlineEfGroupAutoDataAttribute(params object[] values) : base(new[] { typeof(SutProviderCustomization), + typeof(EfGroup) }, values) + { } + } +} diff --git a/test/Core.Test/AutoFixture/GroupUserFixtures.cs b/test/Infrastructure.EFIntegration.Test/AutoFixture/GroupUserFixtures.cs similarity index 93% rename from test/Core.Test/AutoFixture/GroupUserFixtures.cs rename to test/Infrastructure.EFIntegration.Test/AutoFixture/GroupUserFixtures.cs index 79afe54e9..d7303b59c 100644 --- a/test/Core.Test/AutoFixture/GroupUserFixtures.cs +++ b/test/Infrastructure.EFIntegration.Test/AutoFixture/GroupUserFixtures.cs @@ -1,12 +1,11 @@ using AutoFixture; using AutoFixture.Kernel; using Bit.Core.Entities; -using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures; using Bit.Infrastructure.EntityFramework.Repositories; using Bit.Test.Common.AutoFixture; using Bit.Test.Common.AutoFixture.Attributes; -namespace Bit.Core.Test.AutoFixture.GroupUserFixtures +namespace Bit.Infrastructure.EFIntegration.Test.AutoFixture { internal class GroupUserBuilder : ISpecimenBuilder { diff --git a/test/Core.Test/AutoFixture/InstallationFixtures.cs b/test/Infrastructure.EFIntegration.Test/AutoFixture/InstallationFixtures.cs similarity index 93% rename from test/Core.Test/AutoFixture/InstallationFixtures.cs rename to test/Infrastructure.EFIntegration.Test/AutoFixture/InstallationFixtures.cs index 083e651e8..1a8c54627 100644 --- a/test/Core.Test/AutoFixture/InstallationFixtures.cs +++ b/test/Infrastructure.EFIntegration.Test/AutoFixture/InstallationFixtures.cs @@ -1,12 +1,11 @@ using AutoFixture; using AutoFixture.Kernel; using Bit.Core.Entities; -using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures; using Bit.Infrastructure.EntityFramework.Repositories; using Bit.Test.Common.AutoFixture; using Bit.Test.Common.AutoFixture.Attributes; -namespace Bit.Core.Test.AutoFixture.InstallationFixtures +namespace Bit.Infrastructure.EFIntegration.Test.AutoFixture { internal class InstallationBuilder : ISpecimenBuilder { diff --git a/test/Infrastructure.EFIntegration.Test/AutoFixture/OrganizationFixtures.cs b/test/Infrastructure.EFIntegration.Test/AutoFixture/OrganizationFixtures.cs new file mode 100644 index 000000000..f09760390 --- /dev/null +++ b/test/Infrastructure.EFIntegration.Test/AutoFixture/OrganizationFixtures.cs @@ -0,0 +1,58 @@ +using AutoFixture; +using AutoFixture.Kernel; +using Bit.Core.Entities; +using Bit.Core.Enums; +using Bit.Core.Models; +using Bit.Infrastructure.EntityFramework.Repositories; +using Bit.Test.Common.AutoFixture; +using Bit.Test.Common.AutoFixture.Attributes; + +namespace Bit.Infrastructure.EFIntegration.Test.AutoFixture +{ + internal class OrganizationBuilder : ISpecimenBuilder + { + public object Create(object request, ISpecimenContext context) + { + if (context == null) + { + throw new ArgumentNullException(nameof(context)); + } + + var type = request as Type; + if (type == null || type != typeof(Organization)) + { + return new NoSpecimen(); + } + + var fixture = new Fixture(); + var providers = fixture.Create>(); + var organization = new Fixture().WithAutoNSubstitutions().Create(); + organization.SetTwoFactorProviders(providers); + return organization; + } + } + + internal class EfOrganization : ICustomization + { + public void Customize(IFixture fixture) + { + fixture.Customizations.Add(new IgnoreVirtualMembersCustomization()); + fixture.Customizations.Add(new GlobalSettingsBuilder()); + fixture.Customizations.Add(new OrganizationBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + } + } + + internal class EfOrganizationAutoDataAttribute : CustomAutoDataAttribute + { + public EfOrganizationAutoDataAttribute() : base(new SutProviderCustomization(), new EfOrganization()) + { } + } + + internal class InlineEfOrganizationAutoDataAttribute : InlineCustomAutoDataAttribute + { + public InlineEfOrganizationAutoDataAttribute(params object[] values) : base(new[] { typeof(SutProviderCustomization), + typeof(EfOrganization) }, values) + { } + } +} diff --git a/test/Infrastructure.EFIntegration.Test/AutoFixture/OrganizationSponsorshipFixtures.cs b/test/Infrastructure.EFIntegration.Test/AutoFixture/OrganizationSponsorshipFixtures.cs new file mode 100644 index 000000000..c4b97ad4e --- /dev/null +++ b/test/Infrastructure.EFIntegration.Test/AutoFixture/OrganizationSponsorshipFixtures.cs @@ -0,0 +1,56 @@ +using AutoFixture; +using AutoFixture.Kernel; +using Bit.Core.Entities; +using Bit.Infrastructure.EntityFramework.Repositories; +using Bit.Test.Common.AutoFixture; +using Bit.Test.Common.AutoFixture.Attributes; + +namespace Bit.Infrastructure.EFIntegration.Test.AutoFixture +{ + internal class OrganizationSponsorshipBuilder : ISpecimenBuilder + { + public object Create(object request, ISpecimenContext context) + { + if (context == null) + { + throw new ArgumentNullException(nameof(context)); + } + + var type = request as Type; + if (type == null || type != typeof(OrganizationSponsorship)) + { + return new NoSpecimen(); + } + + var fixture = new Fixture(); + var obj = fixture.WithAutoNSubstitutions().Create(); + return obj; + } + } + + internal class EfOrganizationSponsorship : ICustomization + { + public void Customize(IFixture fixture) + { + fixture.Customizations.Add(new IgnoreVirtualMembersCustomization()); + fixture.Customizations.Add(new GlobalSettingsBuilder()); + fixture.Customizations.Add(new OrganizationSponsorshipBuilder()); + fixture.Customizations.Add(new OrganizationUserBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + } + } + + internal class EfOrganizationSponsorshipAutoDataAttribute : CustomAutoDataAttribute + { + public EfOrganizationSponsorshipAutoDataAttribute() : base(new SutProviderCustomization(), new EfOrganizationSponsorship(), new EfOrganization()) + { } + } + + internal class InlineEfOrganizationSponsorshipAutoDataAttribute : InlineCustomAutoDataAttribute + { + public InlineEfOrganizationSponsorshipAutoDataAttribute(params object[] values) : base(new[] { typeof(SutProviderCustomization), + typeof(EfOrganizationSponsorship), typeof(EfOrganization) }, values) + { } + } +} diff --git a/test/Infrastructure.EFIntegration.Test/AutoFixture/OrganizationUserFixtures.cs b/test/Infrastructure.EFIntegration.Test/AutoFixture/OrganizationUserFixtures.cs new file mode 100644 index 000000000..1ae72117e --- /dev/null +++ b/test/Infrastructure.EFIntegration.Test/AutoFixture/OrganizationUserFixtures.cs @@ -0,0 +1,83 @@ +using System.Text.Json; +using AutoFixture; +using AutoFixture.Kernel; +using Bit.Core.Entities; +using Bit.Core.Enums; +using Bit.Core.Models; +using Bit.Core.Models.Data; +using Bit.Core.Test.AutoFixture.OrganizationUserFixtures; +using Bit.Core.Test.AutoFixture.UserFixtures; +using Bit.Infrastructure.EntityFramework.Repositories; +using Bit.Test.Common.AutoFixture; +using Bit.Test.Common.AutoFixture.Attributes; + +namespace Bit.Infrastructure.EFIntegration.Test.AutoFixture +{ + internal class OrganizationUserBuilder : ISpecimenBuilder + { + public object Create(object request, ISpecimenContext context) + { + if (context == null) + { + throw new ArgumentNullException(nameof(context)); + } + + var type = request as Type; + if (type == typeof(OrganizationUserCustomization)) + { + var fixture = new Fixture(); + var orgUser = fixture.WithAutoNSubstitutions().Create(); + var orgUserPermissions = fixture.WithAutoNSubstitutions().Create(); + orgUser.Permissions = JsonSerializer.Serialize(orgUserPermissions, new JsonSerializerOptions() + { + PropertyNamingPolicy = JsonNamingPolicy.CamelCase, + }); + return orgUser; + } + else if (type == typeof(List)) + { + var fixture = new Fixture(); + var orgUsers = fixture.WithAutoNSubstitutions().CreateMany(2); + foreach (var orgUser in orgUsers) + { + var providers = fixture.Create>(); + var orgUserPermissions = fixture.WithAutoNSubstitutions().Create(); + orgUser.Permissions = JsonSerializer.Serialize(orgUserPermissions, new JsonSerializerOptions() + { + PropertyNamingPolicy = JsonNamingPolicy.CamelCase, + }); + } + return orgUsers; + } + return new NoSpecimen(); + } + } + + internal class EfOrganizationUser : ICustomization + { + public void Customize(IFixture fixture) + { + fixture.Customizations.Add(new IgnoreVirtualMembersCustomization()); + fixture.Customizations.Add(new GlobalSettingsBuilder()); + fixture.Customizations.Add(new OrganizationUserBuilder()); + fixture.Customizations.Add(new OrganizationBuilder()); + fixture.Customizations.Add(new UserBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + } + } + + internal class EfOrganizationUserAutoDataAttribute : CustomAutoDataAttribute + { + public EfOrganizationUserAutoDataAttribute() : base(new SutProviderCustomization(), new EfOrganizationUser()) + { } + } + + internal class InlineEfOrganizationUserAutoDataAttribute : InlineCustomAutoDataAttribute + { + public InlineEfOrganizationUserAutoDataAttribute(params object[] values) : base(new[] { typeof(SutProviderCustomization), + typeof(EfOrganizationUser) }, values) + { } + } +} diff --git a/test/Infrastructure.EFIntegration.Test/AutoFixture/PolicyFixtures.cs b/test/Infrastructure.EFIntegration.Test/AutoFixture/PolicyFixtures.cs new file mode 100644 index 000000000..0b6424d54 --- /dev/null +++ b/test/Infrastructure.EFIntegration.Test/AutoFixture/PolicyFixtures.cs @@ -0,0 +1,80 @@ +using AutoFixture; +using AutoFixture.Kernel; +using Bit.Core.Entities; +using Bit.Infrastructure.EntityFramework.Repositories; +using Bit.Test.Common.AutoFixture; +using Bit.Test.Common.AutoFixture.Attributes; + +namespace Bit.Infrastructure.EFIntegration.Test.AutoFixture +{ + internal class PolicyBuilder : ISpecimenBuilder + { + public object Create(object request, ISpecimenContext context) + { + if (context == null) + { + throw new ArgumentNullException(nameof(context)); + } + + var type = request as Type; + if (type == null || type != typeof(Policy)) + { + return new NoSpecimen(); + } + + var fixture = new Fixture(); + var obj = fixture.WithAutoNSubstitutions().Create(); + return obj; + } + } + + internal class EfPolicy : ICustomization + { + public void Customize(IFixture fixture) + { + fixture.Customizations.Add(new IgnoreVirtualMembersCustomization()); + fixture.Customizations.Add(new GlobalSettingsBuilder()); + fixture.Customizations.Add(new PolicyBuilder()); + fixture.Customizations.Add(new OrganizationBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + } + } + + internal class EfPolicyApplicableToUser : ICustomization + { + public void Customize(IFixture fixture) + { + fixture.Customizations.Add(new IgnoreVirtualMembersCustomization()); + fixture.Customizations.Add(new GlobalSettingsBuilder()); + fixture.Customizations.Add(new PolicyBuilder()); + fixture.Customizations.Add(new OrganizationBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + } + } + + internal class EfPolicyAutoDataAttribute : CustomAutoDataAttribute + { + public EfPolicyAutoDataAttribute() : base(new SutProviderCustomization(), new EfPolicy()) + { } + } + + internal class EfPolicyApplicableToUserInlineAutoDataAttribute : InlineCustomAutoDataAttribute + { + public EfPolicyApplicableToUserInlineAutoDataAttribute(params object[] values) : base(new[] { typeof(SutProviderCustomization), typeof(EfPolicyApplicableToUser) }, values) + { } + } + + internal class InlineEfPolicyAutoDataAttribute : InlineCustomAutoDataAttribute + { + public InlineEfPolicyAutoDataAttribute(params object[] values) : base(new[] { typeof(SutProviderCustomization), + typeof(EfPolicy) }, values) + { } + } +} diff --git a/test/Core.Test/AutoFixture/Relays/MaxLengthStringRelay.cs b/test/Infrastructure.EFIntegration.Test/AutoFixture/Relays/MaxLengthStringRelay.cs similarity index 90% rename from test/Core.Test/AutoFixture/Relays/MaxLengthStringRelay.cs rename to test/Infrastructure.EFIntegration.Test/AutoFixture/Relays/MaxLengthStringRelay.cs index 68aaf5496..e2a3812cc 100644 --- a/test/Core.Test/AutoFixture/Relays/MaxLengthStringRelay.cs +++ b/test/Infrastructure.EFIntegration.Test/AutoFixture/Relays/MaxLengthStringRelay.cs @@ -2,12 +2,12 @@ using System.Reflection; using AutoFixture.Kernel; -namespace Bit.Core.Test.AutoFixture.Relays +namespace Bit.Infrastructure.EFIntegration.Test.AutoFixture.Relays { // Creates a string the same length as any availible MaxLength data annotation // Modified version of the StringLenfthRelay provided by AutoFixture // https://github.com/AutoFixture/AutoFixture/blob/master/Src/AutoFixture/DataAnnotations/StringLengthAttributeRelay.cs - internal class MaxLengthStringRelay : ISpecimenBuilder + public class MaxLengthStringRelay : ISpecimenBuilder { public object Create(object request, ISpecimenContext context) { diff --git a/test/Infrastructure.EFIntegration.Test/AutoFixture/SendFixtures.cs b/test/Infrastructure.EFIntegration.Test/AutoFixture/SendFixtures.cs new file mode 100644 index 000000000..222ea4ac0 --- /dev/null +++ b/test/Infrastructure.EFIntegration.Test/AutoFixture/SendFixtures.cs @@ -0,0 +1,70 @@ +using AutoFixture; +using AutoFixture.Kernel; +using Bit.Core.Entities; +using Bit.Core.Test.AutoFixture.UserFixtures; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture.Relays; +using Bit.Infrastructure.EntityFramework.Repositories; +using Bit.Test.Common.AutoFixture; +using Bit.Test.Common.AutoFixture.Attributes; + +namespace Bit.Infrastructure.EFIntegration.Test.AutoFixture +{ + internal class SendBuilder : ISpecimenBuilder + { + public bool OrganizationOwned { get; set; } + public object Create(object request, ISpecimenContext context) + { + if (context == null) + { + throw new ArgumentNullException(nameof(context)); + } + + var type = request as Type; + if (type == null || type != typeof(Send)) + { + return new NoSpecimen(); + } + + var fixture = new Fixture(); + fixture.Customizations.Insert(0, new MaxLengthStringRelay()); + if (!OrganizationOwned) + { + fixture.Customize(composer => composer + .Without(c => c.OrganizationId)); + } + var obj = fixture.WithAutoNSubstitutions().Create(); + return obj; + } + } + + internal class EfSend : ICustomization + { + public bool OrganizationOwned { get; set; } + public void Customize(IFixture fixture) + { + fixture.Customizations.Add(new IgnoreVirtualMembersCustomization()); + fixture.Customizations.Add(new GlobalSettingsBuilder()); + fixture.Customizations.Add(new SendBuilder()); + fixture.Customizations.Add(new UserBuilder()); + fixture.Customizations.Add(new OrganizationBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + } + } + + internal class EfUserSendAutoDataAttribute : CustomAutoDataAttribute + { + public EfUserSendAutoDataAttribute() : base(new SutProviderCustomization(), new EfSend()) + { } + } + + internal class EfOrganizationSendAutoDataAttribute : CustomAutoDataAttribute + { + public EfOrganizationSendAutoDataAttribute() : base(new SutProviderCustomization(), new EfSend() + { + OrganizationOwned = true, + }) + { } + } +} diff --git a/test/Core.Test/AutoFixture/SsoConfigFixtures.cs b/test/Infrastructure.EFIntegration.Test/AutoFixture/SsoConfigFixtures.cs similarity index 92% rename from test/Core.Test/AutoFixture/SsoConfigFixtures.cs rename to test/Infrastructure.EFIntegration.Test/AutoFixture/SsoConfigFixtures.cs index b50884583..83f3064f3 100644 --- a/test/Core.Test/AutoFixture/SsoConfigFixtures.cs +++ b/test/Infrastructure.EFIntegration.Test/AutoFixture/SsoConfigFixtures.cs @@ -2,13 +2,11 @@ using AutoFixture.Kernel; using Bit.Core.Entities; using Bit.Core.Models.Data; -using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures; -using Bit.Core.Test.AutoFixture.OrganizationFixtures; using Bit.Infrastructure.EntityFramework.Repositories; using Bit.Test.Common.AutoFixture; using Bit.Test.Common.AutoFixture.Attributes; -namespace Bit.Core.Test.AutoFixture.SsoConfigFixtures +namespace Bit.Infrastructure.EFIntegration.Test.AutoFixture { internal class SsoConfigBuilder : ISpecimenBuilder { diff --git a/test/Core.Test/AutoFixture/SsoUserFixtures.cs b/test/Infrastructure.EFIntegration.Test/AutoFixture/SsoUserFixtures.cs similarity index 89% rename from test/Core.Test/AutoFixture/SsoUserFixtures.cs rename to test/Infrastructure.EFIntegration.Test/AutoFixture/SsoUserFixtures.cs index 0de71f6b0..32b6ddf24 100644 --- a/test/Core.Test/AutoFixture/SsoUserFixtures.cs +++ b/test/Infrastructure.EFIntegration.Test/AutoFixture/SsoUserFixtures.cs @@ -1,13 +1,11 @@ using AutoFixture; using Bit.Core.Entities; -using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures; -using Bit.Core.Test.AutoFixture.OrganizationFixtures; using Bit.Core.Test.AutoFixture.UserFixtures; using Bit.Infrastructure.EntityFramework.Repositories; using Bit.Test.Common.AutoFixture; using Bit.Test.Common.AutoFixture.Attributes; -namespace Bit.Core.Test.AutoFixture.SsoUserFixtures +namespace Bit.Infrastructure.EFIntegration.Test.AutoFixture { internal class EfSsoUser : ICustomization { diff --git a/test/Core.Test/AutoFixture/TaxRateFixtures.cs b/test/Infrastructure.EFIntegration.Test/AutoFixture/TaxRateFixtures.cs similarity index 91% rename from test/Core.Test/AutoFixture/TaxRateFixtures.cs rename to test/Infrastructure.EFIntegration.Test/AutoFixture/TaxRateFixtures.cs index 887324a20..b22c6d8c2 100644 --- a/test/Core.Test/AutoFixture/TaxRateFixtures.cs +++ b/test/Infrastructure.EFIntegration.Test/AutoFixture/TaxRateFixtures.cs @@ -1,13 +1,12 @@ using AutoFixture; using AutoFixture.Kernel; using Bit.Core.Entities; -using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures; -using Bit.Core.Test.AutoFixture.Relays; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture.Relays; using Bit.Infrastructure.EntityFramework.Repositories; using Bit.Test.Common.AutoFixture; using Bit.Test.Common.AutoFixture.Attributes; -namespace Bit.Core.Test.AutoFixture.TaxRateFixtures +namespace Bit.Infrastructure.EFIntegration.Test.AutoFixture { internal class TaxRateBuilder : ISpecimenBuilder { diff --git a/test/Core.Test/AutoFixture/TransactionFixutres.cs b/test/Infrastructure.EFIntegration.Test/AutoFixture/TransactionFixutres.cs similarity index 92% rename from test/Core.Test/AutoFixture/TransactionFixutres.cs rename to test/Infrastructure.EFIntegration.Test/AutoFixture/TransactionFixutres.cs index cc91951b2..437cdcd2a 100644 --- a/test/Core.Test/AutoFixture/TransactionFixutres.cs +++ b/test/Infrastructure.EFIntegration.Test/AutoFixture/TransactionFixutres.cs @@ -1,15 +1,13 @@ using AutoFixture; using AutoFixture.Kernel; -using Bit.Core.Test.AutoFixture.EntityFrameworkRepositoryFixtures; -using Bit.Core.Test.AutoFixture.OrganizationFixtures; -using Bit.Core.Test.AutoFixture.Relays; using Bit.Core.Test.AutoFixture.UserFixtures; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture.Relays; using Bit.Infrastructure.EntityFramework.Models; using Bit.Infrastructure.EntityFramework.Repositories; using Bit.Test.Common.AutoFixture; using Bit.Test.Common.AutoFixture.Attributes; -namespace Bit.Core.Test.AutoFixture.TransactionFixtures +namespace Bit.Infrastructure.EFIntegration.Test.AutoFixture { internal class TransactionBuilder : ISpecimenBuilder { diff --git a/test/Infrastructure.EFIntegration.Test/AutoFixture/UserFixtures.cs b/test/Infrastructure.EFIntegration.Test/AutoFixture/UserFixtures.cs new file mode 100644 index 000000000..f54b7b758 --- /dev/null +++ b/test/Infrastructure.EFIntegration.Test/AutoFixture/UserFixtures.cs @@ -0,0 +1,32 @@ +using AutoFixture; +using Bit.Core.Test.AutoFixture.UserFixtures; +using Bit.Infrastructure.EntityFramework.Repositories; +using Bit.Test.Common.AutoFixture.Attributes; + +namespace Bit.Infrastructure.EFIntegration.Test.AutoFixture +{ + internal class EfUser : UserFixture + { + public override void Customize(IFixture fixture) + { + fixture.Customizations.Add(new IgnoreVirtualMembersCustomization()); + base.Customize(fixture); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + fixture.Customizations.Add(new EfRepositoryListBuilder()); + } + } + + internal class EfUserAutoDataAttribute : CustomAutoDataAttribute + { + public EfUserAutoDataAttribute() : base(new SutProviderCustomization(), new EfUser()) + { } + } + + internal class InlineEfUserAutoDataAttribute : InlineCustomAutoDataAttribute + { + public InlineEfUserAutoDataAttribute(params object[] values) : base(new[] { typeof(SutProviderCustomization), + typeof(EfUser) }, values) + { } + } +} diff --git a/test/Infrastructure.EFIntegration.Test/Helpers/DatabaseOptionsFactory.cs b/test/Infrastructure.EFIntegration.Test/Helpers/DatabaseOptionsFactory.cs new file mode 100644 index 000000000..25ac5912b --- /dev/null +++ b/test/Infrastructure.EFIntegration.Test/Helpers/DatabaseOptionsFactory.cs @@ -0,0 +1,26 @@ +using Bit.Core.Test.Helpers.Factories; +using Bit.Infrastructure.EntityFramework.Repositories; +using Microsoft.EntityFrameworkCore; + +namespace Bit.Infrastructure.EFIntegration.Test.Helpers +{ + public static class DatabaseOptionsFactory + { + public static List> Options { get; } = new(); + + static DatabaseOptionsFactory() + { + var globalSettings = GlobalSettingsFactory.GlobalSettings; + if (!string.IsNullOrWhiteSpace(GlobalSettingsFactory.GlobalSettings.PostgreSql?.ConnectionString)) + { + AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true); + Options.Add(new DbContextOptionsBuilder().UseNpgsql(globalSettings.PostgreSql.ConnectionString).Options); + } + if (!string.IsNullOrWhiteSpace(GlobalSettingsFactory.GlobalSettings.MySql?.ConnectionString)) + { + var mySqlConnectionString = globalSettings.MySql.ConnectionString; + Options.Add(new DbContextOptionsBuilder().UseMySql(mySqlConnectionString, ServerVersion.AutoDetect(mySqlConnectionString)).Options); + } + } + } +} diff --git a/test/Infrastructure.EFIntegration.Test/Infrastructure.EFIntegration.Test.csproj b/test/Infrastructure.EFIntegration.Test/Infrastructure.EFIntegration.Test.csproj new file mode 100644 index 000000000..abc34ea98 --- /dev/null +++ b/test/Infrastructure.EFIntegration.Test/Infrastructure.EFIntegration.Test.csproj @@ -0,0 +1,33 @@ + + + false + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + + + + + all + runtime; build; native; contentfiles; analyzers + + + + + + + + + + + + + + + + + diff --git a/test/Core.Test/Repositories/EntityFramework/CipherRepositoryTests.cs b/test/Infrastructure.EFIntegration.Test/Repositories/CipherRepositoryTests.cs similarity index 97% rename from test/Core.Test/Repositories/EntityFramework/CipherRepositoryTests.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/CipherRepositoryTests.cs index 67d8feea5..21e9f4ee1 100644 --- a/test/Core.Test/Repositories/EntityFramework/CipherRepositoryTests.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/CipherRepositoryTests.cs @@ -1,15 +1,15 @@ using Bit.Core.Entities; using Bit.Core.Models.Data; using Bit.Core.Test.AutoFixture.Attributes; -using Bit.Core.Test.AutoFixture.CipherFixtures; -using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture; +using Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers; using Bit.Infrastructure.EntityFramework.Repositories.Queries; using LinqToDB; using Xunit; using EfRepo = Bit.Infrastructure.EntityFramework.Repositories; using SqlRepo = Bit.Infrastructure.Dapper.Repositories; -namespace Bit.Core.Test.Repositories.EntityFramework +namespace Bit.Infrastructure.EFIntegration.Test.Repositories { public class CipherRepositoryTests { diff --git a/test/Core.Test/Repositories/EntityFramework/CollectionRepository.cs b/test/Infrastructure.EFIntegration.Test/Repositories/CollectionRepository.cs similarity index 90% rename from test/Core.Test/Repositories/EntityFramework/CollectionRepository.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/CollectionRepository.cs index 45e601074..ed2bcf74b 100644 --- a/test/Core.Test/Repositories/EntityFramework/CollectionRepository.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/CollectionRepository.cs @@ -1,12 +1,12 @@ using Bit.Core.Entities; using Bit.Core.Test.AutoFixture.Attributes; -using Bit.Core.Test.AutoFixture.CollectionFixtures; -using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture; +using Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers; using Xunit; using EfRepo = Bit.Infrastructure.EntityFramework.Repositories; using SqlRepo = Bit.Infrastructure.Dapper.Repositories; -namespace Bit.Core.Test.Repositories.EntityFramework +namespace Bit.Infrastructure.EFIntegration.Test.Repositories { public class CollectionRepositoryTests { diff --git a/test/Core.Test/Repositories/EntityFramework/DeviceRepositoryTests.cs b/test/Infrastructure.EFIntegration.Test/Repositories/DeviceRepositoryTests.cs similarity index 89% rename from test/Core.Test/Repositories/EntityFramework/DeviceRepositoryTests.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/DeviceRepositoryTests.cs index 4cdbe76ac..4c5de177c 100644 --- a/test/Core.Test/Repositories/EntityFramework/DeviceRepositoryTests.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/DeviceRepositoryTests.cs @@ -1,12 +1,12 @@ using Bit.Core.Entities; using Bit.Core.Test.AutoFixture.Attributes; -using Bit.Core.Test.AutoFixture.DeviceFixtures; -using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture; +using Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers; using Xunit; using EfRepo = Bit.Infrastructure.EntityFramework.Repositories; using SqlRepo = Bit.Infrastructure.Dapper.Repositories; -namespace Bit.Core.Test.Repositories.EntityFramework +namespace Bit.Infrastructure.EFIntegration.Test.Repositories { public class DeviceRepositoryTests { diff --git a/test/Core.Test/Repositories/EntityFramework/EmergencyAccessRepositoryTests.cs b/test/Infrastructure.EFIntegration.Test/Repositories/EmergencyAccessRepositoryTests.cs similarity index 91% rename from test/Core.Test/Repositories/EntityFramework/EmergencyAccessRepositoryTests.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/EmergencyAccessRepositoryTests.cs index 52a71b20f..1bb31d476 100644 --- a/test/Core.Test/Repositories/EntityFramework/EmergencyAccessRepositoryTests.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/EmergencyAccessRepositoryTests.cs @@ -1,12 +1,12 @@ using Bit.Core.Entities; using Bit.Core.Test.AutoFixture.Attributes; -using Bit.Core.Test.AutoFixture.EmergencyAccessFixtures; -using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture; +using Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers; using Xunit; using EfRepo = Bit.Infrastructure.EntityFramework.Repositories; using SqlRepo = Bit.Infrastructure.Dapper.Repositories; -namespace Bit.Core.Test.Repositories.EntityFramework +namespace Bit.Infrastructure.EFIntegration.Test.Repositories { public class EmergencyAccessRepositoryTests { diff --git a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/CipherCompare.cs b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/CipherCompare.cs similarity index 86% rename from test/Core.Test/Repositories/EntityFramework/EqualityComparers/CipherCompare.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/CipherCompare.cs index be61241d9..f5be069bd 100644 --- a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/CipherCompare.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/CipherCompare.cs @@ -1,7 +1,7 @@ using System.Diagnostics.CodeAnalysis; using Bit.Core.Entities; -namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers +namespace Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers { public class CipherCompare : IEqualityComparer { diff --git a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/CollectionCompare.cs b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/CollectionCompare.cs similarity index 84% rename from test/Core.Test/Repositories/EntityFramework/EqualityComparers/CollectionCompare.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/CollectionCompare.cs index dd03f5dd3..a7cef8f6d 100644 --- a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/CollectionCompare.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/CollectionCompare.cs @@ -1,7 +1,7 @@ using System.Diagnostics.CodeAnalysis; using Bit.Core.Entities; -namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers +namespace Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers { public class CollectionCompare : IEqualityComparer { diff --git a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/DeviceCompare.cs b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/DeviceCompare.cs similarity index 86% rename from test/Core.Test/Repositories/EntityFramework/EqualityComparers/DeviceCompare.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/DeviceCompare.cs index e5adc432c..ac8a24d20 100644 --- a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/DeviceCompare.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/DeviceCompare.cs @@ -1,7 +1,7 @@ using System.Diagnostics.CodeAnalysis; using Bit.Core.Entities; -namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers +namespace Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers { public class DeviceCompare : IEqualityComparer { diff --git a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/EmergencyAccessCompare.cs b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/EmergencyAccessCompare.cs similarity index 90% rename from test/Core.Test/Repositories/EntityFramework/EqualityComparers/EmergencyAccessCompare.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/EmergencyAccessCompare.cs index fb7d648e1..bc2592f43 100644 --- a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/EmergencyAccessCompare.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/EmergencyAccessCompare.cs @@ -1,7 +1,7 @@ using System.Diagnostics.CodeAnalysis; using Bit.Core.Entities; -namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers +namespace Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers { public class EmergencyAccessCompare : IEqualityComparer { diff --git a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/EventCompare.cs b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/EventCompare.cs similarity index 85% rename from test/Core.Test/Repositories/EntityFramework/EqualityComparers/EventCompare.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/EventCompare.cs index 635e09d28..a42f8cb5e 100644 --- a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/EventCompare.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/EventCompare.cs @@ -1,7 +1,7 @@ using System.Diagnostics.CodeAnalysis; using Bit.Core.Entities; -namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers +namespace Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers { public class EventCompare : IEqualityComparer { diff --git a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/FolderCompare.cs b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/FolderCompare.cs similarity index 82% rename from test/Core.Test/Repositories/EntityFramework/EqualityComparers/FolderCompare.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/FolderCompare.cs index ffdfbf80f..61e261f8a 100644 --- a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/FolderCompare.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/FolderCompare.cs @@ -1,7 +1,7 @@ using System.Diagnostics.CodeAnalysis; using Bit.Core.Entities; -namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers +namespace Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers { public class FolderCompare : IEqualityComparer { diff --git a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/GrantCompare.cs b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/GrantCompare.cs similarity index 89% rename from test/Core.Test/Repositories/EntityFramework/EqualityComparers/GrantCompare.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/GrantCompare.cs index 677f253b1..978d4d62d 100644 --- a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/GrantCompare.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/GrantCompare.cs @@ -1,7 +1,7 @@ using System.Diagnostics.CodeAnalysis; using Bit.Core.Entities; -namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers +namespace Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers { public class GrantCompare : IEqualityComparer { diff --git a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/GroupCompare.cs b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/GroupCompare.cs similarity index 84% rename from test/Core.Test/Repositories/EntityFramework/EqualityComparers/GroupCompare.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/GroupCompare.cs index 15a72898b..aa2e1ae89 100644 --- a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/GroupCompare.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/GroupCompare.cs @@ -1,7 +1,7 @@ using System.Diagnostics.CodeAnalysis; using Bit.Core.Entities; -namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers +namespace Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers { public class GroupCompare : IEqualityComparer { diff --git a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/InstallationCompare.cs b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/InstallationCompare.cs similarity index 85% rename from test/Core.Test/Repositories/EntityFramework/EqualityComparers/InstallationCompare.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/InstallationCompare.cs index ac7a026e3..38a92daa3 100644 --- a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/InstallationCompare.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/InstallationCompare.cs @@ -1,7 +1,7 @@ using System.Diagnostics.CodeAnalysis; using Bit.Core.Entities; -namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers +namespace Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers { public class InstallationCompare : IEqualityComparer { diff --git a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/OrganizationCompare.cs b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/OrganizationCompare.cs similarity index 96% rename from test/Core.Test/Repositories/EntityFramework/EqualityComparers/OrganizationCompare.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/OrganizationCompare.cs index ca7ef7318..a8f32643e 100644 --- a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/OrganizationCompare.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/OrganizationCompare.cs @@ -1,7 +1,7 @@ using System.Diagnostics.CodeAnalysis; using Bit.Core.Entities; -namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers +namespace Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers { public class OrganizationCompare : IEqualityComparer { diff --git a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/OrganizationSponsorshipCompare.cs b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/OrganizationSponsorshipCompare.cs similarity index 91% rename from test/Core.Test/Repositories/EntityFramework/EqualityComparers/OrganizationSponsorshipCompare.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/OrganizationSponsorshipCompare.cs index c9e142bb7..c90aaf065 100644 --- a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/OrganizationSponsorshipCompare.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/OrganizationSponsorshipCompare.cs @@ -1,7 +1,7 @@ using System.Diagnostics.CodeAnalysis; using Bit.Core.Entities; -namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers +namespace Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers { public class OrganizationSponsorshipCompare : IEqualityComparer { diff --git a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/OrganizationUserCompare.cs b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/OrganizationUserCompare.cs similarity index 88% rename from test/Core.Test/Repositories/EntityFramework/EqualityComparers/OrganizationUserCompare.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/OrganizationUserCompare.cs index 29ddbef87..bb7895a2f 100644 --- a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/OrganizationUserCompare.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/OrganizationUserCompare.cs @@ -1,7 +1,7 @@ using System.Diagnostics.CodeAnalysis; using Bit.Core.Entities; -namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers +namespace Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers { public class OrganizationUserCompare : IEqualityComparer { diff --git a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/PolicyCompare.cs b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/PolicyCompare.cs similarity index 89% rename from test/Core.Test/Repositories/EntityFramework/EqualityComparers/PolicyCompare.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/PolicyCompare.cs index 87d847f5d..758675c5a 100644 --- a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/PolicyCompare.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/PolicyCompare.cs @@ -1,7 +1,7 @@ using System.Diagnostics.CodeAnalysis; using Bit.Core.Entities; -namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers +namespace Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers { public class PolicyCompare : IEqualityComparer { diff --git a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/SendCompare.cs b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/SendCompare.cs similarity index 91% rename from test/Core.Test/Repositories/EntityFramework/EqualityComparers/SendCompare.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/SendCompare.cs index 98bc58253..705799779 100644 --- a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/SendCompare.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/SendCompare.cs @@ -1,7 +1,7 @@ using System.Diagnostics.CodeAnalysis; using Bit.Core.Entities; -namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers +namespace Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers { public class SendCompare : IEqualityComparer { diff --git a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/SsoConfigCompare.cs b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/SsoConfigCompare.cs similarity index 85% rename from test/Core.Test/Repositories/EntityFramework/EqualityComparers/SsoConfigCompare.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/SsoConfigCompare.cs index 86213134a..8d6accd86 100644 --- a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/SsoConfigCompare.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/SsoConfigCompare.cs @@ -1,7 +1,7 @@ using System.Diagnostics.CodeAnalysis; using Bit.Core.Entities; -namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers +namespace Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers { public class SsoConfigCompare : IEqualityComparer { diff --git a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/SsoUserCompare.cs b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/SsoUserCompare.cs similarity index 82% rename from test/Core.Test/Repositories/EntityFramework/EqualityComparers/SsoUserCompare.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/SsoUserCompare.cs index 373cbdb21..a50054514 100644 --- a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/SsoUserCompare.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/SsoUserCompare.cs @@ -1,7 +1,7 @@ using System.Diagnostics.CodeAnalysis; using Bit.Core.Entities; -namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers +namespace Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers { public class SsoUserCompare : IEqualityComparer { diff --git a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/TaxRateCompare.cs b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/TaxRateCompare.cs similarity index 86% rename from test/Core.Test/Repositories/EntityFramework/EqualityComparers/TaxRateCompare.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/TaxRateCompare.cs index 34e851459..c2305b959 100644 --- a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/TaxRateCompare.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/TaxRateCompare.cs @@ -1,7 +1,7 @@ using System.Diagnostics.CodeAnalysis; using Bit.Core.Entities; -namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers +namespace Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers { public class TaxRateCompare : IEqualityComparer { diff --git a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/TransactionCompare.cs b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/TransactionCompare.cs similarity index 89% rename from test/Core.Test/Repositories/EntityFramework/EqualityComparers/TransactionCompare.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/TransactionCompare.cs index d5ce5dd91..2ce594ec4 100644 --- a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/TransactionCompare.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/TransactionCompare.cs @@ -1,7 +1,7 @@ using System.Diagnostics.CodeAnalysis; using Bit.Core.Entities; -namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers +namespace Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers { public class TransactionCompare : IEqualityComparer { diff --git a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/UserCompare.cs b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/UserCompare.cs similarity index 95% rename from test/Core.Test/Repositories/EntityFramework/EqualityComparers/UserCompare.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/UserCompare.cs index a7c88161e..311d4a01f 100644 --- a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/UserCompare.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/UserCompare.cs @@ -1,7 +1,7 @@ using System.Diagnostics.CodeAnalysis; using Bit.Core.Entities; -namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers +namespace Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers { public class UserCompare : IEqualityComparer { diff --git a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/UserKdfInformation.cs b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/UserKdfInformation.cs similarity index 85% rename from test/Core.Test/Repositories/EntityFramework/EqualityComparers/UserKdfInformation.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/UserKdfInformation.cs index 34b3e7e9c..143903de3 100644 --- a/test/Core.Test/Repositories/EntityFramework/EqualityComparers/UserKdfInformation.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/EqualityComparers/UserKdfInformation.cs @@ -1,7 +1,7 @@ using System.Diagnostics.CodeAnalysis; using Bit.Core.Models.Data; -namespace Bit.Core.Test.Repositories.EntityFramework.EqualityComparers +namespace Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers { public class UserKdfInformationCompare : IEqualityComparer { diff --git a/test/Core.Test/Repositories/EntityFramework/FolderRepositoryTests.cs b/test/Infrastructure.EFIntegration.Test/Repositories/FolderRepositoryTests.cs similarity index 89% rename from test/Core.Test/Repositories/EntityFramework/FolderRepositoryTests.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/FolderRepositoryTests.cs index 772ff495e..ae3f4fe9b 100644 --- a/test/Core.Test/Repositories/EntityFramework/FolderRepositoryTests.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/FolderRepositoryTests.cs @@ -1,12 +1,12 @@ using Bit.Core.Entities; using Bit.Core.Test.AutoFixture.Attributes; -using Bit.Core.Test.AutoFixture.FolderFixtures; -using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture; +using Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers; using Xunit; using EfRepo = Bit.Infrastructure.EntityFramework.Repositories; using SqlRepo = Bit.Infrastructure.Dapper.Repositories; -namespace Bit.Core.Test.Repositories.EntityFramework +namespace Bit.Infrastructure.EFIntegration.Test.Repositories { public class FolderRepositoryTests { diff --git a/test/Core.Test/Repositories/EntityFramework/InstallationRepositoryTests.cs b/test/Infrastructure.EFIntegration.Test/Repositories/InstallationRepositoryTests.cs similarity index 87% rename from test/Core.Test/Repositories/EntityFramework/InstallationRepositoryTests.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/InstallationRepositoryTests.cs index b7579226e..90b8d5bbc 100644 --- a/test/Core.Test/Repositories/EntityFramework/InstallationRepositoryTests.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/InstallationRepositoryTests.cs @@ -1,12 +1,12 @@ using Bit.Core.Entities; using Bit.Core.Test.AutoFixture.Attributes; -using Bit.Core.Test.AutoFixture.InstallationFixtures; -using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture; +using Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers; using Xunit; using EfRepo = Bit.Infrastructure.EntityFramework.Repositories; using SqlRepo = Bit.Infrastructure.Dapper.Repositories; -namespace Bit.Core.Test.Repositories.EntityFramework +namespace Bit.Infrastructure.EFIntegration.Test.Repositories { public class InstallationRepositoryTests { diff --git a/test/Core.Test/Repositories/EntityFramework/OrganizationRepositoryTests.cs b/test/Infrastructure.EFIntegration.Test/Repositories/OrganizationRepositoryTests.cs similarity index 97% rename from test/Core.Test/Repositories/EntityFramework/OrganizationRepositoryTests.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/OrganizationRepositoryTests.cs index 1151db6ac..eb6713afb 100644 --- a/test/Core.Test/Repositories/EntityFramework/OrganizationRepositoryTests.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/OrganizationRepositoryTests.cs @@ -1,13 +1,13 @@ using Bit.Core.Models.Data.Organizations; using Bit.Core.Test.AutoFixture.Attributes; -using Bit.Core.Test.AutoFixture.OrganizationFixtures; -using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture; +using Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers; using Xunit; using EfRepo = Bit.Infrastructure.EntityFramework.Repositories; using Organization = Bit.Core.Entities.Organization; using SqlRepo = Bit.Infrastructure.Dapper.Repositories; -namespace Bit.Core.Test.Repositories.EntityFramework +namespace Bit.Infrastructure.EFIntegration.Test.Repositories { public class OrganizationRepositoryTests { diff --git a/test/Core.Test/Repositories/EntityFramework/OrganizationSponsorshipRepositoryTests.cs b/test/Infrastructure.EFIntegration.Test/Repositories/OrganizationSponsorshipRepositoryTests.cs similarity index 97% rename from test/Core.Test/Repositories/EntityFramework/OrganizationSponsorshipRepositoryTests.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/OrganizationSponsorshipRepositoryTests.cs index 056c2b330..29482df29 100644 --- a/test/Core.Test/Repositories/EntityFramework/OrganizationSponsorshipRepositoryTests.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/OrganizationSponsorshipRepositoryTests.cs @@ -1,12 +1,12 @@ using Bit.Core.Entities; using Bit.Core.Test.AutoFixture.Attributes; -using Bit.Core.Test.AutoFixture.OrganizationSponsorshipFixtures; -using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture; +using Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers; using Xunit; using EfRepo = Bit.Infrastructure.EntityFramework.Repositories; using SqlRepo = Bit.Infrastructure.Dapper.Repositories; -namespace Bit.Core.Test.Repositories.EntityFramework +namespace Bit.Infrastructure.EFIntegration.Test.Repositories { public class OrganizationSponsorshipRepositoryTests { diff --git a/test/Core.Test/Repositories/EntityFramework/OrganizationUserRepositoryTests.cs b/test/Infrastructure.EFIntegration.Test/Repositories/OrganizationUserRepositoryTests.cs similarity index 97% rename from test/Core.Test/Repositories/EntityFramework/OrganizationUserRepositoryTests.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/OrganizationUserRepositoryTests.cs index 910d99de2..34f1c6f4b 100644 --- a/test/Core.Test/Repositories/EntityFramework/OrganizationUserRepositoryTests.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/OrganizationUserRepositoryTests.cs @@ -1,13 +1,13 @@ using Bit.Core.Entities; using Bit.Core.Test.AutoFixture.Attributes; -using Bit.Core.Test.AutoFixture.OrganizationUserFixtures; -using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture; +using Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers; using Xunit; using EfRepo = Bit.Infrastructure.EntityFramework.Repositories; using OrganizationUser = Bit.Core.Entities.OrganizationUser; using SqlRepo = Bit.Infrastructure.Dapper.Repositories; -namespace Bit.Core.Test.Repositories.EntityFramework +namespace Bit.Infrastructure.EFIntegration.Test.Repositories { public class OrganizationUserRepositoryTests { diff --git a/test/Core.Test/Repositories/EntityFramework/PolicyRepositoryTests.cs b/test/Infrastructure.EFIntegration.Test/Repositories/PolicyRepositoryTests.cs similarity index 97% rename from test/Core.Test/Repositories/EntityFramework/PolicyRepositoryTests.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/PolicyRepositoryTests.cs index 57265a944..d013de430 100644 --- a/test/Core.Test/Repositories/EntityFramework/PolicyRepositoryTests.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/PolicyRepositoryTests.cs @@ -5,14 +5,14 @@ using Bit.Core.Enums; using Bit.Core.Models.Data; using Bit.Core.Repositories; using Bit.Core.Test.AutoFixture.Attributes; -using Bit.Core.Test.AutoFixture.PolicyFixtures; -using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture; +using Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers; using Xunit; using EfRepo = Bit.Infrastructure.EntityFramework.Repositories; using Policy = Bit.Core.Entities.Policy; using SqlRepo = Bit.Infrastructure.Dapper.Repositories; -namespace Bit.Core.Test.Repositories.EntityFramework +namespace Bit.Infrastructure.EFIntegration.Test.Repositories { public class PolicyRepositoryTests { diff --git a/test/Core.Test/Repositories/EntityFramework/SendRepositoryTests.cs b/test/Infrastructure.EFIntegration.Test/Repositories/SendRepositoryTests.cs similarity index 92% rename from test/Core.Test/Repositories/EntityFramework/SendRepositoryTests.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/SendRepositoryTests.cs index 6871bf549..6158be3ee 100644 --- a/test/Core.Test/Repositories/EntityFramework/SendRepositoryTests.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/SendRepositoryTests.cs @@ -1,12 +1,12 @@ using Bit.Core.Entities; using Bit.Core.Test.AutoFixture.Attributes; -using Bit.Core.Test.AutoFixture.SendFixtures; -using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture; +using Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers; using Xunit; using EfRepo = Bit.Infrastructure.EntityFramework.Repositories; using SqlRepo = Bit.Infrastructure.Dapper.Repositories; -namespace Bit.Core.Test.Repositories.EntityFramework +namespace Bit.Infrastructure.EFIntegration.Test.Repositories { public class SendRepositoryTests { diff --git a/test/Core.Test/Repositories/EntityFramework/SsoConfigRepositoryTests.cs b/test/Infrastructure.EFIntegration.Test/Repositories/SsoConfigRepositoryTests.cs similarity index 98% rename from test/Core.Test/Repositories/EntityFramework/SsoConfigRepositoryTests.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/SsoConfigRepositoryTests.cs index 245f617c8..c36c9efb4 100644 --- a/test/Core.Test/Repositories/EntityFramework/SsoConfigRepositoryTests.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/SsoConfigRepositoryTests.cs @@ -1,12 +1,12 @@ using Bit.Core.Entities; using Bit.Core.Test.AutoFixture.Attributes; -using Bit.Core.Test.AutoFixture.SsoConfigFixtures; -using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture; +using Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers; using Xunit; using EfRepo = Bit.Infrastructure.EntityFramework.Repositories; using SqlRepo = Bit.Infrastructure.Dapper.Repositories; -namespace Bit.Core.Test.Repositories.EntityFramework +namespace Bit.Infrastructure.EFIntegration.Test.Repositories { public class SsoConfigRepositoryTests { diff --git a/test/Core.Test/Repositories/EntityFramework/SsoUserRepositoryTests.cs b/test/Infrastructure.EFIntegration.Test/Repositories/SsoUserRepositoryTests.cs similarity index 97% rename from test/Core.Test/Repositories/EntityFramework/SsoUserRepositoryTests.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/SsoUserRepositoryTests.cs index b4f4e53c1..9e9b66eea 100644 --- a/test/Core.Test/Repositories/EntityFramework/SsoUserRepositoryTests.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/SsoUserRepositoryTests.cs @@ -1,12 +1,12 @@ using Bit.Core.Entities; using Bit.Core.Test.AutoFixture.Attributes; -using Bit.Core.Test.AutoFixture.SsoUserFixtures; -using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture; +using Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers; using Xunit; using EfRepo = Bit.Infrastructure.EntityFramework.Repositories; using SqlRepo = Bit.Infrastructure.Dapper.Repositories; -namespace Bit.Core.Test.Repositories.EntityFramework +namespace Bit.Infrastructure.EFIntegration.Test.Repositories { public class SsoUserRepositoryTests { diff --git a/test/Core.Test/Repositories/EntityFramework/TaxRateRepositoryTests.cs b/test/Infrastructure.EFIntegration.Test/Repositories/TaxRateRepositoryTests.cs similarity index 87% rename from test/Core.Test/Repositories/EntityFramework/TaxRateRepositoryTests.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/TaxRateRepositoryTests.cs index 906947abd..d5616f78e 100644 --- a/test/Core.Test/Repositories/EntityFramework/TaxRateRepositoryTests.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/TaxRateRepositoryTests.cs @@ -1,12 +1,12 @@ using Bit.Core.Entities; using Bit.Core.Test.AutoFixture.Attributes; -using Bit.Core.Test.AutoFixture.TaxRateFixtures; -using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture; +using Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers; using Xunit; using EfRepo = Bit.Infrastructure.EntityFramework.Repositories; using SqlRepo = Bit.Infrastructure.Dapper.Repositories; -namespace Bit.Core.Test.Repositories.EntityFramework +namespace Bit.Infrastructure.EFIntegration.Test.Repositories { public class TaxRateRepositoryTests { diff --git a/test/Core.Test/Repositories/EntityFramework/TransactionRepositoryTests.cs b/test/Infrastructure.EFIntegration.Test/Repositories/TransactionRepositoryTests.cs similarity index 92% rename from test/Core.Test/Repositories/EntityFramework/TransactionRepositoryTests.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/TransactionRepositoryTests.cs index 6d8a4544b..563a0377e 100644 --- a/test/Core.Test/Repositories/EntityFramework/TransactionRepositoryTests.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/TransactionRepositoryTests.cs @@ -1,12 +1,12 @@ using Bit.Core.Entities; using Bit.Core.Test.AutoFixture.Attributes; -using Bit.Core.Test.AutoFixture.TransactionFixtures; -using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture; +using Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers; using Xunit; using EfRepo = Bit.Infrastructure.EntityFramework.Repositories; using SqlRepo = Bit.Infrastructure.Dapper.Repositories; -namespace Bit.Core.Test.Repositories.EntityFramework +namespace Bit.Infrastructure.EFIntegration.Test.Repositories { public class TransactionRepositoryTests { diff --git a/test/Core.Test/Repositories/EntityFramework/UserRepositoryTests.cs b/test/Infrastructure.EFIntegration.Test/Repositories/UserRepositoryTests.cs similarity index 98% rename from test/Core.Test/Repositories/EntityFramework/UserRepositoryTests.cs rename to test/Infrastructure.EFIntegration.Test/Repositories/UserRepositoryTests.cs index 55138f71f..d362cb954 100644 --- a/test/Core.Test/Repositories/EntityFramework/UserRepositoryTests.cs +++ b/test/Infrastructure.EFIntegration.Test/Repositories/UserRepositoryTests.cs @@ -1,13 +1,13 @@ using Bit.Core.Entities; using Bit.Core.Models.Data; using Bit.Core.Test.AutoFixture.Attributes; -using Bit.Core.Test.AutoFixture.UserFixtures; -using Bit.Core.Test.Repositories.EntityFramework.EqualityComparers; +using Bit.Infrastructure.EFIntegration.Test.AutoFixture; +using Bit.Infrastructure.EFIntegration.Test.Repositories.EqualityComparers; using Xunit; using EfRepo = Bit.Infrastructure.EntityFramework.Repositories; using SqlRepo = Bit.Infrastructure.Dapper.Repositories; -namespace Bit.Core.Test.Repositories.EntityFramework +namespace Bit.Infrastructure.EFIntegration.Test.Repositories { public class UserRepositoryTests { diff --git a/test/Infrastructure.EFIntegration.Test/packages.lock.json b/test/Infrastructure.EFIntegration.Test/packages.lock.json new file mode 100644 index 000000000..065b7384b --- /dev/null +++ b/test/Infrastructure.EFIntegration.Test/packages.lock.json @@ -0,0 +1,2993 @@ +{ + "version": 1, + "dependencies": { + "net6.0": { + "AutoFixture.AutoNSubstitute": { + "type": "Direct", + "requested": "[4.17.0, )", + "resolved": "4.17.0", + "contentHash": "iWsRiDQ7T8s6F4mvYbSvPTq0GDtxJD6D+E1Fu9gVbHUvJiNikC1yIDNTH+3tQF7RK864HH/3R8ETj9m2X8UXvg==", + "dependencies": { + "AutoFixture": "4.17.0", + "NSubstitute": "[2.0.3, 5.0.0)" + } + }, + "AutoFixture.Xunit2": { + "type": "Direct", + "requested": "[4.17.0, )", + "resolved": "4.17.0", + "contentHash": "lrURL/LhJLPkn2tSPUEW8Wscr5LoV2Mr8A+ikn5gwkofex3o7qWUsBswlLw+KCA7EOpeqwZOldp3k91zDF+48Q==", + "dependencies": { + "AutoFixture": "4.17.0", + "xunit.extensibility.core": "[2.2.0, 3.0.0)" + } + }, + "coverlet.collector": { + "type": "Direct", + "requested": "[3.1.2, )", + "resolved": "3.1.2", + "contentHash": "wuLDIDKD5XMt0A7lE31JPenT7QQwZPFkP5rRpdJeblyXZ9MGLI8rYjvm5fvAKln+2/X+4IxxQDxBtwdrqKNLZw==" + }, + "Microsoft.NET.Test.Sdk": { + "type": "Direct", + "requested": "[17.1.0, )", + "resolved": "17.1.0", + "contentHash": "MVKvOsHIfrZrvg+8aqOF5dknO/qWrR1sWZjMPQ1N42MKMlL/zQL30FQFZxPeWfmVKWUWAOmAHYsqB5OerTKziw==", + "dependencies": { + "Microsoft.CodeCoverage": "17.1.0", + "Microsoft.TestPlatform.TestHost": "17.1.0" + } + }, + "Moq": { + "type": "Direct", + "requested": "[4.17.2, )", + "resolved": "4.17.2", + "contentHash": "HytUPJ3/uks2UgJ9hIcyXm3YxpFAR4OJzbQwTHltbKGun3lFLhEHs97hiiPj1dY8jV/kasXeihTzDxct6Zf3iQ==", + "dependencies": { + "Castle.Core": "4.4.1", + "System.Threading.Tasks.Extensions": "4.5.4" + } + }, + "NSubstitute": { + "type": "Direct", + "requested": "[4.3.0, )", + "resolved": "4.3.0", + "contentHash": "c0nY4GGSe5KidQemTk+CTuDLdv7hLvHHftH6vRbKoYb6bw07wzJ6DdgA0NWrwbW3xjmp/ByEskCsUEWAaMC20g==", + "dependencies": { + "Castle.Core": "4.4.1" + } + }, + "xunit": { + "type": "Direct", + "requested": "[2.4.1, )", + "resolved": "2.4.1", + "contentHash": "XNR3Yz9QTtec16O0aKcO6+baVNpXmOnPUxDkCY97J+8krUYxPvXT1szYYEUdKk4sB8GOI2YbAjRIOm8ZnXRfzQ==", + "dependencies": { + "xunit.analyzers": "0.10.0", + "xunit.assert": "[2.4.1]", + "xunit.core": "[2.4.1]" + } + }, + "xunit.runner.visualstudio": { + "type": "Direct", + "requested": "[2.4.3, )", + "resolved": "2.4.3", + "contentHash": "kZZSmOmKA8OBlAJaquPXnJJLM9RwQ27H7BMVqfMLUcTi9xHinWGJiWksa3D4NEtz0wZ/nxd2mogObvBgJKCRhQ==" + }, + "AspNetCoreRateLimit": { + "type": "Transitive", + "resolved": "4.0.2", + "contentHash": "FzXAJFgaRjKfnKAVwjEEC7OAGQM5v/I3sQw2tpzmR0yHTCGhUAxZzDuwZiXTk8XLrI6vovzkqKkfKmiDl3nYMg==", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.1", + "Microsoft.Extensions.Options": "6.0.0", + "Newtonsoft.Json": "13.0.1" + } + }, + "AspNetCoreRateLimit.Redis": { + "type": "Transitive", + "resolved": "1.0.1", + "contentHash": "CsSGy/7SXt6iBOKg0xCvsRjb/ZHshbtr2Of1MHc912L2sLnZqadUrTboyXZC+ZlgEBeJ14GyjPTu8ZyfEhGUnw==", + "dependencies": { + "AspNetCoreRateLimit": "4.0.2", + "StackExchange.Redis": "2.5.43" + } + }, + "AutoFixture": { + "type": "Transitive", + "resolved": "4.17.0", + "contentHash": "efMRCG3Epc4QDELwdmQGf6/caQUleRXPRCnLAq5gLMpTuOTcOQWV12vEJ8qo678Rj97/TjjxHYu/34rGkXdVAA==", + "dependencies": { + "Fare": "[2.1.1, 3.0.0)", + "System.ComponentModel.Annotations": "4.3.0" + } + }, + "AutoMapper": { + "type": "Transitive", + "resolved": "11.0.0", + "contentHash": "+596AnKykYCk9RxXCEF4GYuapSebQtFVvIA1oVG1rrRkCLAC7AkWehJ0brCfYUbdDW3v1H/p0W3hob7JoXGjMw==", + "dependencies": { + "Microsoft.CSharp": "4.7.0" + } + }, + "AutoMapper.Extensions.Microsoft.DependencyInjection": { + "type": "Transitive", + "resolved": "11.0.0", + "contentHash": "0asw5WxdCFh2OTi9Gv+oKyH9SzxwYQSnO8TV5Dd0GggovILzJW4UimP26JAcxc3yB5NnC5urooZ1BBs8ElpiBw==", + "dependencies": { + "AutoMapper": "11.0.0", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "AWSSDK.Core": { + "type": "Transitive", + "resolved": "3.7.10.11", + "contentHash": "B+M7ggPC0FogATRPQxDXL0eTusCQtXulW4zCuX39yiHV8+u9MEXRytcAw0ZA3zFBYYx6ovl9lklho6OQo1DRRQ==" + }, + "AWSSDK.SimpleEmail": { + "type": "Transitive", + "resolved": "3.7.0.150", + "contentHash": "rc/4ZnISfbgTfqz5/BWqMHBAzk4R09qfe1xkdJf2jXo44Zn2X72W8IiLLweBtmNhL7d8Tcf6UCtOHYkFwxHvug==", + "dependencies": { + "AWSSDK.Core": "[3.7.10.11, 4.0.0)" + } + }, + "AWSSDK.SQS": { + "type": "Transitive", + "resolved": "3.7.2.47", + "contentHash": "RPTVBsY333n+aIEqw148Envx9OQkE1/jhjlioNXDP6BrA3fAPN9A+2HoA02c0KSp/sazXYWg8w/kDL8FchH8Dw==", + "dependencies": { + "AWSSDK.Core": "[3.7.10.11, 4.0.0)" + } + }, + "Azure.Core": { + "type": "Transitive", + "resolved": "1.22.0", + "contentHash": "ze/xRCHSSDe5TIk5vBDbVrauW1EN7UIbnBvIBfMH8KSt/I9+/7yPAjTBDgNBk0IwG6WBV+BBHp4IUtS/PGAQwQ==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "System.Diagnostics.DiagnosticSource": "4.6.0", + "System.Memory.Data": "1.0.2", + "System.Numerics.Vectors": "4.5.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Tasks.Extensions": "4.5.4" + } + }, + "Azure.Extensions.AspNetCore.DataProtection.Blobs": { + "type": "Transitive", + "resolved": "1.2.1", + "contentHash": "wxvkC6DeWThBtaPbsWdicp5Ltya4J8JuhxmZJDQkhnXG7oihfu8RqBV6w/X1nMieuIOq1qQaGTvjx7nEHHfxSQ==", + "dependencies": { + "Azure.Core": "1.14.0", + "Azure.Storage.Blobs": "12.8.0", + "Microsoft.AspNetCore.DataProtection": "2.1.0" + } + }, + "Azure.Identity": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "l1SYfZKOFBuUFG7C2SWHmJcrQQaiXgBdVCycx4vcZQkC6efDVt7mzZ5pfJAFEJDBUq7mjRQ0RPq9ZDGdSswqMg==", + "dependencies": { + "Azure.Core": "1.6.0", + "Microsoft.Identity.Client": "4.22.0", + "Microsoft.Identity.Client.Extensions.Msal": "2.16.5", + "System.Memory": "4.5.3", + "System.Security.Cryptography.ProtectedData": "4.5.0", + "System.Text.Json": "4.6.0", + "System.Threading.Tasks.Extensions": "4.5.2" + } + }, + "Azure.Storage.Blobs": { + "type": "Transitive", + "resolved": "12.11.0", + "contentHash": "50eRjIhY7Q1JN7kT2MSawDKCcwSb7uRZUkz00P/BLjSg47gm2hxUYsnJPyvzCHntYMbOWzrvaVQTwYwXabaR5Q==", + "dependencies": { + "Azure.Storage.Common": "12.10.0", + "System.Text.Json": "4.7.2" + } + }, + "Azure.Storage.Common": { + "type": "Transitive", + "resolved": "12.10.0", + "contentHash": "vYkHGzUkdZTace/cDPZLG+Mh/EoPqQuGxDIBOau9D+XWoDPmuUFGk325aXplkFE4JFGpSwoytNYzk/qBCaiHqg==", + "dependencies": { + "Azure.Core": "1.22.0", + "System.IO.Hashing": "6.0.0" + } + }, + "Azure.Storage.Queues": { + "type": "Transitive", + "resolved": "12.9.0", + "contentHash": "jDiyHtsCUCrWNvZW7SjJnJb46UhpdgQrWCbL8aWpapDHlq9LvbvxYpfLh4dfKAz09QiTznLMIU3i+md9+7GzqQ==", + "dependencies": { + "Azure.Storage.Common": "12.10.0", + "System.Memory.Data": "1.0.2", + "System.Text.Json": "4.7.2" + } + }, + "BitPay.Light": { + "type": "Transitive", + "resolved": "1.0.1907", + "contentHash": "QTTIgXakHrRNQPxNyH7bZ7frm0bI8N6gRDtiqVyKG/QYQ+KfjN70xt0zQ0kO0zf8UBaKuwcV5B7vvpXtzR9ijg==", + "dependencies": { + "Newtonsoft.Json": "12.0.2" + } + }, + "Braintree": { + "type": "Transitive", + "resolved": "5.12.0", + "contentHash": "bV2tsVIvBQeKwULT4qPZUWhxSr8mFwyAAcvLDvDpCU0cMYPHzGSahha+ghUdgGMb317BqL34/Od59n2s3MkhOQ==", + "dependencies": { + "Newtonsoft.Json": "9.0.1", + "System.Xml.XPath.XmlDocument": "4.3.0" + } + }, + "Castle.Core": { + "type": "Transitive", + "resolved": "4.4.1", + "contentHash": "zanbjWC0Y05gbx4eGXkzVycOQqVOFVeCjVsDSyuao9P4mtN1w3WxxTo193NGC7j3o2u3AJRswaoC6hEbnGACnQ==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "System.Collections.Specialized": "4.3.0", + "System.ComponentModel": "4.3.0", + "System.ComponentModel.TypeConverter": "4.3.0", + "System.Diagnostics.TraceSource": "4.3.0", + "System.Dynamic.Runtime": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Xml.XmlDocument": "4.3.0" + } + }, + "Dapper": { + "type": "Transitive", + "resolved": "2.0.123", + "contentHash": "RDFF4rBLLmbpi6pwkY7q/M6UXHRJEOerplDGE5jwEkP/JGJnBauAClYavNKJPW1yOTWRPIyfj4is3EaJxQXILQ==" + }, + "Fare": { + "type": "Transitive", + "resolved": "2.1.1", + "contentHash": "HaI8puqA66YU7/9cK4Sgbs1taUTP1Ssa4QT2PIzqJ7GvAbN1QgkjbRsjH+FSbMh1MJdvS0CIwQNLtFT+KF6KpA==", + "dependencies": { + "NETStandard.Library": "1.6.1" + } + }, + "Fido2": { + "type": "Transitive", + "resolved": "3.0.0-beta2", + "contentHash": "FnNMbK88dyPp0Ww/iMim5g89rSPdqkjQiDiTJJtvxDcEk8JK/eBdTzAl4myNaKS9e8PKrxxddOTrnNja3PHGtQ==", + "dependencies": { + "Fido2.Models": "3.0.0-beta2", + "NSec.Cryptography": "20.2.0", + "System.Formats.Cbor": "5.0.0", + "System.IdentityModel.Tokens.Jwt": "6.6.0" + } + }, + "Fido2.AspNet": { + "type": "Transitive", + "resolved": "3.0.0-beta2", + "contentHash": "qkowZS0WPS26gDG97rwjZObOa/xtFVjSpvWHl3OwWRQ9ZU5xNePXKk2XJWmO2MCQc40idxyEOfA34MMexCHc3w==", + "dependencies": { + "Fido2": "3.0.0-beta2", + "Fido2.Models": "3.0.0-beta2" + } + }, + "Fido2.Models": { + "type": "Transitive", + "resolved": "3.0.0-beta2", + "contentHash": "6ePSMUtqz6lAfDUjDvOONMLugcKiAyz8hzoLSAISk3iDIjBMLMPlZSV3TVZqiY+5SAzC8x61OHNoCODqorucNw==" + }, + "Handlebars.Net": { + "type": "Transitive", + "resolved": "2.1.2", + "contentHash": "p60QyeBYpZmcZdIXRMqs9XySIBaxJ0lj3+QD0EJVr4ybTigOTCumXMMin5dPwjo9At1UwkDZ3gGwa1lmGjG6DA==", + "dependencies": { + "Microsoft.CSharp": "4.7.0" + } + }, + "IdentityModel": { + "type": "Transitive", + "resolved": "4.4.0", + "contentHash": "b18wrIx5wnZlMxAX7oVsE+nDtAJ4hajYlH0xPlaRvo4r/fz08K6pPeZvbiqS9nfNbzfIgLFmNX+FL9qR9ZR5PA==", + "dependencies": { + "Newtonsoft.Json": "11.0.2", + "System.Text.Encodings.Web": "4.7.0" + } + }, + "IdentityModel.AspNetCore.OAuth2Introspection": { + "type": "Transitive", + "resolved": "4.0.1", + "contentHash": "ZNdMZMaj9fqR3j50vYsu+1U3QGd6n8+fqwf+a8mCTcmXGor+HgFDfdq0mM34bsmD6uEgAQup7sv2ZW5kR36dbA==", + "dependencies": { + "IdentityModel": "4.0.0" + } + }, + "IdentityServer4": { + "type": "Transitive", + "resolved": "4.1.2", + "contentHash": "blaxxGuOA7v/w1q+fxn97wZ+x2ecG1ZD4mc/N/ZOXMNeFZZhqv+4LF26Gecyik3nWrJPmbMEtQbLmRsKG8k61w==", + "dependencies": { + "IdentityModel": "4.4.0", + "IdentityServer4.Storage": "4.1.2", + "Microsoft.AspNetCore.Authentication.OpenIdConnect": "3.1.0", + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "5.6.0", + "Newtonsoft.Json": "12.0.2" + } + }, + "IdentityServer4.AccessTokenValidation": { + "type": "Transitive", + "resolved": "3.0.1", + "contentHash": "qu/M6UyN4o9NVep7q545Ms7hYAnsQqSdLbN1Fjjrn4m35lyBfeQPSSNzDryAKHbodyWOQfHaOqKEyMEJQ5Rpgw==", + "dependencies": { + "IdentityModel.AspNetCore.OAuth2Introspection": "4.0.1", + "Microsoft.AspNetCore.Authentication.JwtBearer": "3.0.0" + } + }, + "IdentityServer4.Storage": { + "type": "Transitive", + "resolved": "4.1.2", + "contentHash": "KoSffyZyyeCNTIyJiZnCuPakJ1QbCHlpty6gbWUj/7yl+w0PXIchgmmJnJSvddzBb8iZ2xew/vGlxWUIP17P2g==", + "dependencies": { + "IdentityModel": "4.4.0" + } + }, + "Kralizek.AutoFixture.Extensions.MockHttp": { + "type": "Transitive", + "resolved": "1.2.0", + "contentHash": "6zmks7/5mVczazv910N7V2EdiU6B+rY61lwdgVO0o2iZuTI6KI3T+Hgkrjv0eGOKYucq2OMC+gnAc5Ej2ajoTQ==", + "dependencies": { + "AutoFixture": "4.11.0", + "RichardSzalay.MockHttp": "6.0.0" + } + }, + "libsodium": { + "type": "Transitive", + "resolved": "1.0.18", + "contentHash": "Ajv3AR9Qg/C4SQcE2ONx/UieeKnn5lSvVNc6egC3p6NP6qjZzWJ+Xg2vJURNYjkpHui/KctBwQjMPqpZK8/CHA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1" + } + }, + "linq2db": { + "type": "Transitive", + "resolved": "3.7.0", + "contentHash": "iDous2TbSchtALnTLNXQnprmNZF4GrXas0MBz6ZHWkSdilSJjcf26qFM7Qf98Mny0OXHEmNXG/jtIDhoVJ5KmQ==", + "dependencies": { + "System.ComponentModel.Annotations": "4.7.0" + } + }, + "linq2db.EntityFrameworkCore": { + "type": "Transitive", + "resolved": "6.7.1", + "contentHash": "Bb25vUDyFw3nKnf7KY+bauwKGD0hdM7/syodS+IgHdWlcbH9g7tHxYmMa9+DNuL0yy6DFvP6Q3BkClm7zbQdAw==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Relational": "6.0.0", + "linq2db": "3.7.0" + } + }, + "MailKit": { + "type": "Transitive", + "resolved": "3.2.0", + "contentHash": "5MTpTqmjqT7HPvYbP3HozRZMth5vSaT0ReN0iM3rAM4CgLI/R1qqtLDDNWGnFFIlcNzeJkZQRJJMkv8cgzWBbA==", + "dependencies": { + "MimeKit": "3.2.0" + } + }, + "Microsoft.AspNetCore.Authentication.JwtBearer": { + "type": "Transitive", + "resolved": "6.0.4", + "contentHash": "joDS3+lD1i9qcdFLWP4D316t3bHpezmTNOzbMIf9ZcRPX4QTuiUutZcQn/kZplf3BiLHqwUChZXxPjCAMKaKAQ==", + "dependencies": { + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "6.10.0" + } + }, + "Microsoft.AspNetCore.Authentication.OpenIdConnect": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "O1cAQYUTU8EfRqwc5/rfTns4E4hKlFlg59fuKRrST+PzsxI6H07KqRN/JjdYhAuVYxF8jPnIGbj+zuc5paOWUw==", + "dependencies": { + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "5.5.0" + } + }, + "Microsoft.AspNetCore.Cryptography.Internal": { + "type": "Transitive", + "resolved": "6.0.4", + "contentHash": "/0FX1OqckMmXAAlsHgBFNymTZuq4nuAOMhiwm6e8CEMi2aOjnMYwiMc7mtvpGTAO0O4C0zwx+iaChxDgvqit2A==" + }, + "Microsoft.AspNetCore.Cryptography.KeyDerivation": { + "type": "Transitive", + "resolved": "6.0.4", + "contentHash": "1Lbwrxg/HRY/nbrkcrB3EUXUYQN8Tkw7Ktgb6/2on2P7ybT5aM59H05gk+OBC8ZTBxwdle9e1tyT3wxEYKw5xw==", + "dependencies": { + "Microsoft.AspNetCore.Cryptography.Internal": "6.0.4" + } + }, + "Microsoft.AspNetCore.DataProtection": { + "type": "Transitive", + "resolved": "2.1.0", + "contentHash": "G+UoMHL0xiyFh30wkL7Bv/XL6eugTAKYhLPS53k1/Me1bYRwOOw+8VL/q0ppq3/yMzpHX+MkExaCTDlYl48FgA==", + "dependencies": { + "Microsoft.AspNetCore.Cryptography.Internal": "2.1.0", + "Microsoft.AspNetCore.DataProtection.Abstractions": "2.1.0", + "Microsoft.AspNetCore.Hosting.Abstractions": "2.1.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.1.0", + "Microsoft.Extensions.Logging.Abstractions": "2.1.0", + "Microsoft.Extensions.Options": "2.1.0", + "Microsoft.Win32.Registry": "4.5.0", + "System.Security.Cryptography.Xml": "4.5.0", + "System.Security.Principal.Windows": "4.5.0" + } + }, + "Microsoft.AspNetCore.DataProtection.Abstractions": { + "type": "Transitive", + "resolved": "2.1.0", + "contentHash": "2+HVDhUqrnV9+EJNEewSy+Gk4hOVPzLPMpFDZI7kuH7NWxtbNkI6A6gT5lO2/kEPMyM8/iLWtohbOwjpC9rHVw==" + }, + "Microsoft.AspNetCore.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "2.1.0", + "contentHash": "1TQgBfd/NPZLR2o/h6l5Cml2ZCF5hsyV4h9WEwWwAIavrbdTnaNozGGcTOd4AOgQvogMM9UM1ajflm9Cwd0jLQ==", + "dependencies": { + "Microsoft.AspNetCore.Hosting.Server.Abstractions": "2.1.0", + "Microsoft.AspNetCore.Http.Abstractions": "2.1.0", + "Microsoft.Extensions.Hosting.Abstractions": "2.1.0" + } + }, + "Microsoft.AspNetCore.Hosting.Server.Abstractions": { + "type": "Transitive", + "resolved": "2.1.0", + "contentHash": "YTKMi2vHX6P+WHEVpW/DS+eFHnwivCSMklkyamcK1ETtc/4j8H3VR0kgW8XIBqukNxhD8k5wYt22P7PhrWSXjQ==", + "dependencies": { + "Microsoft.AspNetCore.Http.Features": "2.1.0", + "Microsoft.Extensions.Configuration.Abstractions": "2.1.0" + } + }, + "Microsoft.AspNetCore.Http.Abstractions": { + "type": "Transitive", + "resolved": "2.1.0", + "contentHash": "vbFDyKsSYBnxl3+RABtN79b0vsTcG66fDY8vD6Nqvu9uLtSej70Q5NcbGlnN6bJpZci5orSdgFTHMhBywivDPg==", + "dependencies": { + "Microsoft.AspNetCore.Http.Features": "2.1.0", + "System.Text.Encodings.Web": "4.5.0" + } + }, + "Microsoft.AspNetCore.Http.Features": { + "type": "Transitive", + "resolved": "2.1.0", + "contentHash": "UmkUePxRjsQW0j5euFFscBwjvTu25b8+qIK/2fI3GvcqQ+mkwgbWNAT8b/Gkoei1m2bTWC07lSdutuRDPPLcJA==", + "dependencies": { + "Microsoft.Extensions.Primitives": "2.1.0" + } + }, + "Microsoft.Azure.Amqp": { + "type": "Transitive", + "resolved": "2.4.11", + "contentHash": "7x5fu2f6TLQDDJS0sY5qW8/daFwJaY9O75YvU8RcUfRzbug+9YGjXUBxoRrprgyi0jxdBAMQL05p1s783SOSFQ==", + "dependencies": { + "System.Net.WebSockets.Client": "4.0.2", + "System.Runtime.Serialization.Primitives": "4.1.1" + } + }, + "Microsoft.Azure.Cosmos": { + "type": "Transitive", + "resolved": "3.24.0", + "contentHash": "QpUe5ho6OzlXwgcJVgAmOR7t3XLC9RI4t8T96RZY61pSOIllPOJdp30L0LwA16tKcqi5r2KayEgWO/MS9fh/6A==", + "dependencies": { + "Azure.Core": "1.3.0", + "Microsoft.Bcl.AsyncInterfaces": "1.0.0", + "Microsoft.Bcl.HashCode": "1.1.0", + "Newtonsoft.Json": "10.0.2", + "System.Buffers": "4.5.1", + "System.Collections.Immutable": "1.7.0", + "System.Configuration.ConfigurationManager": "4.7.0", + "System.Memory": "4.5.4", + "System.Numerics.Vectors": "4.5.0", + "System.Runtime.CompilerServices.Unsafe": "4.5.3", + "System.Threading.Tasks.Extensions": "4.5.4", + "System.ValueTuple": "4.5.0" + } + }, + "Microsoft.Azure.Cosmos.Table": { + "type": "Transitive", + "resolved": "1.0.8", + "contentHash": "ToeEd1yijM7nQfLYvdFLG//RjKPmfqm45eOm86UAKrxtyGI/CXqP8iL74mzBp6mZ9A/K/ZYA2fVdpH0xHR5Keg==", + "dependencies": { + "Microsoft.Azure.DocumentDB.Core": "2.11.2", + "Microsoft.OData.Core": "7.6.4", + "Newtonsoft.Json": "10.0.2" + } + }, + "Microsoft.Azure.DocumentDB.Core": { + "type": "Transitive", + "resolved": "2.11.2", + "contentHash": "cA8eWrTFbYrkHrz095x4CUGb7wqQgA1slzFZCYexhNwz6Zcn3v+S1yvWMGwGRmRjT0MKU9tYdFWgLfT0OjSycw==", + "dependencies": { + "NETStandard.Library": "1.6.0", + "Newtonsoft.Json": "9.0.1", + "System.Collections.Immutable": "1.3.0", + "System.Collections.NonGeneric": "4.0.1", + "System.Collections.Specialized": "4.0.1", + "System.Diagnostics.TraceSource": "4.0.0", + "System.Dynamic.Runtime": "4.0.11", + "System.Linq.Queryable": "4.0.1", + "System.Net.Http": "4.3.4", + "System.Net.NameResolution": "4.0.0", + "System.Net.NetworkInformation": "4.1.0", + "System.Net.Requests": "4.0.11", + "System.Net.Security": "4.3.2", + "System.Net.WebHeaderCollection": "4.0.1", + "System.Runtime.Serialization.Primitives": "4.1.1", + "System.Security.SecureString": "4.0.0" + } + }, + "Microsoft.Azure.NotificationHubs": { + "type": "Transitive", + "resolved": "4.1.0", + "contentHash": "C2SssjX3e6/HIo1OCImQDDVOn64d1+gkgEmgxJryzkwixyivJHWH2YIgxZs33pyzVQcZWx5PR2tqLkQ7riSq8Q==", + "dependencies": { + "Microsoft.Extensions.Caching.Memory": "3.1.8", + "Newtonsoft.Json": "12.0.3" + } + }, + "Microsoft.Azure.ServiceBus": { + "type": "Transitive", + "resolved": "5.2.0", + "contentHash": "wyZNJggyFNtKxd+HgvcTiuRYuTjDGi+pgE4RcBvFbfvNiarKr5AOlE4Ne7on1eUJZuMuEa19wN5dj694HlP60A==", + "dependencies": { + "Microsoft.Azure.Amqp": "2.4.11", + "Microsoft.Azure.Services.AppAuthentication": "[1.0.3, 2.0.0)", + "Newtonsoft.Json": "10.0.3", + "System.Diagnostics.DiagnosticSource": "4.5.1", + "System.IdentityModel.Tokens.Jwt": "5.4.0" + } + }, + "Microsoft.Azure.Services.AppAuthentication": { + "type": "Transitive", + "resolved": "1.0.3", + "contentHash": "ywpQaK1klu1IoX4VUf+TBmU4kR71aWNI6O5rEIJU8z28L2xhJhnIm7k2Nf1Zu/PygeuOtt5g0QPCk5+lLltbeQ==", + "dependencies": { + "Microsoft.IdentityModel.Clients.ActiveDirectory": "3.14.2", + "NETStandard.Library": "1.6.1", + "System.Diagnostics.Process": "4.3.0" + } + }, + "Microsoft.Bcl.AsyncInterfaces": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "yuvf07qFWFqtK3P/MRkEKLhn5r2UbSpVueRziSqj0yJQIKFwG1pq9mOayK3zE5qZCTs0CbrwL9M6R8VwqyGy2w==" + }, + "Microsoft.Bcl.HashCode": { + "type": "Transitive", + "resolved": "1.1.0", + "contentHash": "J2G1k+u5unBV+aYcwxo94ip16Rkp65pgWFb0R6zwJipzWNMgvqlWeuI7/+R+e8bob66LnSG+llLJ+z8wI94cHg==" + }, + "Microsoft.CodeCoverage": { + "type": "Transitive", + "resolved": "17.1.0", + "contentHash": "0N/ZJ71ncCxQWhgtkEYKOgu2oMHa8h1tsOUbhmIKXF8UwtSUCe4vHAsJ3DVcNWRwNfQzSTy263ZE+QF6MdIhhQ==" + }, + "Microsoft.CSharp": { + "type": "Transitive", + "resolved": "4.7.0", + "contentHash": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==" + }, + "Microsoft.Data.SqlClient": { + "type": "Transitive", + "resolved": "4.1.0", + "contentHash": "o/sIRlcKEcI9vg5z9USqJ/VCxtUUBYEOXYr4TrkMNu+gGBh0KfUi06Jqpe+xZgeoxcqYruV9dLOn046uFA4vHQ==", + "dependencies": { + "Azure.Identity": "1.3.0", + "Microsoft.Data.SqlClient.SNI.runtime": "4.0.0", + "Microsoft.Identity.Client": "4.22.0", + "Microsoft.IdentityModel.JsonWebTokens": "6.8.0", + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "6.8.0", + "Microsoft.Win32.Registry": "5.0.0", + "System.Buffers": "4.5.1", + "System.Configuration.ConfigurationManager": "5.0.0", + "System.Diagnostics.DiagnosticSource": "5.0.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime.Caching": "5.0.0", + "System.Security.Cryptography.Cng": "5.0.0", + "System.Security.Principal.Windows": "5.0.0", + "System.Text.Encoding.CodePages": "5.0.0", + "System.Text.Encodings.Web": "4.7.2" + } + }, + "Microsoft.Data.SqlClient.SNI.runtime": { + "type": "Transitive", + "resolved": "4.0.0", + "contentHash": "wtLlRwQX7YoBUYm25xBjJ3UsuLgycme1xXqDn8t3S5kPCWiZrx8uOkyZHLKzH4kkCiQ9m2/J5JeCKNRbZNn3Qg==" + }, + "Microsoft.EntityFrameworkCore": { + "type": "Transitive", + "resolved": "6.0.4", + "contentHash": "gTh3SJsF5WNjEmG32kYc3U4tjeTIv55QOrwHAJcF/xtrIVMteDHMArGC35N0dw86WFY0v8yFkKYKOIOln4jkfQ==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.4", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.4", + "Microsoft.Extensions.Caching.Memory": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "System.Collections.Immutable": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.EntityFrameworkCore.Abstractions": { + "type": "Transitive", + "resolved": "6.0.4", + "contentHash": "jycTQF0FUJp10cGWBmtsyFhQNeISU9CltDRKCaNiX4QRSEFzgRgaFN4vAFK0T+G5etmXugyddijE4NWCGtgznQ==" + }, + "Microsoft.EntityFrameworkCore.Analyzers": { + "type": "Transitive", + "resolved": "6.0.4", + "contentHash": "t12WodVyGGP2CuLo7R1qwcawHY5zlg+GiQzvkceZpsjcFJVyTFFBFDPg1isBtzurLzWsl+G3z5fVXeic90mPxg==" + }, + "Microsoft.EntityFrameworkCore.Relational": { + "type": "Transitive", + "resolved": "6.0.4", + "contentHash": "E867NbEXYRTElBF5ff+1AN5Awa1jkORy/Rrm0ueibaTAV5uw89LsLoH6yTe+b9urZTWMHtLfGd1RDdNjk8+KzA==", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.4", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Caching.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Caching.Memory": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Caching.StackExchangeRedis": { + "type": "Transitive", + "resolved": "6.0.6", + "contentHash": "bdVQpYm1hcHf0pyAypMjtDw3HjWQJ89UzloyyF1OBs56QlgA1naM498tP2Vjlho5vVRALMGPYzdRKCen8koubw==", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "StackExchange.Redis": "2.2.4" + } + }, + "Microsoft.Extensions.Configuration": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "tq2wXyh3fL17EMF2bXgRhU7JrbO3on93MRKYxzz4JzzvuGSA1l0W3GI9/tl8EO89TH+KWEymP7bcFway6z9fXg==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Binder": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "IznHHzGUtrdpuQqIUdmzF6TYPcsYHONhHh3o9dGp39sX/9Zfmt476UnhvU0UhXgJnXXAikt/MpN6AuSLCCMdEQ==", + "dependencies": { + "Microsoft.Extensions.Configuration": "2.0.0" + } + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "pnyXV1LFOsYjGveuC07xp0YHIyGq7jRq5Ncb5zrrIieMLWVwgMyYxcOH0jTnBedDT4Gh1QinSqsjqzcieHk1og==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.FileExtensions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "V4Dth2cYMZpw3HhGw9XUDIijpI6gN+22LDt0AhufIgOppCUfpWX4483OmN+dFXRJkJLc8Tv0Q8QK+1ingT2+KQ==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Json": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GJGery6QytCzS/BxJ96klgG9in3uH26KcUBbiVG/coNDXCRq6LGVVlUT4vXq34KPuM+R2av+LeYdX9h4IZOCUg==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.UserSecrets": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "Fy8yr4V6obi7ZxvKYI1i85jqtwMq8tqyxQVZpRSkgeA8enqy/KvBIMdcuNdznlxQMZa72mvbHqb7vbg4Pyx95w==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" + }, + "Microsoft.Extensions.DependencyModel": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "Iaectmzg9Dc4ZbKX/FurrRjgO/I8rTumL5UU+Uube6vZuGetcnXoIgTA94RthFWePhdMVm8MMhVFJZdbzMsdyQ==", + "dependencies": { + "System.Text.Json": "4.6.0" + } + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileProviders.Physical": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "QvkL7l0nM8udt3gfyu0Vw8bbCXblxaKOl7c2oBfgGy4LCURRaL9XWZX1FWJrQc43oMokVneVxH38iz+bY1sbhg==", + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileSystemGlobbing": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileSystemGlobbing": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "ip8jnL1aPiaPeKINCqaTEbvBFDmVx9dXQEBZ2HOBRXPD1eabGNqP/bKlsIcp7U2lGxiXd5xIhoFcmY8nM4Hdiw==" + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "3.1.8", + "contentHash": "7ZJUKwPipkDvuv2KJPZ3r01wp2AWNMiYH+61i0dL89F7QICknjKpWgLKLpTSUYFgl77S3b4264I6i4HzDdrb2A==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "3.1.8", + "Microsoft.Extensions.DependencyInjection.Abstractions": "3.1.8", + "Microsoft.Extensions.FileProviders.Abstractions": "3.1.8", + "Microsoft.Extensions.Logging.Abstractions": "3.1.8" + } + }, + "Microsoft.Extensions.Identity.Core": { + "type": "Transitive", + "resolved": "6.0.4", + "contentHash": "8vBsyGkA8ZI3lZvm1nf+9ynRC/TzPD+UtbdgTlKk+cz+AW5I41LrK8f/adGej5uXgprOA2DMjZw33vZG6vyXxA==", + "dependencies": { + "Microsoft.AspNetCore.Cryptography.KeyDerivation": "6.0.4", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Identity.Stores": { + "type": "Transitive", + "resolved": "6.0.4", + "contentHash": "linRCnWBfnqg8qjrd9u/KMISy8O4a6X/GRhpHXU0ar654YQw9LJ/Ht+psx8QLqSX5EsCBbBCZzuamatH2FWIyQ==", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "6.0.0", + "Microsoft.Extensions.Identity.Core": "6.0.4", + "Microsoft.Extensions.Logging": "6.0.0" + } + }, + "Microsoft.Extensions.Logging": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "dzB2Cgg+JmrouhjkcQGzSFjjvpwlq353i8oBQO2GWNjCXSzhbtBRUf28HSauWe7eib3wYOdb3tItdjRwAdwCSg==" + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Options.ConfigurationExtensions": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "Y/lGICwO27fCkQRK3tZseVzFjZaxfGmui990E67sB4MuiPzdJHnJDS/BeYWrHShSSBgCl4KyKRx4ux686fftPg==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "2.0.0", + "Microsoft.Extensions.Configuration.Binder": "2.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.0.0", + "Microsoft.Extensions.Options": "2.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Identity.Client": { + "type": "Transitive", + "resolved": "4.22.0", + "contentHash": "GlamU9rs8cSVIx9WSGv5QKpt66KkE+ImxNa/wNZZUJ3knt3PM98T9sOY8B7NcEfhw7NoxU2/0TSOcmnRSJQgqw==" + }, + "Microsoft.Identity.Client.Extensions.Msal": { + "type": "Transitive", + "resolved": "2.16.5", + "contentHash": "VlGUZEpF8KP/GCfFI59sdE0WA0o9quqwM1YQY0dSp6jpGy5EOBkureaybLfpwCuYUUjQbLkN2p7neUIcQCfbzA==", + "dependencies": { + "Microsoft.Identity.Client": "4.22.0", + "System.Security.Cryptography.ProtectedData": "4.5.0" + } + }, + "Microsoft.IdentityModel.Clients.ActiveDirectory": { + "type": "Transitive", + "resolved": "3.14.2", + "contentHash": "TNsJJMiRnkeby1ovThVoV9yFsPWjAdluwOA+Nf0LtSsBVVrKQv8Qp4kYOgyNwMVj+pDwbhXISySk+4HyHVWNZQ==", + "dependencies": { + "NETStandard.Library": "1.6.0", + "System.Runtime.Serialization.Json": "4.0.2", + "System.Runtime.Serialization.Primitives": "4.1.1" + } + }, + "Microsoft.IdentityModel.JsonWebTokens": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "0qjS31rN1MQTc46tAYbzmMTSRfdV5ndZxSjYxIGqKSidd4wpNJfNII/pdhU5Fx8olarQoKL9lqqYw4yNOIwT0Q==", + "dependencies": { + "Microsoft.IdentityModel.Tokens": "6.10.0" + } + }, + "Microsoft.IdentityModel.Logging": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "zbcwV6esnNzhZZ/VP87dji6VrUBLB5rxnZBkDMqNYpyG+nrBnBsbm4PUYLCBMUflHCM9EMLDG0rLnqqT+l0ldA==" + }, + "Microsoft.IdentityModel.Protocols": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "DFyXD0xylP+DknCT3hzJ7q/Q5qRNu0hO/gCU90O0ATdR0twZmlcuY9RNYaaDofXKVbzcShYNCFCGle2G/o8mkg==", + "dependencies": { + "Microsoft.IdentityModel.Logging": "6.10.0", + "Microsoft.IdentityModel.Tokens": "6.10.0" + } + }, + "Microsoft.IdentityModel.Protocols.OpenIdConnect": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "LVvMXAWPbPeEWTylDrxunlHH2wFyE4Mv0L4gZrJHC4HTESbWHquKZb/y/S8jgiQEDycOP0PDQvbG4RR/tr2TVQ==", + "dependencies": { + "Microsoft.IdentityModel.Protocols": "6.10.0", + "System.IdentityModel.Tokens.Jwt": "6.10.0" + } + }, + "Microsoft.IdentityModel.Tokens": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "qbf1NslutDB4oLrriYTJpy7oB1pbh2ej2lEHd2IPDQH9C74ysOdhU5wAC7KoXblldbo7YsNR2QYFOqQM/b0Rsg==", + "dependencies": { + "Microsoft.CSharp": "4.5.0", + "Microsoft.IdentityModel.Logging": "6.10.0", + "System.Security.Cryptography.Cng": "4.5.0" + } + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==" + }, + "Microsoft.NETCore.Targets": { + "type": "Transitive", + "resolved": "1.1.0", + "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" + }, + "Microsoft.OData.Core": { + "type": "Transitive", + "resolved": "7.6.4", + "contentHash": "/EjnJezMBjXf8OjcShhGzPY7pOO0CopgoZGhS6xsP3t2uhC+O72IBHgtQ7F3v1rRXWVtJwLGhzE1GfJUlx3c4Q==", + "dependencies": { + "Microsoft.OData.Edm": "[7.6.4]", + "Microsoft.Spatial": "[7.6.4]" + } + }, + "Microsoft.OData.Edm": { + "type": "Transitive", + "resolved": "7.6.4", + "contentHash": "MSSmA6kIfpgFTtNpOnnayoSj/6KSzHC1U9KOjF7cTA1PG4tZ7rIMi1pvjFc8CmYEvP4cxGl/+vrCn+HpK26HTQ==" + }, + "Microsoft.Spatial": { + "type": "Transitive", + "resolved": "7.6.4", + "contentHash": "3mB+Frn4LU4yb5ie9R752QiRn0Hvp9PITkSRofV/Lzm9EyLM87Fy9ziqgz75O/c712dh6GxuypMSBUGmNFwMeA==" + }, + "Microsoft.TestPlatform.ObjectModel": { + "type": "Transitive", + "resolved": "17.1.0", + "contentHash": "OMo/FYnKGy3lZEK0gfitskRM3ga/YBt6MyCyFPq0xNLeybGOQ6HnYNAAvzyePo5WPuMiw3LX+HiuRWNjnas1fA==", + "dependencies": { + "NuGet.Frameworks": "5.11.0", + "System.Reflection.Metadata": "1.6.0" + } + }, + "Microsoft.TestPlatform.TestHost": { + "type": "Transitive", + "resolved": "17.1.0", + "contentHash": "JS0JDLniDhIzkSPLHz7N/x1CG8ywJOtwInFDYA3KQvbz+ojGoT5MT2YDVReL1b86zmNRV8339vsTSm/zh0RcMg==", + "dependencies": { + "Microsoft.TestPlatform.ObjectModel": "17.1.0", + "Newtonsoft.Json": "9.0.1" + } + }, + "Microsoft.Win32.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "Microsoft.Win32.Registry": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==", + "dependencies": { + "System.Security.AccessControl": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "Microsoft.Win32.SystemEvents": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "hqTM5628jSsQiv+HGpiq3WKBl2c8v1KZfby2J6Pr7pEPlK9waPdgEO6b8A/+/xn/yZ9ulv8HuqK71ONy2tg67A==" + }, + "MimeKit": { + "type": "Transitive", + "resolved": "3.2.0", + "contentHash": "l9YHMBhBUwY7qQHUp8fw0EvjcbmhN4Iggz6MdjqIShBf42+0nJTa5gu0kuupCOPuiARc9ZaS9c9f0gKz4OnxKw==", + "dependencies": { + "Portable.BouncyCastle": "1.9.0", + "System.Security.Cryptography.Pkcs": "6.0.0" + } + }, + "MySqlConnector": { + "type": "Transitive", + "resolved": "2.1.2", + "contentHash": "JVokQTUNN3WHAu9Vw8ieeq1dXTFokJiig5P0VJ4f439UxRrsPo6SaVWC8Zdm6mkPeQFhZ0/9afdWa02EY/1j/w==" + }, + "NETStandard.Library": { + "type": "Transitive", + "resolved": "1.6.1", + "contentHash": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.Win32.Primitives": "4.3.0", + "System.AppContext": "4.3.0", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Console": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tools": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Calendars": "4.3.0", + "System.IO": "4.3.0", + "System.IO.Compression": "4.3.0", + "System.IO.Compression.ZipFile": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.Net.Http": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Net.Sockets": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.InteropServices.RuntimeInformation": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Timer": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0", + "System.Xml.XDocument": "4.3.0" + } + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "Npgsql": { + "type": "Transitive", + "resolved": "6.0.4", + "contentHash": "SJMlOmFHr32oOzVXeHmarGaBKkhi0wHVN/rzuu2tUSJ4Qx2AkHCpr9R/DhLWwDiklqgzFU++9wkFyGJxbx/zzg==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Npgsql.EntityFrameworkCore.PostgreSQL": { + "type": "Transitive", + "resolved": "6.0.4", + "contentHash": "fzgRmBd3nAFvKt/L70sJfFWAdobtwDEeOzOzruJq9og97O8/5B96inQOAgOpYyaUjPYpS4ZS5/bxm3vnOJ0+pQ==", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.4", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.4", + "Microsoft.EntityFrameworkCore.Relational": "6.0.4", + "Npgsql": "6.0.4" + } + }, + "NSec.Cryptography": { + "type": "Transitive", + "resolved": "20.2.0", + "contentHash": "NxzHaDQm3JfH+9VQdLI1bC4h/ZTKPo5o/4BEscBu4KK0Yv35sB87hSRuzpr09VahxY5ZpJfE2tHyK4u27jfiyQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "4.7.0", + "libsodium": "[1.0.18, 1.0.19)" + } + }, + "NuGet.Frameworks": { + "type": "Transitive", + "resolved": "5.11.0", + "contentHash": "eaiXkUjC4NPcquGWzAGMXjuxvLwc6XGKMptSyOGQeT0X70BUZObuybJFZLA0OfTdueLd3US23NBPTBb6iF3V1Q==" + }, + "Otp.NET": { + "type": "Transitive", + "resolved": "1.2.2", + "contentHash": "2hrZfkbzeWJ3tNXXt/1beg4IY+nS4F3gIfh4NVFvW0f6Pj51hGpiJ4prBz7Dmrr4ZYrA96rTERVGieZ4xYm7jA==" + }, + "Pipelines.Sockets.Unofficial": { + "type": "Transitive", + "resolved": "2.2.2", + "contentHash": "Bhk0FWxH1paI+18zr1g5cTL+ebeuDcBCR+rRFO+fKEhretgjs7MF2Mc1P64FGLecWp4zKCUOPzngBNrqVyY7Zg==", + "dependencies": { + "System.IO.Pipelines": "5.0.1" + } + }, + "Pomelo.EntityFrameworkCore.MySql": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "sFIo5e9RmQoCTEvH6EeSV8ptmX3dw/6XgyD8R93X/i7A9+XCeG9KTjSNjrszVjVOtCu/eyvYqqcv2uZ/BHhlYA==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Relational": "[6.0.1, 7.0.0)", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "MySqlConnector": "2.1.2" + } + }, + "Portable.BouncyCastle": { + "type": "Transitive", + "resolved": "1.9.0", + "contentHash": "eZZBCABzVOek+id9Xy04HhmgykF0wZg9wpByzrWN7q8qEI0Qen9b7tfd7w8VA3dOeesumMG7C5ZPy0jk7PSRHw==" + }, + "Quartz": { + "type": "Transitive", + "resolved": "3.4.0", + "contentHash": "N8350OAlQhd8zKg0ARFikGjh3bfAW/CF/KVxu2fTIlAALB/oC1eg54n/QAPYR5ryHuYyDr5G8/Qa4k+D/7OFRQ==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "2.1.1", + "System.Configuration.ConfigurationManager": "4.7.0", + "System.Diagnostics.DiagnosticSource": "4.7.1" + } + }, + "RichardSzalay.MockHttp": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "bStGNqIX/MGYtML7K3EzdsE/k5HGVAcg7XgN23TQXGXqxNC9fvYFR94fA0sGM5hAT36R+BBGet6ZDQxXL/IPxg==" + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==" + }, + "runtime.native.System": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Data.SqlClient.sni": { + "type": "Transitive", + "resolved": "4.7.0", + "contentHash": "9kyFSIdN3T0qjDQ2R0HRXYIhS3l5psBzQi6qqhdLz+SzFyEy4sVxNOke+yyYv8Cu8rPER12c3RDjLT8wF3WBYQ==", + "dependencies": { + "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": "4.4.0", + "runtime.win-x64.runtime.native.System.Data.SqlClient.sni": "4.4.0", + "runtime.win-x86.runtime.native.System.Data.SqlClient.sni": "4.4.0" + } + }, + "runtime.native.System.IO.Compression": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Net.Security": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "M2nN92ePS8BgQ2oi6Jj3PlTUzadYSIWLdZrHY1n1ZcW9o4wAQQ6W+aQ2lfq1ysZQfVCgDwY58alUdowrzezztg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==", + "dependencies": { + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==" + }, + "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": { + "type": "Transitive", + "resolved": "4.4.0", + "contentHash": "LbrynESTp3bm5O/+jGL8v0Qg5SJlTV08lpIpFesXjF6uGNMWqFnUQbYBJwZTeua6E/Y7FIM1C54Ey1btLWupdg==" + }, + "runtime.win-x64.runtime.native.System.Data.SqlClient.sni": { + "type": "Transitive", + "resolved": "4.4.0", + "contentHash": "38ugOfkYJqJoX9g6EYRlZB5U2ZJH51UP8ptxZgdpS07FgOEToV+lS11ouNK2PM12Pr6X/PpT5jK82G3DwH/SxQ==" + }, + "runtime.win-x86.runtime.native.System.Data.SqlClient.sni": { + "type": "Transitive", + "resolved": "4.4.0", + "contentHash": "YhEdSQUsTx+C8m8Bw7ar5/VesXvCFMItyZF7G1AUY+OM0VPZUOeAVpJ4Wl6fydBGUYZxojTDR3I6Bj/+BPkJNA==" + }, + "SendGrid": { + "type": "Transitive", + "resolved": "9.27.0", + "contentHash": "kMyXRQ8hmN2bG3tYZ7T31Ufl1kXkpuP5+WBh1BJ32WY31DTnBTCVGURoIqfbTo/tRuQfAYLxra6C8cQGN6kk+A==", + "dependencies": { + "Newtonsoft.Json": "9.0.1", + "starkbank-ecdsa": "[1.3.3, 2.0.0)" + } + }, + "Sentry": { + "type": "Transitive", + "resolved": "3.16.0", + "contentHash": "Pkw4+51EDUQ0X02jdCZIpaM2Q4UO06VKGDE+dYYNxgvOirRXGKTKxRk4NPKJTLSTNl+2JyT9HoE7C6BTlYhLOw==" + }, + "Sentry.Serilog": { + "type": "Transitive", + "resolved": "3.16.0", + "contentHash": "GFTVfQdOFqZ9Vmo8EEZTx1EQMDRJjka/4v2CwxnAUh+sqHDICga4eOm4AyGzDBbE4s9iAHMgMUCceIqo+7z84w==", + "dependencies": { + "Sentry": "3.16.0", + "Serilog": "2.10.0" + } + }, + "Serilog": { + "type": "Transitive", + "resolved": "2.10.0", + "contentHash": "+QX0hmf37a0/OZLxM3wL7V6/ADvC1XihXN4Kq/p6d8lCPfgkRdiuhbWlMaFjR9Av0dy5F0+MBeDmDdRZN/YwQA==" + }, + "Serilog.AspNetCore": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "/JO/txIxRR61x1UXQAgUzG2Sx05o1QHCkokVBWrKzmAoDu+p5EtCAj7L/TVVg7Ezhh3GPiZ0JI9OJCmRO9tSRw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "5.0.0", + "Microsoft.Extensions.Logging": "5.0.0", + "Serilog": "2.10.0", + "Serilog.Extensions.Hosting": "4.2.0", + "Serilog.Formatting.Compact": "1.1.0", + "Serilog.Settings.Configuration": "3.3.0", + "Serilog.Sinks.Console": "4.0.1", + "Serilog.Sinks.Debug": "2.0.0", + "Serilog.Sinks.File": "5.0.0" + } + }, + "Serilog.Extensions.Hosting": { + "type": "Transitive", + "resolved": "4.2.0", + "contentHash": "gT2keceCmPQR9EX0VpXQZvUgELdfE7yqJ7MOxBhm3WLCblcvRgswEOOTgok/DHObbM15A3V/DtF3VdVDQPIZzQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "3.1.8", + "Microsoft.Extensions.Hosting.Abstractions": "3.1.8", + "Microsoft.Extensions.Logging.Abstractions": "3.1.8", + "Serilog": "2.10.0", + "Serilog.Extensions.Logging": "3.1.0" + } + }, + "Serilog.Extensions.Logging": { + "type": "Transitive", + "resolved": "3.1.0", + "contentHash": "IWfem7wfrFbB3iw1OikqPFNPEzfayvDuN4WP7Ue1AVFskalMByeWk3QbtUXQR34SBkv1EbZ3AySHda/ErDgpcg==", + "dependencies": { + "Microsoft.Extensions.Logging": "2.0.0", + "Serilog": "2.9.0" + } + }, + "Serilog.Extensions.Logging.File": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "usO0qr4v9VCMBWiTJ1nQmAbPNCt40FrkDol6CpfCXbsxGZS/hH+YCueF7vvPQ32ATI0GWcMWiKRdjXEE7/HxTQ==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "2.0.0", + "Microsoft.Extensions.Configuration.Binder": "2.0.0", + "Serilog": "2.5.0", + "Serilog.Extensions.Logging": "2.0.2", + "Serilog.Formatting.Compact": "1.0.0", + "Serilog.Sinks.Async": "1.1.0", + "Serilog.Sinks.RollingFile": "3.3.0" + } + }, + "Serilog.Formatting.Compact": { + "type": "Transitive", + "resolved": "1.1.0", + "contentHash": "pNroKVjo+rDqlxNG5PXkRLpfSCuDOBY0ri6jp9PLe505ljqwhwZz8ospy2vWhQlFu5GkIesh3FcDs4n7sWZODA==", + "dependencies": { + "Serilog": "2.8.0" + } + }, + "Serilog.Settings.Configuration": { + "type": "Transitive", + "resolved": "3.3.0", + "contentHash": "7GNudISZwqaT902hqEL2OFGTZeUFWfnrNLupJkOqeF41AR3GjcxX+Hwb30xb8gG2/CDXsCMVfF8o0+8KY0fJNg==", + "dependencies": { + "Microsoft.Extensions.DependencyModel": "3.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "2.0.0", + "Serilog": "2.10.0" + } + }, + "Serilog.Sinks.Async": { + "type": "Transitive", + "resolved": "1.1.0", + "contentHash": "xll0Kanz2BkCxuv+F3p1WXr47jdsVM0GU1n1LZvK+18QiRZ/WGFNxSNw9EMKFV5ED5gr7MUpAe6PCMNL1HGUMA==", + "dependencies": { + "Serilog": "2.1.0", + "System.Collections.Concurrent": "4.0.12" + } + }, + "Serilog.Sinks.AzureCosmosDB": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "Im2/ZqjXQIpsd727qEo5Pq+br0MiNVuTvI40Yk7736tgjCpEx+omPHv4+c4fEAxnOP2kL9Ge6UoDFoDw3cjF2A==", + "dependencies": { + "Microsoft.Azure.Cosmos": "3.24.0", + "Microsoft.CSharp": "4.7.0", + "Newtonsoft.Json": "13.0.1", + "Serilog": "2.10.0", + "Serilog.Sinks.PeriodicBatching": "2.3.1" + } + }, + "Serilog.Sinks.Console": { + "type": "Transitive", + "resolved": "4.0.1", + "contentHash": "apLOvSJQLlIbKlbx+Y2UDHSP05kJsV7mou+fvJoRGs/iR+jC22r8cuFVMjjfVxz/AD4B2UCltFhE1naRLXwKNw==", + "dependencies": { + "Serilog": "2.10.0" + } + }, + "Serilog.Sinks.Debug": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "Y6g3OBJ4JzTyyw16fDqtFcQ41qQAydnEvEqmXjhwhgjsnG/FaJ8GUqF5ldsC/bVkK8KYmqrPhDO+tm4dF6xx4A==", + "dependencies": { + "Serilog": "2.10.0" + } + }, + "Serilog.Sinks.File": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "uwV5hdhWPwUH1szhO8PJpFiahqXmzPzJT/sOijH/kFgUx+cyoDTMM8MHD0adw9+Iem6itoibbUXHYslzXsLEAg==", + "dependencies": { + "Serilog": "2.10.0" + } + }, + "Serilog.Sinks.PeriodicBatching": { + "type": "Transitive", + "resolved": "2.3.1", + "contentHash": "LVYvqpqjSTD8dhfxRnzpxTs8/ys3V2q01MvaY3r0eKsDgpKK1U1y/5N6gFHgiesbxG0V+O5IWdz4+c1DzoNyOQ==", + "dependencies": { + "Serilog": "2.0.0" + } + }, + "Serilog.Sinks.RollingFile": { + "type": "Transitive", + "resolved": "3.3.0", + "contentHash": "2lT5X1r3GH4P0bRWJfhA7etGl8Q2Ipw9AACvtAHWRUSpYZ42NGVyHoVs2ALBZ/cAkkS+tA4jl80Zie144eLQPg==", + "dependencies": { + "Serilog.Sinks.File": "3.2.0", + "System.IO": "4.1.0", + "System.IO.FileSystem.Primitives": "4.0.1", + "System.Runtime.InteropServices": "4.1.0", + "System.Text.Encoding.Extensions": "4.0.11" + } + }, + "Serilog.Sinks.SyslogMessages": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "V2Yq2GEbk7taEPbpBLFzLXhrHrUzKf4sQu/zLrANU8XIoUn/Mr08M2E8PrcrWVXCj0R4xLMWYe0Z1sxOrMF3IA==", + "dependencies": { + "Serilog": "2.5.0", + "Serilog.Sinks.PeriodicBatching": "2.3.0" + } + }, + "StackExchange.Redis": { + "type": "Transitive", + "resolved": "2.5.43", + "contentHash": "YQ38jVbX1b5mBi6lizESou+NpV6QZpeo6ofRR6qeuqJ8ePOmhcwhje3nDTNIGEkfPSK0sLuF6pR5rtFyq2F46g==", + "dependencies": { + "Pipelines.Sockets.Unofficial": "2.2.2", + "System.Diagnostics.PerformanceCounter": "5.0.0" + } + }, + "starkbank-ecdsa": { + "type": "Transitive", + "resolved": "1.3.3", + "contentHash": "OblOaKb1enXn+dSp7tsx9yjwV+/BEKM9jFhshIkZTwCk7LuTFTp+wSon6rFzuPiIiTGtvVWQNUw2slHjGktJog==" + }, + "Stripe.net": { + "type": "Transitive", + "resolved": "40.0.0", + "contentHash": "SD1bGiF+sVQG3p2LXNTZ5rEG2aCnXIHokcxYS9yyW3dR01J0ryf+iNFOwid148yePZ0gCBcRxj3wiW1mTmP7UQ==", + "dependencies": { + "Newtonsoft.Json": "12.0.3", + "System.Configuration.ConfigurationManager": "6.0.0" + } + }, + "System.AppContext": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" + }, + "System.Collections": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Collections.Immutable": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Collections.NonGeneric": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "prtjIEMhGUnQq6RnPEYLpFt8AtLbp9yq2zxOSrY7KJJZrw25Fi97IzBqY7iqssbM61Ek5b8f3MG/sG1N2sN5KA==", + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Collections.Specialized": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "Epx8PoVZR0iuOnJJDzp7pWvdfMMOAvpUo95pC4ScH2mJuXkKA2Y4aR3cG9qt2klHgSons1WFh4kcGW7cSXvrxg==", + "dependencies": { + "System.Collections.NonGeneric": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Extensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.ComponentModel": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VyGn1jGRZVfxnh8EdvDCi71v3bMXrsu8aYJOwoV7SNDLVhiEqwP86pPMyRGsDsxhXAm2b3o9OIqeETfN5qfezw==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.ComponentModel.Annotations": { + "type": "Transitive", + "resolved": "4.7.0", + "contentHash": "0YFqjhp/mYkDGpU0Ye1GjE53HMp9UVfGN7seGpAMttAC0C40v5gw598jCgpbBLMmCo0E5YRLBv5Z2doypO49ZQ==" + }, + "System.ComponentModel.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "j8GUkCpM8V4d4vhLIIoBLGey2Z5bCkMVNjEZseyAlm4n5arcsJOeI3zkUP+zvZgzsbLTYh4lYeP/ZD/gdIAPrw==", + "dependencies": { + "System.ComponentModel": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.ComponentModel.TypeConverter": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "16pQ6P+EdhcXzPiEK4kbA953Fu0MNG2ovxTZU81/qsCd1zPRsKc3uif5NgvllCY598k6bI0KUyKW8fanlfaDQg==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Collections.NonGeneric": "4.3.0", + "System.Collections.Specialized": "4.3.0", + "System.ComponentModel": "4.3.0", + "System.ComponentModel.Primitives": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Configuration.ConfigurationManager": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "7T+m0kDSlIPTHIkPMIu6m6tV6qsMqJpvQWW2jIc2qi7sn40qxFo0q+7mEQAhMPXZHMKnWrnv47ntGlM/ejvw3g==", + "dependencies": { + "System.Security.Cryptography.ProtectedData": "6.0.0", + "System.Security.Permissions": "6.0.0" + } + }, + "System.Console": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "System.Data.SqlClient": { + "type": "Transitive", + "resolved": "4.8.3", + "contentHash": "yERfVLXAY0QbylAgaGLByYN0hFxX28aeEQ0hUgJO+Ntn1AfmWl5HHUoYJA0Yl9HhIUUJHVaS/Sw/RLZr5aaC+A==", + "dependencies": { + "Microsoft.Win32.Registry": "4.7.0", + "System.Security.Principal.Windows": "4.7.0", + "runtime.native.System.Data.SqlClient.sni": "4.7.0" + } + }, + "System.Diagnostics.Debug": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Diagnostics.PerformanceCounter": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "kcQWWtGVC3MWMNXdMDWfrmIlFZZ2OdoeT6pSNVRtk9+Sa7jwdPiMlNwb0ZQcS7NRlT92pCfmjRtkSWUW3RAKwg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "5.0.0", + "Microsoft.Win32.Registry": "5.0.0", + "System.Configuration.ConfigurationManager": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "System.Diagnostics.Process": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "J0wOX07+QASQblsfxmIMFc9Iq7KTXYL3zs2G/Xc704Ylv3NpuVdo6gij6V3PGiptTxqsK0K7CdXenRvKUnkA2g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.Win32.Primitives": "4.3.0", + "Microsoft.Win32.Registry": "4.3.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Thread": "4.3.0", + "System.Threading.ThreadPool": "4.3.0", + "runtime.native.System": "4.3.0" + } + }, + "System.Diagnostics.Tools": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.TraceSource": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VnYp1NxGx8Ww731y2LJ1vpfb/DKVNKEZ8Jsh5SgQTZREL/YpWRArgh9pI8CDLmgHspZmLL697CaLvH85qQpRiw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "runtime.native.System": "4.3.0" + } + }, + "System.Diagnostics.Tracing": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Drawing.Common": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "NfuoKUiP2nUWwKZN6twGqXioIe1zVD0RIj2t976A+czLHr2nY454RwwXs6JU9Htc6mwqL6Dn/nEL3dpVf2jOhg==", + "dependencies": { + "Microsoft.Win32.SystemEvents": "6.0.0" + } + }, + "System.Dynamic.Runtime": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "SNVi1E/vfWUAs/WYKhE9+qlS6KqK0YVhnlT0HQtr8pMIA8YX3lwy3uPMownDwdYISBdmAF/2holEIldVp85Wag==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Formats.Asn1": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "T6fD00dQ3NTbPDy31m4eQUwKW84s03z0N2C8HpOklyeaDgaJPa/TexP4/SkORMSOwc7WhKifnA6Ya33AkzmafA==" + }, + "System.Formats.Cbor": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "OJ8UXNyYIvu22ZrMHDBcnBvs3l6w2wEWUSwgPf2gimUrdoKJC4pcg963kiYAA9kvs8HYLQKQ+2Arr7pm19aZ4A==" + }, + "System.Globalization": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Globalization": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0" + } + }, + "System.IdentityModel.Tokens.Jwt": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "C+Q5ORsFycRkRuvy/Xd0Pv5xVpmWSAvQYZAGs7VQogmkqlLhvfZXTgBIlHqC3cxkstSoLJAYx6xZB7foQ2y5eg==", + "dependencies": { + "Microsoft.IdentityModel.JsonWebTokens": "6.10.0", + "Microsoft.IdentityModel.Tokens": "6.10.0" + } + }, + "System.IO": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.Compression": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Buffers": "4.3.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.IO.Compression": "4.3.0" + } + }, + "System.IO.Compression.ZipFile": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", + "dependencies": { + "System.Buffers": "4.3.0", + "System.IO": "4.3.0", + "System.IO.Compression": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "System.IO.FileSystem": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.FileSystem.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.IO.Hashing": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "Rfm2jYCaUeGysFEZjDe7j1R4x6Z6BzumS/vUT5a1AA/AWJuGX71PoGB0RmpyX3VmrGqVnAwtfMn39OHR8Y/5+g==" + }, + "System.IO.Pipelines": { + "type": "Transitive", + "resolved": "5.0.1", + "contentHash": "qEePWsaq9LoEEIqhbGe6D5J8c9IqQOUuTzzV6wn1POlfdLkJliZY3OlB0j0f17uMWlqZYjH7txj+2YbyrIA8Yg==" + }, + "System.Linq": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + } + }, + "System.Linq.Expressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Linq.Queryable": { + "type": "Transitive", + "resolved": "4.0.1", + "contentHash": "Yn/WfYe9RoRfmSLvUt2JerP0BTGGykCZkQPgojaxgzF2N0oPo+/AhB8TXOpdCcNlrG3VRtsamtK2uzsp3cqRVw==", + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Linq": "4.1.0", + "System.Linq.Expressions": "4.1.0", + "System.Reflection": "4.1.0", + "System.Reflection.Extensions": "4.0.1", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Memory": { + "type": "Transitive", + "resolved": "4.5.4", + "contentHash": "1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==" + }, + "System.Memory.Data": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "JGkzeqgBsiZwKJZ1IxPNsDFZDhUvuEdX8L8BDC8N3KOj+6zMcNU28CNN59TpZE/VJYy9cP+5M+sbxtWJx3/xtw==", + "dependencies": { + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.6.0" + } + }, + "System.Net.Http": { + "type": "Transitive", + "resolved": "4.3.4", + "contentHash": "aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.DiagnosticSource": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.OpenSsl": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "System.Net.NameResolution": { + "type": "Transitive", + "resolved": "4.0.0", + "contentHash": "JdqRdM1Qym3YehqdKIi5LHrpypP4JMfxKQSNCJ2z4WawkG0il+N3XfNeJOxll2XrTnG7WgYYPoeiu/KOwg0DQw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "System.Collections": "4.0.11", + "System.Diagnostics.Tracing": "4.1.0", + "System.Globalization": "4.0.11", + "System.Net.Primitives": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Runtime.InteropServices": "4.1.0", + "System.Security.Principal.Windows": "4.0.0", + "System.Threading": "4.0.11", + "System.Threading.Tasks": "4.0.11", + "runtime.native.System": "4.0.0" + } + }, + "System.Net.NetworkInformation": { + "type": "Transitive", + "resolved": "4.1.0", + "contentHash": "Q0rfeiW6QsiZuicGjrFA7cRr2+kXex0JIljTTxzI09GIftB8k+aNL31VsQD1sI2g31cw7UGDTgozA/FgeNSzsQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.Win32.Primitives": "4.0.1", + "System.Collections": "4.0.11", + "System.Diagnostics.Tracing": "4.1.0", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.IO.FileSystem": "4.0.1", + "System.IO.FileSystem.Primitives": "4.0.1", + "System.Linq": "4.1.0", + "System.Net.Primitives": "4.0.11", + "System.Net.Sockets": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Runtime.InteropServices": "4.1.0", + "System.Security.Principal.Windows": "4.0.0", + "System.Threading": "4.0.11", + "System.Threading.Overlapped": "4.0.1", + "System.Threading.Tasks": "4.0.11", + "System.Threading.Thread": "4.0.0", + "System.Threading.ThreadPool": "4.0.10", + "runtime.native.System": "4.0.0" + } + }, + "System.Net.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Net.Requests": { + "type": "Transitive", + "resolved": "4.0.11", + "contentHash": "vxGt7C0cZixN+VqoSW4Yakc1Y9WknmxauDqzxgpw/FnBdz4kQNN51l4wxdXX5VY1xjqy//+G+4CvJWp1+f+y6Q==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Diagnostics.Tracing": "4.1.0", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Net.Http": "4.1.0", + "System.Net.Primitives": "4.0.11", + "System.Net.WebHeaderCollection": "4.0.1", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Threading": "4.0.11", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Net.Security": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "xT2jbYpbBo3ha87rViHoTA6WdvqOAW37drmqyx/6LD8p7HEPT2qgdxoimRzWtPg8Jh4X5G9BV2seeTv4x6FYlA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.Win32.Primitives": "4.3.0", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Claims": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.OpenSsl": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Security.Principal": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.ThreadPool": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.Net.Security": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "System.Net.Sockets": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Net.WebHeaderCollection": { + "type": "Transitive", + "resolved": "4.0.1", + "contentHash": "XX2TIAN+wBSAIV51BU2FvvXMdstUa8b0FBSZmDWjZdwUMmggQSifpTOZ5fNH20z9ZCg2fkV1L5SsZnpO2RQDRQ==", + "dependencies": { + "System.Collections": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0" + } + }, + "System.Net.WebSockets": { + "type": "Transitive", + "resolved": "4.0.0", + "contentHash": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", + "dependencies": { + "Microsoft.Win32.Primitives": "4.0.1", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Net.WebSockets.Client": { + "type": "Transitive", + "resolved": "4.0.2", + "contentHash": "NUCcDroX4lCQXgOrzlwIZ1u9YJ0krfyF0wk0ONnyLUmcQoEiYV2/OfUPRqUwQBbpH1BlGApkLgoQUwMqb5+c1g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.2", + "Microsoft.Win32.Primitives": "4.0.1", + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Diagnostics.Tracing": "4.1.0", + "System.Globalization": "4.0.11", + "System.Net.Primitives": "4.0.11", + "System.Net.WebHeaderCollection": "4.0.1", + "System.Net.WebSockets": "4.0.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Runtime.InteropServices": "4.1.0", + "System.Security.Cryptography.X509Certificates": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Threading": "4.0.11", + "System.Threading.Tasks": "4.0.11" + } + }, + "System.Numerics.Vectors": { + "type": "Transitive", + "resolved": "4.5.0", + "contentHash": "QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==" + }, + "System.ObjectModel": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Private.DataContractSerialization": { + "type": "Transitive", + "resolved": "4.1.1", + "contentHash": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", + "dependencies": { + "System.Collections": "4.0.11", + "System.Collections.Concurrent": "4.0.12", + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Linq": "4.1.0", + "System.Reflection": "4.1.0", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Emit.Lightweight": "4.0.1", + "System.Reflection.Extensions": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Reflection.TypeExtensions": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Serialization.Primitives": "4.1.1", + "System.Text.Encoding": "4.0.11", + "System.Text.Encoding.Extensions": "4.0.11", + "System.Text.RegularExpressions": "4.1.0", + "System.Threading": "4.0.11", + "System.Threading.Tasks": "4.0.11", + "System.Xml.ReaderWriter": "4.0.11", + "System.Xml.XmlDocument": "4.0.1", + "System.Xml.XmlSerializer": "4.0.11" + } + }, + "System.Reflection": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "dependencies": { + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit.ILGeneration": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit.Lightweight": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Metadata": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" + }, + "System.Reflection.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.TypeExtensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Resources.ResourceManager": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "System.Runtime.Caching": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "30D6MkO8WF9jVGWZIP0hmCN8l9BTY4LCsAzLIe4xFSXzs+AjDotR7DpSmj27pFskDURzUvqYYY0ikModgBTxWw==", + "dependencies": { + "System.Configuration.ConfigurationManager": "5.0.0" + } + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + }, + "System.Runtime.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Runtime.InteropServices.RuntimeInformation": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Threading": "4.3.0", + "runtime.native.System": "4.3.0" + } + }, + "System.Runtime.Numerics": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + } + }, + "System.Runtime.Serialization.Json": { + "type": "Transitive", + "resolved": "4.0.2", + "contentHash": "+7DIJhnKYgCzUgcLbVTtRQb2l1M0FP549XFlFkQM5lmNiUBl44AfNbx4bz61xA8PzLtlYwfmif4JJJW7MPPnjg==", + "dependencies": { + "System.IO": "4.1.0", + "System.Private.DataContractSerialization": "4.1.1", + "System.Runtime": "4.1.0" + } + }, + "System.Runtime.Serialization.Primitives": { + "type": "Transitive", + "resolved": "4.1.1", + "contentHash": "HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==", + "dependencies": { + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0" + } + }, + "System.Security.AccessControl": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "AUADIc0LIEQe7MzC+I0cl0rAT8RrTAKFHl53yHjEUzNVIaUlhFY11vc2ebiVJzVBuOzun6F7FBA+8KAbGTTedQ==" + }, + "System.Security.Claims": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "P/+BR/2lnc4PNDHt/TPBAWHVMLMRHsyYZbU1NphW4HIWzCggz8mJbTQQ3MKljFE7LS3WagmVFuBgoLcFzYXlkA==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Security.Principal": "4.3.0" + } + }, + "System.Security.Cryptography.Algorithms": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.Apple": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Security.Cryptography.Cng": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "jIMXsKn94T9JY7PvPq/tMfqa6GAaHpElRDpmG+SuL+D3+sTw2M8VhnibKnN8Tq+4JqbPJ/f+BwtLeDMEnzAvRg==", + "dependencies": { + "System.Formats.Asn1": "5.0.0" + } + }, + "System.Security.Cryptography.Csp": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Security.Cryptography.Encoding": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Linq": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "dependencies": { + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Security.Cryptography.Pkcs": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "elM3x+xSRhzQysiqo85SbidJJ2YbZlnvmh+53TuSZHsD7dNuuEWser+9EFtY+rYupBwkq2avc6ZCO3/6qACgmg==", + "dependencies": { + "System.Formats.Asn1": "6.0.0" + } + }, + "System.Security.Cryptography.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Security.Cryptography.ProtectedData": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "rp1gMNEZpvx9vP0JW0oHLxlf8oSiQgtno77Y4PLUBjSiDYoD77Y8uXHr1Ea5XG4/pIKhqAdxZ8v8OTUtqo9PeQ==" + }, + "System.Security.Cryptography.X509Certificates": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Calendars": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Cng": "4.3.0", + "System.Security.Cryptography.Csp": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.OpenSsl": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Security.Cryptography.Xml": { + "type": "Transitive", + "resolved": "4.5.0", + "contentHash": "i2Jn6rGXR63J0zIklImGRkDIJL4b1NfPSEbIVHBlqoIb12lfXIigCbDRpDmIEzwSo/v1U5y/rYJdzZYSyCWxvg==", + "dependencies": { + "System.Security.Cryptography.Pkcs": "4.5.0", + "System.Security.Permissions": "4.5.0" + } + }, + "System.Security.Permissions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "T/uuc7AklkDoxmcJ7LGkyX1CcSviZuLCa4jg3PekfJ7SU0niF0IVTXwUiNVP9DSpzou2PpxJ+eNY2IfDM90ZCg==", + "dependencies": { + "System.Security.AccessControl": "6.0.0", + "System.Windows.Extensions": "6.0.0" + } + }, + "System.Security.Principal": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "I1tkfQlAoMM2URscUtpcRo/hX0jinXx6a/KUtEQoz3owaYwl3qwsO8cbzYVVnjxrzxjHo3nJC+62uolgeGIS9A==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Security.Principal.Windows": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==" + }, + "System.Security.SecureString": { + "type": "Transitive", + "resolved": "4.0.0", + "contentHash": "sqzq9GD6/b0yqPuMpgIKBuoLf4VKAj8oAfh4kXSzPaN6eoKY3hRi9C5L27uip25qlU+BGPfb0xh2Rmbwc4jFVA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Handles": "4.0.1", + "System.Runtime.InteropServices": "4.1.0", + "System.Security.Cryptography.Primitives": "4.0.0", + "System.Text.Encoding": "4.0.11", + "System.Threading": "4.0.11" + } + }, + "System.Text.Encoding": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "NyscU59xX6Uo91qvhOs2Ccho3AR2TnZPomo1Z0K6YpyztBPM/A5VbkzOO19sy3A3i1TtEnTxA7bCe3Us+r5MWg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "5.0.0" + } + }, + "System.Text.Encoding.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "System.Text.Encodings.Web": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "zaJsHfESQvJ11vbXnNlkrR46IaMULk/gHxYsJphzSF+07kTjPHv+Oc14w6QEOfo3Q4hqLJgStUaYB9DBl0TmWg==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0" + } + }, + "System.Text.RegularExpressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Threading": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Overlapped": { + "type": "Transitive", + "resolved": "4.0.1", + "contentHash": "f7aLuLkBoCQM2kng7zqLFBXz9Gk48gDK8lk1ih9rH/1arJJzZK9gJwNvPDhL6Ps/l6rwOr8jw+4FCHL0KKWiEg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Handles": "4.0.1" + } + }, + "System.Threading.Tasks": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Extensions": { + "type": "Transitive", + "resolved": "4.5.4", + "contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==" + }, + "System.Threading.Thread": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Threading.ThreadPool": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "k/+g4b7vjdd4aix83sTgC9VG6oXYKAktSfNIJUNGxPEj7ryEOfzHHhfnmsZvjxawwcD9HyWXKCXmPjX8U4zeSw==", + "dependencies": { + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Threading.Timer": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.ValueTuple": { + "type": "Transitive", + "resolved": "4.5.0", + "contentHash": "okurQJO6NRE/apDIP23ajJ0hpiNmJ+f0BwOlB/cSqTLQlw5upkf+5+96+iG2Jw40G1fCVCyPz/FhIABUjMR+RQ==" + }, + "System.Windows.Extensions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "IXoJOXIqc39AIe+CIR7koBtRGMiCt/LPM3lI+PELtDIy9XdyeSrwXFdWV9dzJ2Awl0paLWUaknLxFQ5HpHZUog==", + "dependencies": { + "System.Drawing.Common": "6.0.0" + } + }, + "System.Xml.ReaderWriter": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Tasks.Extensions": "4.3.0" + } + }, + "System.Xml.XDocument": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tools": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + } + }, + "System.Xml.XmlDocument": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "lJ8AxvkX7GQxpC6GFCeBj8ThYVyQczx2+f/cWHJU8tjS7YfI6Cv6bon70jVEgs2CiFbmmM8b9j1oZVx0dSI2Ww==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + } + }, + "System.Xml.XmlSerializer": { + "type": "Transitive", + "resolved": "4.0.11", + "contentHash": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", + "dependencies": { + "System.Collections": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Linq": "4.1.0", + "System.Reflection": "4.1.0", + "System.Reflection.Emit": "4.0.1", + "System.Reflection.Emit.ILGeneration": "4.0.1", + "System.Reflection.Extensions": "4.0.1", + "System.Reflection.Primitives": "4.0.1", + "System.Reflection.TypeExtensions": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Text.RegularExpressions": "4.1.0", + "System.Threading": "4.0.11", + "System.Xml.ReaderWriter": "4.0.11", + "System.Xml.XmlDocument": "4.0.1" + } + }, + "System.Xml.XPath": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "v1JQ5SETnQusqmS3RwStF7vwQ3L02imIzl++sewmt23VGygix04pEH+FCj1yWb+z4GDzKiljr1W7Wfvrx0YwgA==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + } + }, + "System.Xml.XPath.XmlDocument": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "A/uxsWi/Ifzkmd4ArTLISMbfFs6XpRPsXZonrIqyTY70xi8t+mDtvSM5Os0RqyRDobjMBwIDHDL4NOIbkDwf7A==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0", + "System.Xml.XPath": "4.3.0", + "System.Xml.XmlDocument": "4.3.0" + } + }, + "xunit.abstractions": { + "type": "Transitive", + "resolved": "2.0.3", + "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==" + }, + "xunit.analyzers": { + "type": "Transitive", + "resolved": "0.10.0", + "contentHash": "4/IDFCJfIeg6bix9apmUtIMwvOsiwqdEexeO/R2D4GReIGPLIRODTpId/l4LRSrAJk9lEO3Zx1H0Zx6uohJDNg==" + }, + "xunit.assert": { + "type": "Transitive", + "resolved": "2.4.1", + "contentHash": "O/Oe0BS5RmSsM+LQOb041TzuPo5MdH2Rov+qXGS37X+KFG1Hxz7kopYklM5+1Y+tRGeXrOx5+Xne1RuqLFQoyQ==", + "dependencies": { + "NETStandard.Library": "1.6.1" + } + }, + "xunit.core": { + "type": "Transitive", + "resolved": "2.4.1", + "contentHash": "Zsj5OMU6JasNGERXZy8s72+pcheG6Q15atS5XpZXqAtULuyQiQ6XNnUsp1gyfC6WgqScqMvySiEHmHcOG6Eg0Q==", + "dependencies": { + "xunit.extensibility.core": "[2.4.1]", + "xunit.extensibility.execution": "[2.4.1]" + } + }, + "xunit.extensibility.core": { + "type": "Transitive", + "resolved": "2.4.1", + "contentHash": "yKZKm/8QNZnBnGZFD9SewkllHBiK0DThybQD/G4PiAmQjKtEZyHi6ET70QPU9KtSMJGRYS6Syk7EyR2EVDU4Kg==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.abstractions": "2.0.3" + } + }, + "xunit.extensibility.execution": { + "type": "Transitive", + "resolved": "2.4.1", + "contentHash": "7e/1jqBpcb7frLkB6XDrHCGXAbKN4Rtdb88epYxCSRQuZDRW8UtTfdTEVpdTl8s4T56e07hOBVd4G0OdCxIY2A==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.extensibility.core": "[2.4.1]" + } + }, + "YubicoDotNetClient": { + "type": "Transitive", + "resolved": "1.2.0", + "contentHash": "uP5F3Ko1gqZi3lwS2R/jAAwhBxXs/6PKDpS6FdQjsBA5qmF0hQmbtfxM6QHTXOMoWbUtfetG7+LtgmG8T5zDIg==", + "dependencies": { + "NETStandard.Library": "1.6.1" + } + }, + "common": { + "type": "Project", + "dependencies": { + "AutoFixture.AutoNSubstitute": "4.17.0", + "AutoFixture.Xunit2": "4.17.0", + "Core": "2022.8.4", + "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", + "Microsoft.NET.Test.Sdk": "17.1.0", + "NSubstitute": "4.3.0", + "xunit": "2.4.1" + } + }, + "core": { + "type": "Project", + "dependencies": { + "AWSSDK.SQS": "3.7.2.47", + "AWSSDK.SimpleEmail": "3.7.0.150", + "AspNetCoreRateLimit": "4.0.2", + "AspNetCoreRateLimit.Redis": "1.0.1", + "Azure.Extensions.AspNetCore.DataProtection.Blobs": "1.2.1", + "Azure.Storage.Blobs": "12.11.0", + "Azure.Storage.Queues": "12.9.0", + "BitPay.Light": "1.0.1907", + "Braintree": "5.12.0", + "Fido2.AspNet": "3.0.0-beta2", + "Handlebars.Net": "2.1.2", + "IdentityServer4": "4.1.2", + "IdentityServer4.AccessTokenValidation": "3.0.1", + "MailKit": "3.2.0", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.4", + "Microsoft.Azure.Cosmos.Table": "1.0.8", + "Microsoft.Azure.NotificationHubs": "4.1.0", + "Microsoft.Azure.ServiceBus": "5.2.0", + "Microsoft.Data.SqlClient": "4.1.0", + "Microsoft.Extensions.Caching.StackExchangeRedis": "6.0.6", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.Identity.Stores": "6.0.4", + "Newtonsoft.Json": "13.0.1", + "Otp.NET": "1.2.2", + "Quartz": "3.4.0", + "SendGrid": "9.27.0", + "Sentry.Serilog": "3.16.0", + "Serilog.AspNetCore": "5.0.0", + "Serilog.Extensions.Logging": "3.1.0", + "Serilog.Extensions.Logging.File": "2.0.0", + "Serilog.Sinks.AzureCosmosDB": "2.0.0", + "Serilog.Sinks.SyslogMessages": "2.0.6", + "Stripe.net": "40.0.0", + "YubicoDotNetClient": "1.2.0" + } + }, + "core.test": { + "type": "Project", + "dependencies": { + "AutoFixture.AutoNSubstitute": "4.17.0", + "AutoFixture.Xunit2": "4.17.0", + "Common": "2022.8.4", + "Core": "2022.8.4", + "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", + "Microsoft.NET.Test.Sdk": "17.1.0", + "Moq": "4.17.2", + "NSubstitute": "4.3.0", + "xunit": "2.4.1" + } + }, + "infrastructure.dapper": { + "type": "Project", + "dependencies": { + "Core": "2022.8.4", + "Dapper": "2.0.123", + "System.Data.SqlClient": "4.8.3" + } + }, + "infrastructure.entityframework": { + "type": "Project", + "dependencies": { + "AutoMapper.Extensions.Microsoft.DependencyInjection": "11.0.0", + "Core": "2022.8.4", + "Microsoft.EntityFrameworkCore.Relational": "6.0.4", + "Npgsql.EntityFrameworkCore.PostgreSQL": "6.0.4", + "Pomelo.EntityFrameworkCore.MySql": "6.0.1", + "linq2db.EntityFrameworkCore": "6.7.1" + } + } + } + } +} \ No newline at end of file diff --git a/test/IntegrationTestCommon/packages.lock.json b/test/IntegrationTestCommon/packages.lock.json index 8fec29d36..f1879b1db 100644 --- a/test/IntegrationTestCommon/packages.lock.json +++ b/test/IntegrationTestCommon/packages.lock.json @@ -119,8 +119,8 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.24.0", - "contentHash": "+/qI1j2oU1S4/nvxb2k/wDsol00iGf1AyJX5g3epV7eOpQEP/2xcgh/cxgKMeFgn3U2fmgSiBnQZdkV+l5y0Uw==", + "resolved": "1.22.0", + "contentHash": "ze/xRCHSSDe5TIk5vBDbVrauW1EN7UIbnBvIBfMH8KSt/I9+/7yPAjTBDgNBk0IwG6WBV+BBHp4IUtS/PGAQwQ==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "1.1.1", "System.Diagnostics.DiagnosticSource": "4.6.0", @@ -155,16 +155,6 @@ "System.Threading.Tasks.Extensions": "4.5.2" } }, - "Azure.Messaging.EventGrid": { - "type": "Transitive", - "resolved": "4.10.0", - "contentHash": "X3dh3Cek/7wFPUrBJ2KbnkJteGjWvKBoSBmD/uQm8reMIavCFTKhnl95F937eLn/2cSsm5l3oPHtYPFtDerA7Q==", - "dependencies": { - "Azure.Core": "1.24.0", - "System.Memory.Data": "1.0.2", - "System.Text.Json": "4.7.2" - } - }, "Azure.Storage.Blobs": { "type": "Transitive", "resolved": "12.11.0", @@ -628,11 +618,6 @@ "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" } }, - "Microsoft.Extensions.ApiDescription.Server": { - "type": "Transitive", - "resolved": "3.0.0", - "contentHash": "LH4OE/76F6sOCslif7+Xh3fS/wUUrE5ryeXAMcoCnuwOQGT5Smw0p57IgDh/pHgHaGz/e+AmEQb7pRgb++wt0w==" - }, "Microsoft.Extensions.Caching.Abstractions": { "type": "Transitive", "resolved": "6.0.0", @@ -1588,17 +1573,6 @@ "System.Configuration.ConfigurationManager": "6.0.0" } }, - "Swashbuckle.AspNetCore": { - "type": "Transitive", - "resolved": "6.3.1", - "contentHash": "JFk0+HHUPdjYuPhkpGBMLi2JtnEuWkE2pp0yXQp64DmeMe+Fb0hZyVNq/ENJ2vQNso7Zg+C758WmR/xyAl36bA==", - "dependencies": { - "Microsoft.Extensions.ApiDescription.Server": "3.0.0", - "Swashbuckle.AspNetCore.Swagger": "6.3.1", - "Swashbuckle.AspNetCore.SwaggerGen": "6.3.1", - "Swashbuckle.AspNetCore.SwaggerUI": "6.3.1" - } - }, "Swashbuckle.AspNetCore.Swagger": { "type": "Transitive", "resolved": "6.3.1", @@ -1615,11 +1589,6 @@ "Swashbuckle.AspNetCore.Swagger": "6.3.1" } }, - "Swashbuckle.AspNetCore.SwaggerUI": { - "type": "Transitive", - "resolved": "6.3.1", - "contentHash": "JLm9hN67jh7RHsX3H30+tb432Li8xm/qV5lRyMMkyHYMfWitIuKAAdrpo2ILcHOIeH7CLMuOO2hp/iLBmE+Bkw==" - }, "System.AppContext": { "type": "Transitive", "resolved": "4.3.0", @@ -3067,29 +3036,12 @@ "NETStandard.Library": "1.6.1" } }, - "api": { - "type": "Project", - "dependencies": { - "Azure.Messaging.EventGrid": "4.10.0", - "Commercial.Core": "2022.8.0", - "Core": "2022.8.0", - "SharedWeb": "2022.8.0", - "Swashbuckle.AspNetCore": "6.3.1" - } - }, - "commercial.core": { - "type": "Project", - "dependencies": { - "Core": "2022.8.0" - } - }, "common": { "type": "Project", "dependencies": { - "Api": "2022.8.0", "AutoFixture.AutoNSubstitute": "4.17.0", "AutoFixture.Xunit2": "4.17.0", - "Core": "2022.8.0", + "Core": "2022.8.4", "Kralizek.AutoFixture.Extensions.MockHttp": "1.2.0", "Microsoft.NET.Test.Sdk": "17.1.0", "NSubstitute": "4.3.0", @@ -3139,15 +3091,15 @@ "identity": { "type": "Project", "dependencies": { - "Core": "2022.8.0", - "SharedWeb": "2022.8.0", + "Core": "2022.8.4", + "SharedWeb": "2022.8.4", "Swashbuckle.AspNetCore.SwaggerGen": "6.3.1" } }, "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "2022.8.0", + "Core": "2022.8.4", "Dapper": "2.0.123", "System.Data.SqlClient": "4.8.3" } @@ -3156,7 +3108,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "11.0.0", - "Core": "2022.8.0", + "Core": "2022.8.4", "Microsoft.EntityFrameworkCore.Relational": "6.0.4", "Npgsql.EntityFrameworkCore.PostgreSQL": "6.0.4", "Pomelo.EntityFrameworkCore.MySql": "6.0.1", @@ -3166,9 +3118,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "2022.8.0", - "Infrastructure.Dapper": "2022.8.0", - "Infrastructure.EntityFramework": "2022.8.0" + "Core": "2022.8.4", + "Infrastructure.Dapper": "2022.8.4", + "Infrastructure.EntityFramework": "2022.8.4" } } } diff --git a/test/bitwarden.tests.sln b/test/bitwarden.tests.sln index 9e5cb7bb1..876a2d01a 100644 --- a/test/bitwarden.tests.sln +++ b/test/bitwarden.tests.sln @@ -17,6 +17,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Identity.IntegrationTest", EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IntegrationTestCommon", "IntegrationTestCommon\IntegrationTestCommon.csproj", "{41188BB8-1FAF-45F6-8DC8-F316B8A6C56B}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Infrastructure.EFIntegration.Test", "Infrastructure.EFIntegration.Test\Infrastructure.EFIntegration.Test.csproj", "{8DEA714E-567C-4F4A-B424-568C8EC2CDA1}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -114,5 +116,17 @@ Global {41188BB8-1FAF-45F6-8DC8-F316B8A6C56B}.Release|x64.Build.0 = Release|Any CPU {41188BB8-1FAF-45F6-8DC8-F316B8A6C56B}.Release|x86.ActiveCfg = Release|Any CPU {41188BB8-1FAF-45F6-8DC8-F316B8A6C56B}.Release|x86.Build.0 = Release|Any CPU + {8DEA714E-567C-4F4A-B424-568C8EC2CDA1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8DEA714E-567C-4F4A-B424-568C8EC2CDA1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8DEA714E-567C-4F4A-B424-568C8EC2CDA1}.Debug|x64.ActiveCfg = Debug|Any CPU + {8DEA714E-567C-4F4A-B424-568C8EC2CDA1}.Debug|x64.Build.0 = Debug|Any CPU + {8DEA714E-567C-4F4A-B424-568C8EC2CDA1}.Debug|x86.ActiveCfg = Debug|Any CPU + {8DEA714E-567C-4F4A-B424-568C8EC2CDA1}.Debug|x86.Build.0 = Debug|Any CPU + {8DEA714E-567C-4F4A-B424-568C8EC2CDA1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8DEA714E-567C-4F4A-B424-568C8EC2CDA1}.Release|Any CPU.Build.0 = Release|Any CPU + {8DEA714E-567C-4F4A-B424-568C8EC2CDA1}.Release|x64.ActiveCfg = Release|Any CPU + {8DEA714E-567C-4F4A-B424-568C8EC2CDA1}.Release|x64.Build.0 = Release|Any CPU + {8DEA714E-567C-4F4A-B424-568C8EC2CDA1}.Release|x86.ActiveCfg = Release|Any CPU + {8DEA714E-567C-4F4A-B424-568C8EC2CDA1}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection EndGlobal diff --git a/util/MySqlMigrations/packages.lock.json b/util/MySqlMigrations/packages.lock.json index fd95fa4d9..f205c0c75 100644 --- a/util/MySqlMigrations/packages.lock.json +++ b/util/MySqlMigrations/packages.lock.json @@ -2737,16 +2737,16 @@ "type": "Project", "dependencies": { "Azure.Messaging.EventGrid": "4.10.0", - "Commercial.Core": "2022.8.0", - "Core": "2022.8.0", - "SharedWeb": "2022.8.0", + "Commercial.Core": "2022.8.4", + "Core": "2022.8.4", + "SharedWeb": "2022.8.4", "Swashbuckle.AspNetCore": "6.3.1" } }, "commercial.core": { "type": "Project", "dependencies": { - "Core": "2022.8.0" + "Core": "2022.8.4" } }, "core": { @@ -2792,7 +2792,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "2022.8.0", + "Core": "2022.8.4", "Dapper": "2.0.123", "System.Data.SqlClient": "4.8.3" } @@ -2801,7 +2801,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "11.0.0", - "Core": "2022.8.0", + "Core": "2022.8.4", "Microsoft.EntityFrameworkCore.Relational": "6.0.4", "Npgsql.EntityFrameworkCore.PostgreSQL": "6.0.4", "Pomelo.EntityFrameworkCore.MySql": "6.0.1", @@ -2811,9 +2811,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "2022.8.0", - "Infrastructure.Dapper": "2022.8.0", - "Infrastructure.EntityFramework": "2022.8.0" + "Core": "2022.8.4", + "Infrastructure.Dapper": "2022.8.4", + "Infrastructure.EntityFramework": "2022.8.4" } } } diff --git a/util/PostgresMigrations/Migrations/DatabaseContextModelSnapshot.cs b/util/PostgresMigrations/Migrations/DatabaseContextModelSnapshot.cs index cdef656ac..d17cb9a51 100644 --- a/util/PostgresMigrations/Migrations/DatabaseContextModelSnapshot.cs +++ b/util/PostgresMigrations/Migrations/DatabaseContextModelSnapshot.cs @@ -32,13 +32,13 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("text"); b.Property("CreationDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Data") .HasColumnType("text"); b.Property("DeletedDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Favorites") .HasColumnType("text"); @@ -53,7 +53,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("smallint"); b.Property("RevisionDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Type") .HasColumnType("smallint"); @@ -76,7 +76,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("uuid"); b.Property("CreationDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("ExternalId") .HasMaxLength(300) @@ -89,7 +89,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("uuid"); b.Property("RevisionDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.HasKey("Id"); @@ -167,7 +167,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("uuid"); b.Property("CreationDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Identifier") .HasMaxLength(50) @@ -182,7 +182,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("character varying(255)"); b.Property("RevisionDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Type") .HasColumnType("smallint"); @@ -203,7 +203,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("uuid"); b.Property("CreationDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Email") .HasMaxLength(256) @@ -219,13 +219,13 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("text"); b.Property("LastNotificationDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("RecoveryInitiatedDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("RevisionDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Status") .HasColumnType("smallint"); @@ -260,7 +260,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("uuid"); b.Property("Date") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("DeviceType") .HasColumnType("smallint"); @@ -310,13 +310,13 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("uuid"); b.Property("CreationDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Name") .HasColumnType("text"); b.Property("RevisionDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("UserId") .HasColumnType("uuid"); @@ -339,10 +339,10 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("character varying(200)"); b.Property("ConsumedDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("CreationDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Data") .HasColumnType("text"); @@ -352,7 +352,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("character varying(200)"); b.Property("ExpirationDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("SessionId") .HasMaxLength(100) @@ -380,7 +380,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("boolean"); b.Property("CreationDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("ExternalId") .HasMaxLength(300) @@ -394,7 +394,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("uuid"); b.Property("RevisionDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.HasKey("Id"); @@ -429,7 +429,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("uuid"); b.Property("CreationDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Email") .HasMaxLength(256) @@ -481,13 +481,13 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("character varying(30)"); b.Property("CreationDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Enabled") .HasColumnType("boolean"); b.Property("ExpirationDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Gateway") .HasColumnType("smallint"); @@ -523,7 +523,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("character varying(50)"); b.Property("OwnersNotifiedOfAutoscaling") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Plan") .HasMaxLength(50) @@ -542,7 +542,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("text"); b.Property("RevisionDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Seats") .HasColumnType("integer"); @@ -610,7 +610,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("uuid"); b.Property("RevisionDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Type") .HasColumnType("smallint"); @@ -656,7 +656,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("character varying(256)"); b.Property("LastSyncDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("OfferedToEmail") .HasMaxLength(256) @@ -678,7 +678,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("boolean"); b.Property("ValidUntil") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.HasKey("Id"); @@ -698,7 +698,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("boolean"); b.Property("CreationDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Email") .HasMaxLength(256) @@ -721,7 +721,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("text"); b.Property("RevisionDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Status") .HasColumnType("smallint"); @@ -747,7 +747,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("uuid"); b.Property("CreationDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Data") .HasColumnType("text"); @@ -759,7 +759,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("uuid"); b.Property("RevisionDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Type") .HasColumnType("smallint"); @@ -798,7 +798,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("text"); b.Property("CreationDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Enabled") .HasColumnType("boolean"); @@ -807,7 +807,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("text"); b.Property("RevisionDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Status") .HasColumnType("smallint"); @@ -826,7 +826,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("uuid"); b.Property("CreationDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Key") .HasColumnType("text"); @@ -838,7 +838,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("uuid"); b.Property("RevisionDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Settings") .HasColumnType("text"); @@ -858,7 +858,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("uuid"); b.Property("CreationDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Email") .HasColumnType("text"); @@ -873,7 +873,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("uuid"); b.Property("RevisionDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Status") .HasColumnType("smallint"); @@ -902,19 +902,19 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("integer"); b.Property("CreationDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Data") .HasColumnType("text"); b.Property("DeletionDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Disabled") .HasColumnType("boolean"); b.Property("ExpirationDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("HideEmail") .HasColumnType("boolean"); @@ -933,7 +933,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("character varying(300)"); b.Property("RevisionDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Type") .HasColumnType("smallint"); @@ -959,7 +959,7 @@ namespace Bit.PostgresMigrations.Migrations NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreationDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Data") .HasColumnType("text"); @@ -971,7 +971,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("uuid"); b.Property("RevisionDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.HasKey("Id"); @@ -989,7 +989,7 @@ namespace Bit.PostgresMigrations.Migrations NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreationDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("ExternalId") .HasMaxLength(50) @@ -1049,7 +1049,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("numeric"); b.Property("CreationDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Details") .HasMaxLength(100) @@ -1095,7 +1095,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("uuid"); b.Property("AccountRevisionDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("ApiKey") .IsRequired() @@ -1103,7 +1103,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("character varying(30)"); b.Property("CreationDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("Culture") .HasMaxLength(10) @@ -1151,7 +1151,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("text"); b.Property("LastFailedLoginDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("LicenseKey") .HasMaxLength(100) @@ -1176,7 +1176,7 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("boolean"); b.Property("PremiumExpirationDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("PrivateKey") .HasColumnType("text"); @@ -1188,10 +1188,10 @@ namespace Bit.PostgresMigrations.Migrations .HasColumnType("text"); b.Property("RenewalReminderDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("RevisionDate") - .HasColumnType("timestamp without time zone"); + .HasColumnType("timestamp with time zone"); b.Property("SecurityStamp") .IsRequired() diff --git a/util/PostgresMigrations/packages.lock.json b/util/PostgresMigrations/packages.lock.json index fd95fa4d9..f205c0c75 100644 --- a/util/PostgresMigrations/packages.lock.json +++ b/util/PostgresMigrations/packages.lock.json @@ -2737,16 +2737,16 @@ "type": "Project", "dependencies": { "Azure.Messaging.EventGrid": "4.10.0", - "Commercial.Core": "2022.8.0", - "Core": "2022.8.0", - "SharedWeb": "2022.8.0", + "Commercial.Core": "2022.8.4", + "Core": "2022.8.4", + "SharedWeb": "2022.8.4", "Swashbuckle.AspNetCore": "6.3.1" } }, "commercial.core": { "type": "Project", "dependencies": { - "Core": "2022.8.0" + "Core": "2022.8.4" } }, "core": { @@ -2792,7 +2792,7 @@ "infrastructure.dapper": { "type": "Project", "dependencies": { - "Core": "2022.8.0", + "Core": "2022.8.4", "Dapper": "2.0.123", "System.Data.SqlClient": "4.8.3" } @@ -2801,7 +2801,7 @@ "type": "Project", "dependencies": { "AutoMapper.Extensions.Microsoft.DependencyInjection": "11.0.0", - "Core": "2022.8.0", + "Core": "2022.8.4", "Microsoft.EntityFrameworkCore.Relational": "6.0.4", "Npgsql.EntityFrameworkCore.PostgreSQL": "6.0.4", "Pomelo.EntityFrameworkCore.MySql": "6.0.1", @@ -2811,9 +2811,9 @@ "sharedweb": { "type": "Project", "dependencies": { - "Core": "2022.8.0", - "Infrastructure.Dapper": "2022.8.0", - "Infrastructure.EntityFramework": "2022.8.0" + "Core": "2022.8.4", + "Infrastructure.Dapper": "2022.8.4", + "Infrastructure.EntityFramework": "2022.8.4" } } } diff --git a/util/Setup/packages.lock.json b/util/Setup/packages.lock.json index f625fed07..1c8b77fe6 100644 --- a/util/Setup/packages.lock.json +++ b/util/Setup/packages.lock.json @@ -2625,7 +2625,7 @@ "migrator": { "type": "Project", "dependencies": { - "Core": "2022.8.0", + "Core": "2022.8.4", "Microsoft.Extensions.Logging": "6.0.0", "dbup-sqlserver": "4.5.0" }