diff --git a/backend/Knot.sln b/backend/Knot.sln index cf3e6c5..81fae98 100644 --- a/backend/Knot.sln +++ b/backend/Knot.sln @@ -65,112 +65,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebRtc", "WebRtc", "{DD6FAF EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.WebRtc", "src\Modules\WebRtc\Knot.Modules.WebRtc.csproj", "{03BE4EB1-FD38-445A-9A4B-7B481560E9A2}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{0AB3BF05-4346-4AA6-1389-037BE0695223}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Shared", "Shared", "{D0D6B8B0-AC35-B3FA-0B96-A9B0E4A3253E}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IntegrationTests.Shared", "IntegrationTests.Shared", "{21C6533F-5B99-F63D-D6A0-0D1E74554637}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.IntegrationTests.Shared", "Tests\Shared\IntegrationTests.Shared\Knot.IntegrationTests.Shared.csproj", "{2BDD861B-44BC-463B-88C4-E8E2B516A7EE}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Host", "src\Host\Host.csproj", "{98ABB710-9106-4E5C-AA04-D19D5E92EDC1}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Stories", "Stories", "{407BCCB7-2AB0-5429-FB5F-A9376121CF06}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UnitTests", "UnitTests", "{E7E14295-D412-4B43-44D5-0AAD5D27712E}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Stories.UnitTests", "Tests\Stories\UnitTests\Knot.Modules.Stories.UnitTests.csproj", "{8865807E-C577-4476-BE33-0EBB4E07CD8B}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IntegrationTests", "IntegrationTests", "{8CFDC985-5E1F-E566-CA4D-28D1B5AD1B06}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Stories.IntegrationTests", "Tests\Stories\IntegrationTests\Knot.Modules.Stories.IntegrationTests.csproj", "{028AF0DA-6D64-435F-B1CA-C14829892C4F}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Admin", "Admin", "{EDEF9ADB-D556-6B20-2E4B-8F977F5C545A}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UnitTests", "UnitTests", "{AA22B6BC-789B-946B-F9BD-06D6D86B3211}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Admin.UnitTests", "Tests\Admin\UnitTests\Knot.Modules.Admin.UnitTests.csproj", "{9DB38617-9738-45C3-A101-8B04869CB07F}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IntegrationTests", "IntegrationTests", "{1A80A494-6197-707A-BB12-E5CAFEB6DBC3}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Admin.IntegrationTests", "Tests\Admin\IntegrationTests\Knot.Modules.Admin.IntegrationTests.csproj", "{ABC9A8FF-0332-4987-A2E8-63108394DA26}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Auth", "Auth", "{EDFE54F1-08A0-5241-003B-94DECB51237C}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UnitTests", "UnitTests", "{50896B77-11EA-ADED-5FA2-195E6FABE81B}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Auth.UnitTests", "Tests\Auth\UnitTests\Knot.Modules.Auth.UnitTests.csproj", "{DD4F5E02-4366-4CA3-8CF1-941C21C27B6E}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IntegrationTests", "IntegrationTests", "{0BF9C624-18C3-4CFE-0DEF-3D1D0C280507}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Auth.IntegrationTests", "Tests\Auth\IntegrationTests\Knot.Modules.Auth.IntegrationTests.csproj", "{776C6198-A229-4C2C-B19E-3F2744BD5279}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Federation", "Federation", "{036B8169-510F-3971-AD3F-66559BF086AA}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UnitTests", "UnitTests", "{92885E6D-C52A-2FB4-A33D-9A8FE23A87BF}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Federation.UnitTests", "Tests\Federation\UnitTests\Knot.Modules.Federation.UnitTests.csproj", "{EA780C77-735F-4FA7-8AE9-78413C928BA6}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IntegrationTests", "IntegrationTests", "{3794ADC3-BA35-663C-885F-C144081FBEA1}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Federation.IntegrationTests", "Tests\Federation\IntegrationTests\Knot.Modules.Federation.IntegrationTests.csproj", "{60326D0F-D9C7-4B8D-B664-BC8DE239AD31}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Messaging", "Messaging", "{3AB41C38-05DB-BFCC-9BA0-9BC97041A508}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UnitTests", "UnitTests", "{43109C86-4551-F94F-E9C3-994B9C735653}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Messaging.UnitTests", "Tests\Messaging\UnitTests\Knot.Modules.Messaging.UnitTests.csproj", "{635D6C93-D9E2-46C2-9294-5C0713CBA245}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IntegrationTests", "IntegrationTests", "{FE27F79D-3631-2D96-056A-69F8E94CD8E3}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Messaging.IntegrationTests", "Tests\Messaging\IntegrationTests\Knot.Modules.Messaging.IntegrationTests.csproj", "{0C37AA6D-37DB-439B-97D5-9E799DDDC831}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Relations", "Relations", "{F29503A5-E7F1-B611-4026-76E83B89B0AB}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UnitTests", "UnitTests", "{8D009ABD-C820-B7D4-2412-0990C1960013}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Relations.UnitTests", "Tests\Relations\UnitTests\Knot.Modules.Relations.UnitTests.csproj", "{89593AC0-B761-400D-8213-F6E728980F59}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IntegrationTests", "IntegrationTests", "{7C677DC5-D0E9-6A09-3DB0-042075A9E677}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Relations.IntegrationTests", "Tests\Relations\IntegrationTests\Knot.Modules.Relations.IntegrationTests.csproj", "{312F4C56-7865-47FD-8170-E6555DBC4884}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Conversations", "Conversations", "{382D38B3-4D74-95AB-947E-DC7B53CBCF32}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UnitTests", "UnitTests", "{489DA9C1-7DF6-4B43-A5A6-01AD261B3AC8}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Conversations.UnitTests", "Tests\Conversations\UnitTests\Knot.Modules.Conversations.UnitTests.csproj", "{5B428B36-6857-47BA-8DE1-A8207A2DF1E8}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TelegramImport", "TelegramImport", "{A3D04C92-6F74-537C-D0F4-BD2C8CD7687D}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UnitTests", "UnitTests", "{2BF544BD-4498-3DD9-D97E-96A22189C7D8}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.TelegramImport.UnitTests", "Tests\TelegramImport\UnitTests\Knot.Modules.TelegramImport.UnitTests.csproj", "{568561C3-C4D9-4783-8103-B68C94E2F8D1}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebRtc", "WebRtc", "{CCF0649B-70C0-BDF5-F1BD-87A1DBED8C5D}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UnitTests", "UnitTests", "{4FFF0ACB-E93F-597A-5968-6C89F4BB5AC7}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.WebRtc.UnitTests", "Tests\WebRtc\UnitTests\Knot.Modules.WebRtc.UnitTests.csproj", "{65A65ABB-1F74-471C-84C5-E9CBA6F27B74}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Klipy", "Klipy", "{46A5ACB5-176C-983D-5434-922CD2C33C4A}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UnitTests", "UnitTests", "{43930E3C-6ABA-C329-E65B-CFA08664DBAF}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Klipy.UnitTests", "Tests\Klipy\UnitTests\Knot.Modules.Klipy.UnitTests.csproj", "{71B7CB00-B0B9-4FEB-9E9F-E8B47FAD5408}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Storage", "Storage", "{B6FD6E61-6054-1C88-3299-57EC8B98D824}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UnitTests", "UnitTests", "{93CD11E9-EE4D-82DD-DD63-4D36831D0976}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Storage.UnitTests", "Tests\Storage\UnitTests\Knot.Modules.Storage.UnitTests.csproj", "{418BE048-D472-40C0-917F-060A9E781B82}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Users", "Users", "{553D81D4-666B-BE26-75F9-480CB214ACEE}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UnitTests", "UnitTests", "{3A48F700-9635-2216-D291-85337CE5D869}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knot.Modules.Profiles.UnitTests", "Tests\Users\UnitTests\Knot.Modules.Profiles.UnitTests.csproj", "{6BD8DC02-2270-4276-952E-E34E973A1237}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Contracts", "Contracts", "{FFBE31B8-50B9-B415-22BC-2F92C97CADA3}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Admin", "Admin", "{1C8A9B45-FCC1-A5B3-3601-CB39D7CED4E3}" @@ -415,18 +311,6 @@ Global {03BE4EB1-FD38-445A-9A4B-7B481560E9A2}.Release|x64.Build.0 = Release|Any CPU {03BE4EB1-FD38-445A-9A4B-7B481560E9A2}.Release|x86.ActiveCfg = Release|Any CPU {03BE4EB1-FD38-445A-9A4B-7B481560E9A2}.Release|x86.Build.0 = Release|Any CPU - {2BDD861B-44BC-463B-88C4-E8E2B516A7EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2BDD861B-44BC-463B-88C4-E8E2B516A7EE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2BDD861B-44BC-463B-88C4-E8E2B516A7EE}.Debug|x64.ActiveCfg = Debug|Any CPU - {2BDD861B-44BC-463B-88C4-E8E2B516A7EE}.Debug|x64.Build.0 = Debug|Any CPU - {2BDD861B-44BC-463B-88C4-E8E2B516A7EE}.Debug|x86.ActiveCfg = Debug|Any CPU - {2BDD861B-44BC-463B-88C4-E8E2B516A7EE}.Debug|x86.Build.0 = Debug|Any CPU - {2BDD861B-44BC-463B-88C4-E8E2B516A7EE}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2BDD861B-44BC-463B-88C4-E8E2B516A7EE}.Release|Any CPU.Build.0 = Release|Any CPU - {2BDD861B-44BC-463B-88C4-E8E2B516A7EE}.Release|x64.ActiveCfg = Release|Any CPU - {2BDD861B-44BC-463B-88C4-E8E2B516A7EE}.Release|x64.Build.0 = Release|Any CPU - {2BDD861B-44BC-463B-88C4-E8E2B516A7EE}.Release|x86.ActiveCfg = Release|Any CPU - {2BDD861B-44BC-463B-88C4-E8E2B516A7EE}.Release|x86.Build.0 = Release|Any CPU {98ABB710-9106-4E5C-AA04-D19D5E92EDC1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {98ABB710-9106-4E5C-AA04-D19D5E92EDC1}.Debug|Any CPU.Build.0 = Debug|Any CPU {98ABB710-9106-4E5C-AA04-D19D5E92EDC1}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -439,222 +323,6 @@ Global {98ABB710-9106-4E5C-AA04-D19D5E92EDC1}.Release|x64.Build.0 = Release|Any CPU {98ABB710-9106-4E5C-AA04-D19D5E92EDC1}.Release|x86.ActiveCfg = Release|Any CPU {98ABB710-9106-4E5C-AA04-D19D5E92EDC1}.Release|x86.Build.0 = Release|Any CPU - {8865807E-C577-4476-BE33-0EBB4E07CD8B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8865807E-C577-4476-BE33-0EBB4E07CD8B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8865807E-C577-4476-BE33-0EBB4E07CD8B}.Debug|x64.ActiveCfg = Debug|Any CPU - {8865807E-C577-4476-BE33-0EBB4E07CD8B}.Debug|x64.Build.0 = Debug|Any CPU - {8865807E-C577-4476-BE33-0EBB4E07CD8B}.Debug|x86.ActiveCfg = Debug|Any CPU - {8865807E-C577-4476-BE33-0EBB4E07CD8B}.Debug|x86.Build.0 = Debug|Any CPU - {8865807E-C577-4476-BE33-0EBB4E07CD8B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8865807E-C577-4476-BE33-0EBB4E07CD8B}.Release|Any CPU.Build.0 = Release|Any CPU - {8865807E-C577-4476-BE33-0EBB4E07CD8B}.Release|x64.ActiveCfg = Release|Any CPU - {8865807E-C577-4476-BE33-0EBB4E07CD8B}.Release|x64.Build.0 = Release|Any CPU - {8865807E-C577-4476-BE33-0EBB4E07CD8B}.Release|x86.ActiveCfg = Release|Any CPU - {8865807E-C577-4476-BE33-0EBB4E07CD8B}.Release|x86.Build.0 = Release|Any CPU - {028AF0DA-6D64-435F-B1CA-C14829892C4F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {028AF0DA-6D64-435F-B1CA-C14829892C4F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {028AF0DA-6D64-435F-B1CA-C14829892C4F}.Debug|x64.ActiveCfg = Debug|Any CPU - {028AF0DA-6D64-435F-B1CA-C14829892C4F}.Debug|x64.Build.0 = Debug|Any CPU - {028AF0DA-6D64-435F-B1CA-C14829892C4F}.Debug|x86.ActiveCfg = Debug|Any CPU - {028AF0DA-6D64-435F-B1CA-C14829892C4F}.Debug|x86.Build.0 = Debug|Any CPU - {028AF0DA-6D64-435F-B1CA-C14829892C4F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {028AF0DA-6D64-435F-B1CA-C14829892C4F}.Release|Any CPU.Build.0 = Release|Any CPU - {028AF0DA-6D64-435F-B1CA-C14829892C4F}.Release|x64.ActiveCfg = Release|Any CPU - {028AF0DA-6D64-435F-B1CA-C14829892C4F}.Release|x64.Build.0 = Release|Any CPU - {028AF0DA-6D64-435F-B1CA-C14829892C4F}.Release|x86.ActiveCfg = Release|Any CPU - {028AF0DA-6D64-435F-B1CA-C14829892C4F}.Release|x86.Build.0 = Release|Any CPU - {9DB38617-9738-45C3-A101-8B04869CB07F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {9DB38617-9738-45C3-A101-8B04869CB07F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {9DB38617-9738-45C3-A101-8B04869CB07F}.Debug|x64.ActiveCfg = Debug|Any CPU - {9DB38617-9738-45C3-A101-8B04869CB07F}.Debug|x64.Build.0 = Debug|Any CPU - {9DB38617-9738-45C3-A101-8B04869CB07F}.Debug|x86.ActiveCfg = Debug|Any CPU - {9DB38617-9738-45C3-A101-8B04869CB07F}.Debug|x86.Build.0 = Debug|Any CPU - {9DB38617-9738-45C3-A101-8B04869CB07F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {9DB38617-9738-45C3-A101-8B04869CB07F}.Release|Any CPU.Build.0 = Release|Any CPU - {9DB38617-9738-45C3-A101-8B04869CB07F}.Release|x64.ActiveCfg = Release|Any CPU - {9DB38617-9738-45C3-A101-8B04869CB07F}.Release|x64.Build.0 = Release|Any CPU - {9DB38617-9738-45C3-A101-8B04869CB07F}.Release|x86.ActiveCfg = Release|Any CPU - {9DB38617-9738-45C3-A101-8B04869CB07F}.Release|x86.Build.0 = Release|Any CPU - {ABC9A8FF-0332-4987-A2E8-63108394DA26}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {ABC9A8FF-0332-4987-A2E8-63108394DA26}.Debug|Any CPU.Build.0 = Debug|Any CPU - {ABC9A8FF-0332-4987-A2E8-63108394DA26}.Debug|x64.ActiveCfg = Debug|Any CPU - {ABC9A8FF-0332-4987-A2E8-63108394DA26}.Debug|x64.Build.0 = Debug|Any CPU - {ABC9A8FF-0332-4987-A2E8-63108394DA26}.Debug|x86.ActiveCfg = Debug|Any CPU - {ABC9A8FF-0332-4987-A2E8-63108394DA26}.Debug|x86.Build.0 = Debug|Any CPU - {ABC9A8FF-0332-4987-A2E8-63108394DA26}.Release|Any CPU.ActiveCfg = Release|Any CPU - {ABC9A8FF-0332-4987-A2E8-63108394DA26}.Release|Any CPU.Build.0 = Release|Any CPU - {ABC9A8FF-0332-4987-A2E8-63108394DA26}.Release|x64.ActiveCfg = Release|Any CPU - {ABC9A8FF-0332-4987-A2E8-63108394DA26}.Release|x64.Build.0 = Release|Any CPU - {ABC9A8FF-0332-4987-A2E8-63108394DA26}.Release|x86.ActiveCfg = Release|Any CPU - {ABC9A8FF-0332-4987-A2E8-63108394DA26}.Release|x86.Build.0 = Release|Any CPU - {DD4F5E02-4366-4CA3-8CF1-941C21C27B6E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {DD4F5E02-4366-4CA3-8CF1-941C21C27B6E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DD4F5E02-4366-4CA3-8CF1-941C21C27B6E}.Debug|x64.ActiveCfg = Debug|Any CPU - {DD4F5E02-4366-4CA3-8CF1-941C21C27B6E}.Debug|x64.Build.0 = Debug|Any CPU - {DD4F5E02-4366-4CA3-8CF1-941C21C27B6E}.Debug|x86.ActiveCfg = Debug|Any CPU - {DD4F5E02-4366-4CA3-8CF1-941C21C27B6E}.Debug|x86.Build.0 = Debug|Any CPU - {DD4F5E02-4366-4CA3-8CF1-941C21C27B6E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {DD4F5E02-4366-4CA3-8CF1-941C21C27B6E}.Release|Any CPU.Build.0 = Release|Any CPU - {DD4F5E02-4366-4CA3-8CF1-941C21C27B6E}.Release|x64.ActiveCfg = Release|Any CPU - {DD4F5E02-4366-4CA3-8CF1-941C21C27B6E}.Release|x64.Build.0 = Release|Any CPU - {DD4F5E02-4366-4CA3-8CF1-941C21C27B6E}.Release|x86.ActiveCfg = Release|Any CPU - {DD4F5E02-4366-4CA3-8CF1-941C21C27B6E}.Release|x86.Build.0 = Release|Any CPU - {776C6198-A229-4C2C-B19E-3F2744BD5279}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {776C6198-A229-4C2C-B19E-3F2744BD5279}.Debug|Any CPU.Build.0 = Debug|Any CPU - {776C6198-A229-4C2C-B19E-3F2744BD5279}.Debug|x64.ActiveCfg = Debug|Any CPU - {776C6198-A229-4C2C-B19E-3F2744BD5279}.Debug|x64.Build.0 = Debug|Any CPU - {776C6198-A229-4C2C-B19E-3F2744BD5279}.Debug|x86.ActiveCfg = Debug|Any CPU - {776C6198-A229-4C2C-B19E-3F2744BD5279}.Debug|x86.Build.0 = Debug|Any CPU - {776C6198-A229-4C2C-B19E-3F2744BD5279}.Release|Any CPU.ActiveCfg = Release|Any CPU - {776C6198-A229-4C2C-B19E-3F2744BD5279}.Release|Any CPU.Build.0 = Release|Any CPU - {776C6198-A229-4C2C-B19E-3F2744BD5279}.Release|x64.ActiveCfg = Release|Any CPU - {776C6198-A229-4C2C-B19E-3F2744BD5279}.Release|x64.Build.0 = Release|Any CPU - {776C6198-A229-4C2C-B19E-3F2744BD5279}.Release|x86.ActiveCfg = Release|Any CPU - {776C6198-A229-4C2C-B19E-3F2744BD5279}.Release|x86.Build.0 = Release|Any CPU - {EA780C77-735F-4FA7-8AE9-78413C928BA6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {EA780C77-735F-4FA7-8AE9-78413C928BA6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EA780C77-735F-4FA7-8AE9-78413C928BA6}.Debug|x64.ActiveCfg = Debug|Any CPU - {EA780C77-735F-4FA7-8AE9-78413C928BA6}.Debug|x64.Build.0 = Debug|Any CPU - {EA780C77-735F-4FA7-8AE9-78413C928BA6}.Debug|x86.ActiveCfg = Debug|Any CPU - {EA780C77-735F-4FA7-8AE9-78413C928BA6}.Debug|x86.Build.0 = Debug|Any CPU - {EA780C77-735F-4FA7-8AE9-78413C928BA6}.Release|Any CPU.ActiveCfg = Release|Any CPU - {EA780C77-735F-4FA7-8AE9-78413C928BA6}.Release|Any CPU.Build.0 = Release|Any CPU - {EA780C77-735F-4FA7-8AE9-78413C928BA6}.Release|x64.ActiveCfg = Release|Any CPU - {EA780C77-735F-4FA7-8AE9-78413C928BA6}.Release|x64.Build.0 = Release|Any CPU - {EA780C77-735F-4FA7-8AE9-78413C928BA6}.Release|x86.ActiveCfg = Release|Any CPU - {EA780C77-735F-4FA7-8AE9-78413C928BA6}.Release|x86.Build.0 = Release|Any CPU - {60326D0F-D9C7-4B8D-B664-BC8DE239AD31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {60326D0F-D9C7-4B8D-B664-BC8DE239AD31}.Debug|Any CPU.Build.0 = Debug|Any CPU - {60326D0F-D9C7-4B8D-B664-BC8DE239AD31}.Debug|x64.ActiveCfg = Debug|Any CPU - {60326D0F-D9C7-4B8D-B664-BC8DE239AD31}.Debug|x64.Build.0 = Debug|Any CPU - {60326D0F-D9C7-4B8D-B664-BC8DE239AD31}.Debug|x86.ActiveCfg = Debug|Any CPU - {60326D0F-D9C7-4B8D-B664-BC8DE239AD31}.Debug|x86.Build.0 = Debug|Any CPU - {60326D0F-D9C7-4B8D-B664-BC8DE239AD31}.Release|Any CPU.ActiveCfg = Release|Any CPU - {60326D0F-D9C7-4B8D-B664-BC8DE239AD31}.Release|Any CPU.Build.0 = Release|Any CPU - {60326D0F-D9C7-4B8D-B664-BC8DE239AD31}.Release|x64.ActiveCfg = Release|Any CPU - {60326D0F-D9C7-4B8D-B664-BC8DE239AD31}.Release|x64.Build.0 = Release|Any CPU - {60326D0F-D9C7-4B8D-B664-BC8DE239AD31}.Release|x86.ActiveCfg = Release|Any CPU - {60326D0F-D9C7-4B8D-B664-BC8DE239AD31}.Release|x86.Build.0 = Release|Any CPU - {635D6C93-D9E2-46C2-9294-5C0713CBA245}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {635D6C93-D9E2-46C2-9294-5C0713CBA245}.Debug|Any CPU.Build.0 = Debug|Any CPU - {635D6C93-D9E2-46C2-9294-5C0713CBA245}.Debug|x64.ActiveCfg = Debug|Any CPU - {635D6C93-D9E2-46C2-9294-5C0713CBA245}.Debug|x64.Build.0 = Debug|Any CPU - {635D6C93-D9E2-46C2-9294-5C0713CBA245}.Debug|x86.ActiveCfg = Debug|Any CPU - {635D6C93-D9E2-46C2-9294-5C0713CBA245}.Debug|x86.Build.0 = Debug|Any CPU - {635D6C93-D9E2-46C2-9294-5C0713CBA245}.Release|Any CPU.ActiveCfg = Release|Any CPU - {635D6C93-D9E2-46C2-9294-5C0713CBA245}.Release|Any CPU.Build.0 = Release|Any CPU - {635D6C93-D9E2-46C2-9294-5C0713CBA245}.Release|x64.ActiveCfg = Release|Any CPU - {635D6C93-D9E2-46C2-9294-5C0713CBA245}.Release|x64.Build.0 = Release|Any CPU - {635D6C93-D9E2-46C2-9294-5C0713CBA245}.Release|x86.ActiveCfg = Release|Any CPU - {635D6C93-D9E2-46C2-9294-5C0713CBA245}.Release|x86.Build.0 = Release|Any CPU - {0C37AA6D-37DB-439B-97D5-9E799DDDC831}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0C37AA6D-37DB-439B-97D5-9E799DDDC831}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0C37AA6D-37DB-439B-97D5-9E799DDDC831}.Debug|x64.ActiveCfg = Debug|Any CPU - {0C37AA6D-37DB-439B-97D5-9E799DDDC831}.Debug|x64.Build.0 = Debug|Any CPU - {0C37AA6D-37DB-439B-97D5-9E799DDDC831}.Debug|x86.ActiveCfg = Debug|Any CPU - {0C37AA6D-37DB-439B-97D5-9E799DDDC831}.Debug|x86.Build.0 = Debug|Any CPU - {0C37AA6D-37DB-439B-97D5-9E799DDDC831}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0C37AA6D-37DB-439B-97D5-9E799DDDC831}.Release|Any CPU.Build.0 = Release|Any CPU - {0C37AA6D-37DB-439B-97D5-9E799DDDC831}.Release|x64.ActiveCfg = Release|Any CPU - {0C37AA6D-37DB-439B-97D5-9E799DDDC831}.Release|x64.Build.0 = Release|Any CPU - {0C37AA6D-37DB-439B-97D5-9E799DDDC831}.Release|x86.ActiveCfg = Release|Any CPU - {0C37AA6D-37DB-439B-97D5-9E799DDDC831}.Release|x86.Build.0 = Release|Any CPU - {89593AC0-B761-400D-8213-F6E728980F59}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {89593AC0-B761-400D-8213-F6E728980F59}.Debug|Any CPU.Build.0 = Debug|Any CPU - {89593AC0-B761-400D-8213-F6E728980F59}.Debug|x64.ActiveCfg = Debug|Any CPU - {89593AC0-B761-400D-8213-F6E728980F59}.Debug|x64.Build.0 = Debug|Any CPU - {89593AC0-B761-400D-8213-F6E728980F59}.Debug|x86.ActiveCfg = Debug|Any CPU - {89593AC0-B761-400D-8213-F6E728980F59}.Debug|x86.Build.0 = Debug|Any CPU - {89593AC0-B761-400D-8213-F6E728980F59}.Release|Any CPU.ActiveCfg = Release|Any CPU - {89593AC0-B761-400D-8213-F6E728980F59}.Release|Any CPU.Build.0 = Release|Any CPU - {89593AC0-B761-400D-8213-F6E728980F59}.Release|x64.ActiveCfg = Release|Any CPU - {89593AC0-B761-400D-8213-F6E728980F59}.Release|x64.Build.0 = Release|Any CPU - {89593AC0-B761-400D-8213-F6E728980F59}.Release|x86.ActiveCfg = Release|Any CPU - {89593AC0-B761-400D-8213-F6E728980F59}.Release|x86.Build.0 = Release|Any CPU - {312F4C56-7865-47FD-8170-E6555DBC4884}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {312F4C56-7865-47FD-8170-E6555DBC4884}.Debug|Any CPU.Build.0 = Debug|Any CPU - {312F4C56-7865-47FD-8170-E6555DBC4884}.Debug|x64.ActiveCfg = Debug|Any CPU - {312F4C56-7865-47FD-8170-E6555DBC4884}.Debug|x64.Build.0 = Debug|Any CPU - {312F4C56-7865-47FD-8170-E6555DBC4884}.Debug|x86.ActiveCfg = Debug|Any CPU - {312F4C56-7865-47FD-8170-E6555DBC4884}.Debug|x86.Build.0 = Debug|Any CPU - {312F4C56-7865-47FD-8170-E6555DBC4884}.Release|Any CPU.ActiveCfg = Release|Any CPU - {312F4C56-7865-47FD-8170-E6555DBC4884}.Release|Any CPU.Build.0 = Release|Any CPU - {312F4C56-7865-47FD-8170-E6555DBC4884}.Release|x64.ActiveCfg = Release|Any CPU - {312F4C56-7865-47FD-8170-E6555DBC4884}.Release|x64.Build.0 = Release|Any CPU - {312F4C56-7865-47FD-8170-E6555DBC4884}.Release|x86.ActiveCfg = Release|Any CPU - {312F4C56-7865-47FD-8170-E6555DBC4884}.Release|x86.Build.0 = Release|Any CPU - {5B428B36-6857-47BA-8DE1-A8207A2DF1E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5B428B36-6857-47BA-8DE1-A8207A2DF1E8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5B428B36-6857-47BA-8DE1-A8207A2DF1E8}.Debug|x64.ActiveCfg = Debug|Any CPU - {5B428B36-6857-47BA-8DE1-A8207A2DF1E8}.Debug|x64.Build.0 = Debug|Any CPU - {5B428B36-6857-47BA-8DE1-A8207A2DF1E8}.Debug|x86.ActiveCfg = Debug|Any CPU - {5B428B36-6857-47BA-8DE1-A8207A2DF1E8}.Debug|x86.Build.0 = Debug|Any CPU - {5B428B36-6857-47BA-8DE1-A8207A2DF1E8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5B428B36-6857-47BA-8DE1-A8207A2DF1E8}.Release|Any CPU.Build.0 = Release|Any CPU - {5B428B36-6857-47BA-8DE1-A8207A2DF1E8}.Release|x64.ActiveCfg = Release|Any CPU - {5B428B36-6857-47BA-8DE1-A8207A2DF1E8}.Release|x64.Build.0 = Release|Any CPU - {5B428B36-6857-47BA-8DE1-A8207A2DF1E8}.Release|x86.ActiveCfg = Release|Any CPU - {5B428B36-6857-47BA-8DE1-A8207A2DF1E8}.Release|x86.Build.0 = Release|Any CPU - {568561C3-C4D9-4783-8103-B68C94E2F8D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {568561C3-C4D9-4783-8103-B68C94E2F8D1}.Debug|Any CPU.Build.0 = Debug|Any CPU - {568561C3-C4D9-4783-8103-B68C94E2F8D1}.Debug|x64.ActiveCfg = Debug|Any CPU - {568561C3-C4D9-4783-8103-B68C94E2F8D1}.Debug|x64.Build.0 = Debug|Any CPU - {568561C3-C4D9-4783-8103-B68C94E2F8D1}.Debug|x86.ActiveCfg = Debug|Any CPU - {568561C3-C4D9-4783-8103-B68C94E2F8D1}.Debug|x86.Build.0 = Debug|Any CPU - {568561C3-C4D9-4783-8103-B68C94E2F8D1}.Release|Any CPU.ActiveCfg = Release|Any CPU - {568561C3-C4D9-4783-8103-B68C94E2F8D1}.Release|Any CPU.Build.0 = Release|Any CPU - {568561C3-C4D9-4783-8103-B68C94E2F8D1}.Release|x64.ActiveCfg = Release|Any CPU - {568561C3-C4D9-4783-8103-B68C94E2F8D1}.Release|x64.Build.0 = Release|Any CPU - {568561C3-C4D9-4783-8103-B68C94E2F8D1}.Release|x86.ActiveCfg = Release|Any CPU - {568561C3-C4D9-4783-8103-B68C94E2F8D1}.Release|x86.Build.0 = Release|Any CPU - {65A65ABB-1F74-471C-84C5-E9CBA6F27B74}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {65A65ABB-1F74-471C-84C5-E9CBA6F27B74}.Debug|Any CPU.Build.0 = Debug|Any CPU - {65A65ABB-1F74-471C-84C5-E9CBA6F27B74}.Debug|x64.ActiveCfg = Debug|Any CPU - {65A65ABB-1F74-471C-84C5-E9CBA6F27B74}.Debug|x64.Build.0 = Debug|Any CPU - {65A65ABB-1F74-471C-84C5-E9CBA6F27B74}.Debug|x86.ActiveCfg = Debug|Any CPU - {65A65ABB-1F74-471C-84C5-E9CBA6F27B74}.Debug|x86.Build.0 = Debug|Any CPU - {65A65ABB-1F74-471C-84C5-E9CBA6F27B74}.Release|Any CPU.ActiveCfg = Release|Any CPU - {65A65ABB-1F74-471C-84C5-E9CBA6F27B74}.Release|Any CPU.Build.0 = Release|Any CPU - {65A65ABB-1F74-471C-84C5-E9CBA6F27B74}.Release|x64.ActiveCfg = Release|Any CPU - {65A65ABB-1F74-471C-84C5-E9CBA6F27B74}.Release|x64.Build.0 = Release|Any CPU - {65A65ABB-1F74-471C-84C5-E9CBA6F27B74}.Release|x86.ActiveCfg = Release|Any CPU - {65A65ABB-1F74-471C-84C5-E9CBA6F27B74}.Release|x86.Build.0 = Release|Any CPU - {71B7CB00-B0B9-4FEB-9E9F-E8B47FAD5408}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {71B7CB00-B0B9-4FEB-9E9F-E8B47FAD5408}.Debug|Any CPU.Build.0 = Debug|Any CPU - {71B7CB00-B0B9-4FEB-9E9F-E8B47FAD5408}.Debug|x64.ActiveCfg = Debug|Any CPU - {71B7CB00-B0B9-4FEB-9E9F-E8B47FAD5408}.Debug|x64.Build.0 = Debug|Any CPU - {71B7CB00-B0B9-4FEB-9E9F-E8B47FAD5408}.Debug|x86.ActiveCfg = Debug|Any CPU - {71B7CB00-B0B9-4FEB-9E9F-E8B47FAD5408}.Debug|x86.Build.0 = Debug|Any CPU - {71B7CB00-B0B9-4FEB-9E9F-E8B47FAD5408}.Release|Any CPU.ActiveCfg = Release|Any CPU - {71B7CB00-B0B9-4FEB-9E9F-E8B47FAD5408}.Release|Any CPU.Build.0 = Release|Any CPU - {71B7CB00-B0B9-4FEB-9E9F-E8B47FAD5408}.Release|x64.ActiveCfg = Release|Any CPU - {71B7CB00-B0B9-4FEB-9E9F-E8B47FAD5408}.Release|x64.Build.0 = Release|Any CPU - {71B7CB00-B0B9-4FEB-9E9F-E8B47FAD5408}.Release|x86.ActiveCfg = Release|Any CPU - {71B7CB00-B0B9-4FEB-9E9F-E8B47FAD5408}.Release|x86.Build.0 = Release|Any CPU - {418BE048-D472-40C0-917F-060A9E781B82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {418BE048-D472-40C0-917F-060A9E781B82}.Debug|Any CPU.Build.0 = Debug|Any CPU - {418BE048-D472-40C0-917F-060A9E781B82}.Debug|x64.ActiveCfg = Debug|Any CPU - {418BE048-D472-40C0-917F-060A9E781B82}.Debug|x64.Build.0 = Debug|Any CPU - {418BE048-D472-40C0-917F-060A9E781B82}.Debug|x86.ActiveCfg = Debug|Any CPU - {418BE048-D472-40C0-917F-060A9E781B82}.Debug|x86.Build.0 = Debug|Any CPU - {418BE048-D472-40C0-917F-060A9E781B82}.Release|Any CPU.ActiveCfg = Release|Any CPU - {418BE048-D472-40C0-917F-060A9E781B82}.Release|Any CPU.Build.0 = Release|Any CPU - {418BE048-D472-40C0-917F-060A9E781B82}.Release|x64.ActiveCfg = Release|Any CPU - {418BE048-D472-40C0-917F-060A9E781B82}.Release|x64.Build.0 = Release|Any CPU - {418BE048-D472-40C0-917F-060A9E781B82}.Release|x86.ActiveCfg = Release|Any CPU - {418BE048-D472-40C0-917F-060A9E781B82}.Release|x86.Build.0 = Release|Any CPU - {6BD8DC02-2270-4276-952E-E34E973A1237}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6BD8DC02-2270-4276-952E-E34E973A1237}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6BD8DC02-2270-4276-952E-E34E973A1237}.Debug|x64.ActiveCfg = Debug|Any CPU - {6BD8DC02-2270-4276-952E-E34E973A1237}.Debug|x64.Build.0 = Debug|Any CPU - {6BD8DC02-2270-4276-952E-E34E973A1237}.Debug|x86.ActiveCfg = Debug|Any CPU - {6BD8DC02-2270-4276-952E-E34E973A1237}.Debug|x86.Build.0 = Debug|Any CPU - {6BD8DC02-2270-4276-952E-E34E973A1237}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6BD8DC02-2270-4276-952E-E34E973A1237}.Release|Any CPU.Build.0 = Release|Any CPU - {6BD8DC02-2270-4276-952E-E34E973A1237}.Release|x64.ActiveCfg = Release|Any CPU - {6BD8DC02-2270-4276-952E-E34E973A1237}.Release|x64.Build.0 = Release|Any CPU - {6BD8DC02-2270-4276-952E-E34E973A1237}.Release|x86.ActiveCfg = Release|Any CPU - {6BD8DC02-2270-4276-952E-E34E973A1237}.Release|x86.Build.0 = Release|Any CPU {D3C7D267-5646-4907-A451-E7CFA853BBF5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D3C7D267-5646-4907-A451-E7CFA853BBF5}.Debug|Any CPU.Build.0 = Debug|Any CPU {D3C7D267-5646-4907-A451-E7CFA853BBF5}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -846,58 +514,7 @@ Global {AEFD93B4-59B8-4B02-A694-CA15E4EC1C08} = {0587C5BB-3015-204D-19B6-EB01E03E48B6} {DD6FAF9E-10A0-95E7-0C06-698A6F70AFEE} = {EC447DCF-ABFA-6E24-52A5-D7FD48A5C558} {03BE4EB1-FD38-445A-9A4B-7B481560E9A2} = {DD6FAF9E-10A0-95E7-0C06-698A6F70AFEE} - {D0D6B8B0-AC35-B3FA-0B96-A9B0E4A3253E} = {0AB3BF05-4346-4AA6-1389-037BE0695223} - {21C6533F-5B99-F63D-D6A0-0D1E74554637} = {D0D6B8B0-AC35-B3FA-0B96-A9B0E4A3253E} - {2BDD861B-44BC-463B-88C4-E8E2B516A7EE} = {21C6533F-5B99-F63D-D6A0-0D1E74554637} {98ABB710-9106-4E5C-AA04-D19D5E92EDC1} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B} - {407BCCB7-2AB0-5429-FB5F-A9376121CF06} = {0AB3BF05-4346-4AA6-1389-037BE0695223} - {E7E14295-D412-4B43-44D5-0AAD5D27712E} = {407BCCB7-2AB0-5429-FB5F-A9376121CF06} - {8865807E-C577-4476-BE33-0EBB4E07CD8B} = {E7E14295-D412-4B43-44D5-0AAD5D27712E} - {8CFDC985-5E1F-E566-CA4D-28D1B5AD1B06} = {407BCCB7-2AB0-5429-FB5F-A9376121CF06} - {028AF0DA-6D64-435F-B1CA-C14829892C4F} = {8CFDC985-5E1F-E566-CA4D-28D1B5AD1B06} - {EDEF9ADB-D556-6B20-2E4B-8F977F5C545A} = {0AB3BF05-4346-4AA6-1389-037BE0695223} - {AA22B6BC-789B-946B-F9BD-06D6D86B3211} = {EDEF9ADB-D556-6B20-2E4B-8F977F5C545A} - {9DB38617-9738-45C3-A101-8B04869CB07F} = {AA22B6BC-789B-946B-F9BD-06D6D86B3211} - {1A80A494-6197-707A-BB12-E5CAFEB6DBC3} = {EDEF9ADB-D556-6B20-2E4B-8F977F5C545A} - {ABC9A8FF-0332-4987-A2E8-63108394DA26} = {1A80A494-6197-707A-BB12-E5CAFEB6DBC3} - {EDFE54F1-08A0-5241-003B-94DECB51237C} = {0AB3BF05-4346-4AA6-1389-037BE0695223} - {50896B77-11EA-ADED-5FA2-195E6FABE81B} = {EDFE54F1-08A0-5241-003B-94DECB51237C} - {DD4F5E02-4366-4CA3-8CF1-941C21C27B6E} = {50896B77-11EA-ADED-5FA2-195E6FABE81B} - {0BF9C624-18C3-4CFE-0DEF-3D1D0C280507} = {EDFE54F1-08A0-5241-003B-94DECB51237C} - {776C6198-A229-4C2C-B19E-3F2744BD5279} = {0BF9C624-18C3-4CFE-0DEF-3D1D0C280507} - {036B8169-510F-3971-AD3F-66559BF086AA} = {0AB3BF05-4346-4AA6-1389-037BE0695223} - {92885E6D-C52A-2FB4-A33D-9A8FE23A87BF} = {036B8169-510F-3971-AD3F-66559BF086AA} - {EA780C77-735F-4FA7-8AE9-78413C928BA6} = {92885E6D-C52A-2FB4-A33D-9A8FE23A87BF} - {3794ADC3-BA35-663C-885F-C144081FBEA1} = {036B8169-510F-3971-AD3F-66559BF086AA} - {60326D0F-D9C7-4B8D-B664-BC8DE239AD31} = {3794ADC3-BA35-663C-885F-C144081FBEA1} - {3AB41C38-05DB-BFCC-9BA0-9BC97041A508} = {0AB3BF05-4346-4AA6-1389-037BE0695223} - {43109C86-4551-F94F-E9C3-994B9C735653} = {3AB41C38-05DB-BFCC-9BA0-9BC97041A508} - {635D6C93-D9E2-46C2-9294-5C0713CBA245} = {43109C86-4551-F94F-E9C3-994B9C735653} - {FE27F79D-3631-2D96-056A-69F8E94CD8E3} = {3AB41C38-05DB-BFCC-9BA0-9BC97041A508} - {0C37AA6D-37DB-439B-97D5-9E799DDDC831} = {FE27F79D-3631-2D96-056A-69F8E94CD8E3} - {F29503A5-E7F1-B611-4026-76E83B89B0AB} = {0AB3BF05-4346-4AA6-1389-037BE0695223} - {8D009ABD-C820-B7D4-2412-0990C1960013} = {F29503A5-E7F1-B611-4026-76E83B89B0AB} - {89593AC0-B761-400D-8213-F6E728980F59} = {8D009ABD-C820-B7D4-2412-0990C1960013} - {7C677DC5-D0E9-6A09-3DB0-042075A9E677} = {F29503A5-E7F1-B611-4026-76E83B89B0AB} - {312F4C56-7865-47FD-8170-E6555DBC4884} = {7C677DC5-D0E9-6A09-3DB0-042075A9E677} - {382D38B3-4D74-95AB-947E-DC7B53CBCF32} = {0AB3BF05-4346-4AA6-1389-037BE0695223} - {489DA9C1-7DF6-4B43-A5A6-01AD261B3AC8} = {382D38B3-4D74-95AB-947E-DC7B53CBCF32} - {5B428B36-6857-47BA-8DE1-A8207A2DF1E8} = {489DA9C1-7DF6-4B43-A5A6-01AD261B3AC8} - {A3D04C92-6F74-537C-D0F4-BD2C8CD7687D} = {0AB3BF05-4346-4AA6-1389-037BE0695223} - {2BF544BD-4498-3DD9-D97E-96A22189C7D8} = {A3D04C92-6F74-537C-D0F4-BD2C8CD7687D} - {568561C3-C4D9-4783-8103-B68C94E2F8D1} = {2BF544BD-4498-3DD9-D97E-96A22189C7D8} - {CCF0649B-70C0-BDF5-F1BD-87A1DBED8C5D} = {0AB3BF05-4346-4AA6-1389-037BE0695223} - {4FFF0ACB-E93F-597A-5968-6C89F4BB5AC7} = {CCF0649B-70C0-BDF5-F1BD-87A1DBED8C5D} - {65A65ABB-1F74-471C-84C5-E9CBA6F27B74} = {4FFF0ACB-E93F-597A-5968-6C89F4BB5AC7} - {46A5ACB5-176C-983D-5434-922CD2C33C4A} = {0AB3BF05-4346-4AA6-1389-037BE0695223} - {43930E3C-6ABA-C329-E65B-CFA08664DBAF} = {46A5ACB5-176C-983D-5434-922CD2C33C4A} - {71B7CB00-B0B9-4FEB-9E9F-E8B47FAD5408} = {43930E3C-6ABA-C329-E65B-CFA08664DBAF} - {B6FD6E61-6054-1C88-3299-57EC8B98D824} = {0AB3BF05-4346-4AA6-1389-037BE0695223} - {93CD11E9-EE4D-82DD-DD63-4D36831D0976} = {B6FD6E61-6054-1C88-3299-57EC8B98D824} - {418BE048-D472-40C0-917F-060A9E781B82} = {93CD11E9-EE4D-82DD-DD63-4D36831D0976} - {553D81D4-666B-BE26-75F9-480CB214ACEE} = {0AB3BF05-4346-4AA6-1389-037BE0695223} - {3A48F700-9635-2216-D291-85337CE5D869} = {553D81D4-666B-BE26-75F9-480CB214ACEE} - {6BD8DC02-2270-4276-952E-E34E973A1237} = {3A48F700-9635-2216-D291-85337CE5D869} {FFBE31B8-50B9-B415-22BC-2F92C97CADA3} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B} {1C8A9B45-FCC1-A5B3-3601-CB39D7CED4E3} = {FFBE31B8-50B9-B415-22BC-2F92C97CADA3} {D3C7D267-5646-4907-A451-E7CFA853BBF5} = {1C8A9B45-FCC1-A5B3-3601-CB39D7CED4E3} diff --git a/backend/Tests/Admin/IntegrationTests/Knot.Modules.Admin.IntegrationTests.csproj b/backend/Tests/Admin/IntegrationTests/Knot.Modules.Admin.IntegrationTests.csproj deleted file mode 100644 index b28cb9d..0000000 --- a/backend/Tests/Admin/IntegrationTests/Knot.Modules.Admin.IntegrationTests.csproj +++ /dev/null @@ -1,26 +0,0 @@ - - - - net10.0 - enable - enable - false - - - - - - - - - - - - - - - - - - - diff --git a/backend/Tests/Admin/UnitTests/Knot.Modules.Admin.UnitTests.csproj b/backend/Tests/Admin/UnitTests/Knot.Modules.Admin.UnitTests.csproj deleted file mode 100644 index 3d58229..0000000 --- a/backend/Tests/Admin/UnitTests/Knot.Modules.Admin.UnitTests.csproj +++ /dev/null @@ -1,30 +0,0 @@ - - - - net10.0 - enable - enable - false - - - - - - - - - - - - - - - - - - - - - - - diff --git a/backend/Tests/Admin/UnitTests/Knot.Modules.Settings.UnitTests.csproj b/backend/Tests/Admin/UnitTests/Knot.Modules.Settings.UnitTests.csproj deleted file mode 100644 index 9b38437..0000000 --- a/backend/Tests/Admin/UnitTests/Knot.Modules.Settings.UnitTests.csproj +++ /dev/null @@ -1,28 +0,0 @@ - - - - net10.0 - enable - enable - false - - - - - - - - - - - - - - - - - - - - - diff --git a/backend/Tests/Admin/UnitTests/ResetUserPasswordCommandHandlerTests.cs b/backend/Tests/Admin/UnitTests/ResetUserPasswordCommandHandlerTests.cs deleted file mode 100644 index 507b694..0000000 --- a/backend/Tests/Admin/UnitTests/ResetUserPasswordCommandHandlerTests.cs +++ /dev/null @@ -1,58 +0,0 @@ -using FluentAssertions; -using Knot.Modules.Admin.Application.Admin.Commands; -using Knot.Contracts.Auth.Application.Abstractions; -using Knot.Contracts.Auth.Domain; -using Knot.Shared.Kernel; -using NSubstitute; -using Xunit; -using System; -using System.Threading; -using System.Threading.Tasks; - -namespace Knot.Modules.Admin.UnitTests; - -public class ResetUserPasswordCommandHandlerTests -{ - private readonly IAuthUnitOfWork _authUnitOfWork; - private readonly IUserRepository _userRepository; - private readonly ResetUserPasswordCommandHandler _handler; - - public ResetUserPasswordCommandHandlerTests() - { - _authUnitOfWork = Substitute.For(); - _userRepository = Substitute.For(); - _handler = new ResetUserPasswordCommandHandler(_userRepository, _authUnitOfWork); - } - - [Fact] - public async Task Handle_ShouldReturnError_WhenUserNotFound() - { - // Arrange - var command = new ResetUserPasswordCommand(Guid.NewGuid(), "NewP@ssw0rd"); - _userRepository.GetByIdAsync(command.UserId, Arg.Any()).Returns((User?)null); - - // Act - var result = await _handler.Handle(command, CancellationToken.None); - - // Assert - result.IsFailure.Should().BeTrue(); - result.Error.Should().Be(AuthErrors.UserNotFound); - } - - [Fact] - public async Task Handle_ShouldSucceed_WhenUserFound() - { - // Arrange - var user = User.Create("User", "pass", "salt", "admin"); - var command = new ResetUserPasswordCommand(user.Id, "NewP@ssw0rd"); - - _userRepository.GetByIdAsync(command.UserId, Arg.Any()).Returns(user); - - // Act - var result = await _handler.Handle(command, CancellationToken.None); - - // Assert - result.IsSuccess.Should().BeTrue(); - await _authUnitOfWork.Received(1).SaveChangesAsync(Arg.Any()); - } -} diff --git a/backend/Tests/Auth/IntegrationTests/Knot.Modules.Auth.IntegrationTests.csproj b/backend/Tests/Auth/IntegrationTests/Knot.Modules.Auth.IntegrationTests.csproj deleted file mode 100644 index 1607c89..0000000 --- a/backend/Tests/Auth/IntegrationTests/Knot.Modules.Auth.IntegrationTests.csproj +++ /dev/null @@ -1,23 +0,0 @@ - - - - net10.0 - enable - enable - false - - - - - - - - - - - - - - - - diff --git a/backend/Tests/Auth/UnitTests/Knot.Modules.Auth.UnitTests.csproj b/backend/Tests/Auth/UnitTests/Knot.Modules.Auth.UnitTests.csproj deleted file mode 100644 index ab17424..0000000 --- a/backend/Tests/Auth/UnitTests/Knot.Modules.Auth.UnitTests.csproj +++ /dev/null @@ -1,32 +0,0 @@ - - - - net10.0 - enable - enable - false - - - - - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - - - - - - - - - - - diff --git a/backend/Tests/Conversations/UnitTests/Chats/CreateChatCommandHandlerTests.cs b/backend/Tests/Conversations/UnitTests/Chats/CreateChatCommandHandlerTests.cs deleted file mode 100644 index 4de4ea6..0000000 --- a/backend/Tests/Conversations/UnitTests/Chats/CreateChatCommandHandlerTests.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading; -using System.Threading.Tasks; -using FluentAssertions; -using NSubstitute; -using Xunit; -using Knot.Shared.Kernel; -using Knot.Modules.Conversations.Domain; -using Knot.Modules.Messaging.Domain; -using Knot.Modules.Conversations.Application.Abstractions; -using Knot.Modules.Conversations.Application.Chats.Create; - -namespace Knot.Modules.Conversations.UnitTests.Chats; - -public class CreateChatCommandHandlerTests -{ - private readonly IChatRepository _chatRepository; - private readonly IChatsUnitOfWork _unitOfWork; - private readonly CreateChatCommandHandler _handler; - - public CreateChatCommandHandlerTests() - { - _chatRepository = Substitute.For(); - _unitOfWork = Substitute.For(); - _handler = new CreateChatCommandHandler(_chatRepository, _unitOfWork); - } - - [Fact] - public async Task Handle_ShouldCreateChatAndAddMembers() - { - // Arrange - var request = new CreateChatCommand("Test Group", ChatType.Group, new List { Guid.NewGuid(), Guid.NewGuid() }); - - // Act - var result = await _handler.Handle(request, CancellationToken.None); - - // Assert - result.IsSuccess.Should().BeTrue(); - result.Value.Should().NotBeEmpty(); - - _chatRepository.Received(1).Add(Arg.Is(c => - c.Name == "Test Group" && - c.Type == ChatType.Group && - c.Members.Count == 2 && - c.Members.First().Role == ChatRole.Owner && - c.Members.Last().Role == ChatRole.Member)); - - await _unitOfWork.Received(1).SaveChangesAsync(Arg.Any()); - } -} - - diff --git a/backend/Tests/Conversations/UnitTests/Chats/GetChatsQueryHandlerTests.cs b/backend/Tests/Conversations/UnitTests/Chats/GetChatsQueryHandlerTests.cs deleted file mode 100644 index fa5d16d..0000000 --- a/backend/Tests/Conversations/UnitTests/Chats/GetChatsQueryHandlerTests.cs +++ /dev/null @@ -1,75 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading; -using System.Threading.Tasks; -using FluentAssertions; -using NSubstitute; -using Xunit; -using Knot.Shared.Kernel; -using Knot.Modules.Conversations.Domain; -using Knot.Contracts.Messaging.Application.Abstractions; -using Knot.Contracts.Messaging.Domain; -using Knot.Modules.Conversations.Application.Abstractions; -using Knot.Modules.Conversations.Application.Chats.GetChats; -using Knot.Modules.Conversations.Application.DTOs; - -namespace Knot.Modules.Conversations.UnitTests.Chats; - -public class GetChatsQueryHandlerTests -{ - private readonly IChatRepository _chatRepository; - private readonly IUserDisplayNameProvider _userProvider; - private readonly IMessageRepository _messageRepository; - private readonly IMessageReactionRepository _reactionRepository; - private readonly GetChatsQueryHandler _handler; - - public GetChatsQueryHandlerTests() - { - _chatRepository = Substitute.For(); - _userProvider = Substitute.For(); - _messageRepository = Substitute.For(); - _reactionRepository = Substitute.For(); - - _handler = new GetChatsQueryHandler(_chatRepository, _userProvider, _messageRepository, _reactionRepository); - } - - [Fact] - public async Task Handle_ShouldReturnUserChats_WhenTheyExist() - { - // Arrange - var userId = Guid.NewGuid(); - var request = new GetChatsQuery(userId); - - var chat1 = Chat.Create("Test Chat", ChatType.Group); - chat1.GetType().GetProperty("Id")?.SetValue(chat1, Guid.NewGuid()); - chat1.AddMember(userId, ChatRole.Owner); - - var chat2 = Chat.Create("Personal", ChatType.Personal); - chat2.GetType().GetProperty("Id")?.SetValue(chat2, Guid.NewGuid()); - chat2.AddMember(userId, ChatRole.Member); - - _chatRepository.GetUserChatsAsync(userId, Arg.Any()) - .Returns(new List { chat1, chat2 }); - - _messageRepository.GetChatMessagesAsync(Arg.Any(), 1, 0, Arg.Any()) - .Returns(new List()); - - _userProvider.GetUsersInfoAsync(Arg.Any>(), Arg.Any()) - .Returns(new Dictionary()); - - // Act - var result = await _handler.Handle(request, CancellationToken.None); - - // Assert - result.IsSuccess.Should().BeTrue(); - result.Value.Should().NotBeNull(); - - // It always appends synthetic "favorites" chat at the end if not found - result.Value.Count.Should().Be(2); - result.Value.Any(c => c.Name == "Test Chat").Should().BeTrue(); - result.Value.Any(c => c.Type == "favorites").Should().BeTrue(); - } -} - - diff --git a/backend/Tests/Conversations/UnitTests/GetOrCreateFavoritesCommandHandlerTests.cs b/backend/Tests/Conversations/UnitTests/GetOrCreateFavoritesCommandHandlerTests.cs deleted file mode 100644 index 0368f51..0000000 --- a/backend/Tests/Conversations/UnitTests/GetOrCreateFavoritesCommandHandlerTests.cs +++ /dev/null @@ -1,74 +0,0 @@ -using FluentAssertions; -using NSubstitute; -using Knot.Modules.Conversations.Application.Abstractions; -using Knot.Modules.Conversations.Application.Chats.GetOrCreateFavorites; -using Knot.Modules.Conversations.Domain; -using Knot.Modules.Messaging.Domain; -using Knot.Shared.Kernel; -using Xunit; - -namespace Knot.Modules.Conversations.UnitTests; - -public class GetOrCreateFavoritesCommandHandlerTests -{ - private readonly IChatRepository _chatRepository; - private readonly IChatsUnitOfWork _unitOfWork; - private readonly GetOrCreateFavoritesCommandHandler _handler; - - public GetOrCreateFavoritesCommandHandlerTests() - { - _chatRepository = Substitute.For(); - _unitOfWork = Substitute.For(); - _handler = new GetOrCreateFavoritesCommandHandler(_chatRepository, _unitOfWork); - } - - [Fact] - public async Task Handle_ShouldReturnExistingChat_WhenFavoritesAlreadyExists() - { - // Arrange - var userId = Guid.NewGuid(); - var existingChat = Chat.Create("Избранное", ChatType.Favorites); - - _chatRepository.GetFavoritesAsync(userId, Arg.Any()) - .Returns(existingChat); - - var command = new GetOrCreateFavoritesCommand(userId); - - // Act - var result = await _handler.Handle(command, CancellationToken.None); - - // Assert - result.IsSuccess.Should().BeTrue(); - result.Value.Should().Be(existingChat.Id); - - _chatRepository.DidNotReceive().Add(Arg.Any()); - await _unitOfWork.DidNotReceive().SaveChangesAsync(Arg.Any()); - } - - [Fact] - public async Task Handle_ShouldCreateNewChat_WhenFavoritesDoesNotExist() - { - // Arrange - var userId = Guid.NewGuid(); - _chatRepository.GetFavoritesAsync(userId, Arg.Any()) - .Returns((Chat)null!); - - var command = new GetOrCreateFavoritesCommand(userId); - - // Act - var result = await _handler.Handle(command, CancellationToken.None); - - // Assert - result.IsSuccess.Should().BeTrue(); - result.Value.Should().NotBeEmpty(); - - _chatRepository.Received(1).Add(Arg.Is(c => - c.Type == ChatType.Favorites && - c.Name == "Избранное" && - c.Members.Any(m => m.UserId == userId))); - - await _unitOfWork.Received(1).SaveChangesAsync(Arg.Any()); - } -} - - diff --git a/backend/Tests/Conversations/UnitTests/Knot.Modules.Conversations.UnitTests.csproj b/backend/Tests/Conversations/UnitTests/Knot.Modules.Conversations.UnitTests.csproj deleted file mode 100644 index e38bded..0000000 --- a/backend/Tests/Conversations/UnitTests/Knot.Modules.Conversations.UnitTests.csproj +++ /dev/null @@ -1,33 +0,0 @@ - - - net10.0 - enable - enable - false - - false - - - - - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - - - - - - - - - - - diff --git a/backend/Tests/Conversations/UnitTests/Messages/SendMessageCommandHandlerTests.cs b/backend/Tests/Conversations/UnitTests/Messages/SendMessageCommandHandlerTests.cs deleted file mode 100644 index fa3e6b5..0000000 --- a/backend/Tests/Conversations/UnitTests/Messages/SendMessageCommandHandlerTests.cs +++ /dev/null @@ -1,107 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading; -using System.Threading.Tasks; -using FluentAssertions; -using MediatR; -using NSubstitute; -using Xunit; -using Knot.Shared.Kernel; -using Knot.Modules.Conversations.Domain; -using Knot.Contracts.Messaging.Application.Abstractions; -using Knot.Modules.Conversations.Application.Abstractions; -using Knot.Modules.Conversations.Application.Messages.Send; -using Knot.Contracts.Settings.Application.Abstractions; -using Knot.Contracts.Settings.Application.DTOs; - -namespace Knot.Modules.Conversations.UnitTests.Messages; - -public class SendMessageCommandHandlerTests -{ - private readonly IChatRepository _chatRepository; - private readonly IMessageRepository _messageRepository; - private readonly IChatsUnitOfWork _unitOfWork; - private readonly IMediator _mediator; - private readonly IMessagesSettings _messagesSettings; - private readonly SendMessageCommandHandler _handler; - - public SendMessageCommandHandlerTests() - { - _chatRepository = Substitute.For(); - _messageRepository = Substitute.For(); - _unitOfWork = Substitute.For(); - _mediator = Substitute.For(); - _messagesSettings = Substitute.For(); - - var config = new Knot.Contracts.Settings.Application.DTOs.MessagesConfig(); - _messagesSettings.Current.Returns(config); - - _handler = new SendMessageCommandHandler(_chatRepository, _messageRepository, _unitOfWork, _mediator, _messagesSettings); - } - - [Fact] - public async Task Handle_ShouldReturnFailure_WhenChatNotFound() - { - // Arrange - var command = new SendMessageCommand(Guid.NewGuid(), Guid.NewGuid(), "Hello", "text"); - _chatRepository.GetByIdAsync(command.ChatId, Arg.Any()) - .Returns((Chat)null!); - - // Act - var result = await _handler.Handle(command, CancellationToken.None); - - // Assert - result.IsFailure.Should().BeTrue(); - result.Error.Code.Should().Be(ChatErrors.ChatsNotFound.Code); - } - - [Fact] - public async Task Handle_ShouldReturnFailure_WhenSenderIsNotMember() - { - // Arrange - var chat = Chat.Create("Test", ChatType.Group); - var command = new SendMessageCommand(chat.Id, Guid.NewGuid(), "Hello", "text"); - - _chatRepository.GetByIdAsync(command.ChatId, Arg.Any()) - .Returns(chat); - - // Act - var result = await _handler.Handle(command, CancellationToken.None); - - // Assert - result.IsFailure.Should().BeTrue(); - result.Error.Code.Should().Be(ChatErrors.ChatsForbidden.Code); - } - - [Fact] - public async Task Handle_ShouldCreateMessage_WhenAuthorized() - { - // Arrange - var senderId = Guid.NewGuid(); - var chat = Chat.Create("Test", ChatType.Group); - chat.AddMember(senderId, ChatRole.Member); - - var command = new SendMessageCommand(chat.Id, senderId, "Hello", "text"); - - _chatRepository.GetByIdAsync(command.ChatId, Arg.Any()) - .Returns(chat); - - // Act - var result = await _handler.Handle(command, CancellationToken.None); - - // Assert - result.IsSuccess.Should().BeTrue(); - result.Value.Should().NotBeEmpty(); - - _messageRepository.Received(1).Add(Arg.Is(m => - m.ChatId == chat.Id && - m.SenderId == senderId && - m.Content == "Hello" && - m.Type == "text")); - - await _unitOfWork.Received(1).SaveChangesAsync(Arg.Any()); - } -} - - diff --git a/backend/Tests/Federation/IntegrationTests/Knot.Modules.Federation.IntegrationTests.csproj b/backend/Tests/Federation/IntegrationTests/Knot.Modules.Federation.IntegrationTests.csproj deleted file mode 100644 index 1607c89..0000000 --- a/backend/Tests/Federation/IntegrationTests/Knot.Modules.Federation.IntegrationTests.csproj +++ /dev/null @@ -1,23 +0,0 @@ - - - - net10.0 - enable - enable - false - - - - - - - - - - - - - - - - diff --git a/backend/Tests/Federation/UnitTests/Knot.Modules.Federation.UnitTests.csproj b/backend/Tests/Federation/UnitTests/Knot.Modules.Federation.UnitTests.csproj deleted file mode 100644 index c5416d2..0000000 --- a/backend/Tests/Federation/UnitTests/Knot.Modules.Federation.UnitTests.csproj +++ /dev/null @@ -1,30 +0,0 @@ - - - - net10.0 - enable - enable - false - - - - - - - - - - - - - - - - - - - - - - - diff --git a/backend/Tests/Klipy/UnitTests/Knot.Modules.Klipy.UnitTests.csproj b/backend/Tests/Klipy/UnitTests/Knot.Modules.Klipy.UnitTests.csproj deleted file mode 100644 index 21ebf72..0000000 --- a/backend/Tests/Klipy/UnitTests/Knot.Modules.Klipy.UnitTests.csproj +++ /dev/null @@ -1,30 +0,0 @@ - - - - net10.0 - enable - enable - false - - - - - - - - - - - - - - - - - - - - - - - diff --git a/backend/Tests/Messaging/IntegrationTests/Knot.Modules.Messaging.IntegrationTests.csproj b/backend/Tests/Messaging/IntegrationTests/Knot.Modules.Messaging.IntegrationTests.csproj deleted file mode 100644 index 1607c89..0000000 --- a/backend/Tests/Messaging/IntegrationTests/Knot.Modules.Messaging.IntegrationTests.csproj +++ /dev/null @@ -1,23 +0,0 @@ - - - - net10.0 - enable - enable - false - - - - - - - - - - - - - - - - diff --git a/backend/Tests/Messaging/UnitTests/Knot.Modules.Messaging.UnitTests.csproj b/backend/Tests/Messaging/UnitTests/Knot.Modules.Messaging.UnitTests.csproj deleted file mode 100644 index 89029aa..0000000 --- a/backend/Tests/Messaging/UnitTests/Knot.Modules.Messaging.UnitTests.csproj +++ /dev/null @@ -1,24 +0,0 @@ - - - - net10.0 - enable - enable - false - - - - - - - - - - - - - - - - - diff --git a/backend/Tests/Relations/IntegrationTests/Knot.Modules.Relations.IntegrationTests.csproj b/backend/Tests/Relations/IntegrationTests/Knot.Modules.Relations.IntegrationTests.csproj deleted file mode 100644 index 1607c89..0000000 --- a/backend/Tests/Relations/IntegrationTests/Knot.Modules.Relations.IntegrationTests.csproj +++ /dev/null @@ -1,23 +0,0 @@ - - - - net10.0 - enable - enable - false - - - - - - - - - - - - - - - - diff --git a/backend/Tests/Relations/UnitTests/Knot.Modules.Relations.UnitTests.csproj b/backend/Tests/Relations/UnitTests/Knot.Modules.Relations.UnitTests.csproj deleted file mode 100644 index 33cc70b..0000000 --- a/backend/Tests/Relations/UnitTests/Knot.Modules.Relations.UnitTests.csproj +++ /dev/null @@ -1,30 +0,0 @@ - - - - net10.0 - enable - enable - false - - - - - - - - - - - - - - - - - - - - - - - diff --git a/backend/Tests/Shared/IntegrationTests.Shared/BaseIntegrationTest.cs b/backend/Tests/Shared/IntegrationTests.Shared/BaseIntegrationTest.cs deleted file mode 100644 index 8645865..0000000 --- a/backend/Tests/Shared/IntegrationTests.Shared/BaseIntegrationTest.cs +++ /dev/null @@ -1,88 +0,0 @@ -using Microsoft.AspNetCore.Hosting; -using Microsoft.AspNetCore.Mvc.Testing; -using Microsoft.AspNetCore.TestHost; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; -using System.Net.Http; -using Testcontainers.PostgreSql; -using Testcontainers.MongoDb; -using Xunit; -using System.Threading.Tasks; -using System.Collections.Generic; -using Knot.Shared.Kernel; -using NSubstitute; - -namespace Knot.IntegrationTests; - -public abstract class BaseIntegrationTest : IAsyncLifetime -{ - protected readonly PostgreSqlContainer _postgresContainer = new PostgreSqlBuilder() - .WithImage("postgres:15-alpine") - .Build(); - - protected readonly MongoDbContainer _mongoContainer = new MongoDbBuilder() - .WithImage("mongo:6.0") - .Build(); - - protected HttpClient _client; - protected WebApplicationFactory _factory; - protected readonly Guid _userId = Guid.NewGuid(); - protected readonly IUserContext _userContextMock = Substitute.For(); - - public virtual async Task InitializeAsync() - { - await _postgresContainer.StartAsync(); - await _mongoContainer.StartAsync(); - - _userContextMock.UserId.Returns(_userId); - _userContextMock.IsAuthenticated.Returns(true); - - _factory = new IntegrationTestWebApplicationFactory( - _postgresContainer.GetConnectionString(), - _mongoContainer.GetConnectionString(), - _userContextMock); - - _client = _factory.CreateClient(); - } - - public virtual async Task DisposeAsync() - { - await _postgresContainer.StopAsync(); - await _mongoContainer.StopAsync(); - _factory?.Dispose(); - _client?.Dispose(); - } - - private class IntegrationTestWebApplicationFactory : WebApplicationFactory - { - private readonly string _pgConnectionString; - private readonly string _mongoConnectionString; - private readonly IUserContext _userContext; - - public IntegrationTestWebApplicationFactory(string pg, string mongo, IUserContext userContext) - { - _pgConnectionString = pg; - _mongoConnectionString = mongo; - _userContext = userContext; - } - - protected override void ConfigureWebHost(IWebHostBuilder builder) - { - builder.ConfigureAppConfiguration((context, config) => - { - config.AddInMemoryCollection(new Dictionary - { - ["ConnectionStrings:DefaultConnection"] = _pgConnectionString, - ["ConnectionStrings:MongoConnection"] = _mongoConnectionString, - ["DATABASE_URL"] = _pgConnectionString, - ["MONGO_CONNECTION"] = _mongoConnectionString, - ["KNOT_MASTER_ENCRYPTION_KEY"] = "TestEncryptionKey_32CharactersLong!" - }); - }); - - builder.ConfigureTestServices(services => { - services.AddScoped(_ => _userContext); - }); - } - } -} diff --git a/backend/Tests/Shared/IntegrationTests.Shared/Knot.IntegrationTests.Shared.csproj b/backend/Tests/Shared/IntegrationTests.Shared/Knot.IntegrationTests.Shared.csproj deleted file mode 100644 index b74a66f..0000000 --- a/backend/Tests/Shared/IntegrationTests.Shared/Knot.IntegrationTests.Shared.csproj +++ /dev/null @@ -1,38 +0,0 @@ - - - - net10.0 - enable - enable - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/backend/Tests/Storage/UnitTests/Knot.Modules.Storage.UnitTests.csproj b/backend/Tests/Storage/UnitTests/Knot.Modules.Storage.UnitTests.csproj deleted file mode 100644 index 2c59df3..0000000 --- a/backend/Tests/Storage/UnitTests/Knot.Modules.Storage.UnitTests.csproj +++ /dev/null @@ -1,30 +0,0 @@ - - - - net10.0 - enable - enable - false - - - - - - - - - - - - - - - - - - - - - - - diff --git a/backend/Tests/Stories/IntegrationTests/Knot.Modules.Stories.IntegrationTests.csproj b/backend/Tests/Stories/IntegrationTests/Knot.Modules.Stories.IntegrationTests.csproj deleted file mode 100644 index df3476d..0000000 --- a/backend/Tests/Stories/IntegrationTests/Knot.Modules.Stories.IntegrationTests.csproj +++ /dev/null @@ -1,26 +0,0 @@ - - - - net10.0 - enable - enable - false - - - - - - - - - - - - - - - - - - - diff --git a/backend/Tests/Stories/IntegrationTests/StoriesTests.cs b/backend/Tests/Stories/IntegrationTests/StoriesTests.cs deleted file mode 100644 index 3a9d464..0000000 --- a/backend/Tests/Stories/IntegrationTests/StoriesTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Knot.IntegrationTests; -using FluentAssertions; -using Knot.Modules.Stories.Application.Stories.Commands.CreateStory; -using Knot.Shared.Kernel; -using Microsoft.AspNetCore.TestHost; -using Microsoft.Extensions.DependencyInjection; -using NSubstitute; -using System.Net; -using System.Net.Http.Json; -using Xunit; -using System; -using System.Threading.Tasks; - -namespace Knot.IntegrationTests.Stories; - -public class StoriesTests : BaseIntegrationTest -{ - [Fact] - public async Task CreateStory_ShouldReturnOk_WhenValidRequest() - { - // Arrange - var request = new CreateStoryRequest("Text", null, "Hello Integration Test", null); - - // Act - var response = await _client.PostAsJsonAsync("api/stories", request); - - // Assert - response.StatusCode.Should().Be(HttpStatusCode.OK); - - var content = await response.Content.ReadFromJsonAsync(); - } -} - -public record CreateStoryRequest(string Type, string? MediaUrl, string? Content, string? BgColor); diff --git a/backend/Tests/Stories/UnitTests/CreateStoryCommandHandlerTests.cs b/backend/Tests/Stories/UnitTests/CreateStoryCommandHandlerTests.cs deleted file mode 100644 index 4d2cab1..0000000 --- a/backend/Tests/Stories/UnitTests/CreateStoryCommandHandlerTests.cs +++ /dev/null @@ -1,76 +0,0 @@ -using FluentAssertions; -using Knot.Modules.Stories.Application.Stories.Commands.CreateStory; -using Knot.Modules.Stories.Domain; -using Knot.Shared.Kernel; -using Knot.Contracts.Settings.Application.Abstractions; -using Knot.Contracts.Settings.Application.DTOs; -using Knot.Modules.Stories.Application.Abstractions; -using NSubstitute; -using Xunit; -using System; -using System.Threading; -using System.Threading.Tasks; - -namespace Knot.Modules.Stories.UnitTests; - -public class CreateStoryCommandHandlerTests -{ - private readonly IStoryRepository _storyRepository; - private readonly ISettingsService _settingsService; - private readonly CreateStoryCommandHandler _handler; - - public CreateStoryCommandHandlerTests() - { - _storyRepository = Substitute.For(); - _settingsService = Substitute.For(); - _handler = new CreateStoryCommandHandler(_storyRepository, _settingsService); - } - - [Fact] - public async Task Handle_ShouldSucceed_WhenValidRequest() - { - // Arrange - var command = new CreateStoryCommand(Guid.NewGuid(), "Text", null, "Hello Story", null); - - // Act - var result = await _handler.Handle(command, CancellationToken.None); - - // Assert - result.IsSuccess.Should().BeTrue(); - await _storyRepository.Received(1).AddAsync(Arg.Any(), Arg.Any()); - } - - [Fact] - public async Task Handle_ShouldFail_WhenKlipyDisabledAndKlipyType() - { - // Arrange - var command = new CreateStoryCommand(Guid.NewGuid(), "Klipy", "http://klipy.com/gif", null, null); - var settings = new SystemSettingsDto { Klipy = new KlipyConfig { Enabled = false } }; - _settingsService.GetSettingsAsync(Arg.Any()).Returns(settings); - - // Act - var result = await _handler.Handle(command, CancellationToken.None); - - // Assert - result.IsFailure.Should().BeTrue(); - result.Error.Code.Should().Be("Stories.KlipyDisabled"); - await _storyRepository.DidNotReceive().AddAsync(Arg.Any(), Arg.Any()); - } - - [Fact] - public async Task Handle_ShouldSucceed_WhenKlipyEnabledAndKlipyType() - { - // Arrange - var command = new CreateStoryCommand(Guid.NewGuid(), "Klipy", "http://klipy.com/gif", null, null); - var settings = new SystemSettingsDto { Klipy = new KlipyConfig { Enabled = true } }; - _settingsService.GetSettingsAsync(Arg.Any()).Returns(settings); - - // Act - var result = await _handler.Handle(command, CancellationToken.None); - - // Assert - result.IsSuccess.Should().BeTrue(); - await _storyRepository.Received(1).AddAsync(Arg.Any(), Arg.Any()); - } -} - diff --git a/backend/Tests/Stories/UnitTests/DeleteStoryCommandHandlerTests.cs b/backend/Tests/Stories/UnitTests/DeleteStoryCommandHandlerTests.cs deleted file mode 100644 index 48795ad..0000000 --- a/backend/Tests/Stories/UnitTests/DeleteStoryCommandHandlerTests.cs +++ /dev/null @@ -1,76 +0,0 @@ -using FluentAssertions; -using Knot.Modules.Stories.Application.Stories.Commands.DeleteStory; -using Knot.Modules.Stories.Domain; -using Knot.Shared.Kernel; -using Knot.Modules.Stories.Application.Abstractions; -using NSubstitute; -using Xunit; -using System; -using System.Threading; -using System.Threading.Tasks; - -namespace Knot.Modules.Stories.UnitTests; - -public class DeleteStoryCommandHandlerTests -{ - private readonly IStoryRepository _storyRepository; - private readonly DeleteStoryCommandHandler _handler; - - public DeleteStoryCommandHandlerTests() - { - _storyRepository = Substitute.For(); - _handler = new DeleteStoryCommandHandler(_storyRepository); - } - - [Fact] - public async Task Handle_ShouldReturnError_WhenStoryNotFound() - { - // Arrange - var command = new DeleteStoryCommand(Guid.NewGuid(), Guid.NewGuid()); - _storyRepository.GetByIdAsync(command.StoryId, Arg.Any()).Returns((Story?)null); - - // Act - var result = await _handler.Handle(command, CancellationToken.None); - - // Assert - result.IsFailure.Should().BeTrue(); - result.Error.Should().Be(StoryErrors.StoryNotFound); - } - - [Fact] - public async Task Handle_ShouldReturnError_WhenUserIsNotOwner() - { - // Arrange - var ownerId = Guid.NewGuid(); - var viewerId = Guid.NewGuid(); - var story = Story.Create(ownerId, StoryType.Text, null, "Content", null); - var command = new DeleteStoryCommand(viewerId, story.Id); - - _storyRepository.GetByIdAsync(command.StoryId, Arg.Any()).Returns(story); - - // Act - var result = await _handler.Handle(command, CancellationToken.None); - - // Assert - result.IsFailure.Should().BeTrue(); - result.Error.Should().Be(StoryErrors.Unauthorized); - } - - [Fact] - public async Task Handle_ShouldSucceed_WhenOwnerDeletes() - { - // Arrange - var ownerId = Guid.NewGuid(); - var story = Story.Create(ownerId, StoryType.Text, null, "Content", null); - var command = new DeleteStoryCommand(ownerId, story.Id); - - _storyRepository.GetByIdAsync(command.StoryId, Arg.Any()).Returns(story); - - // Act - var result = await _handler.Handle(command, CancellationToken.None); - - // Assert - result.IsSuccess.Should().BeTrue(); - await _storyRepository.Received(1).DeleteAsync(story, Arg.Any()); - } -} diff --git a/backend/Tests/Stories/UnitTests/Knot.Modules.Stories.UnitTests.csproj b/backend/Tests/Stories/UnitTests/Knot.Modules.Stories.UnitTests.csproj deleted file mode 100644 index 71d70a1..0000000 --- a/backend/Tests/Stories/UnitTests/Knot.Modules.Stories.UnitTests.csproj +++ /dev/null @@ -1,30 +0,0 @@ - - - - net10.0 - enable - enable - false - - - - - - - - - - - - - - - - - - - - - - - diff --git a/backend/Tests/TelegramImport/UnitTests/Knot.Modules.TelegramImport.UnitTests.csproj b/backend/Tests/TelegramImport/UnitTests/Knot.Modules.TelegramImport.UnitTests.csproj deleted file mode 100644 index bf92713..0000000 --- a/backend/Tests/TelegramImport/UnitTests/Knot.Modules.TelegramImport.UnitTests.csproj +++ /dev/null @@ -1,30 +0,0 @@ - - - - net10.0 - enable - enable - false - - - - - - - - - - - - - - - - - - - - - - - diff --git a/backend/Tests/Users/UnitTests/Knot.Modules.Profiles.UnitTests.csproj b/backend/Tests/Users/UnitTests/Knot.Modules.Profiles.UnitTests.csproj deleted file mode 100644 index 3e3dac3..0000000 --- a/backend/Tests/Users/UnitTests/Knot.Modules.Profiles.UnitTests.csproj +++ /dev/null @@ -1,30 +0,0 @@ - - - - net10.0 - enable - enable - false - - - - - - - - - - - - - - - - - - - - - - - diff --git a/backend/Tests/Users/UnitTests/UpdateProfileCommandHandlerTests.cs b/backend/Tests/Users/UnitTests/UpdateProfileCommandHandlerTests.cs deleted file mode 100644 index 0f27341..0000000 --- a/backend/Tests/Users/UnitTests/UpdateProfileCommandHandlerTests.cs +++ /dev/null @@ -1,38 +0,0 @@ -using FluentAssertions; -using Knot.Modules.Profiles.Application.Profiles.UpdateProfile; -using Knot.Contracts.Profiles.Domain; -using Knot.Contracts.Profiles.Application.DTOs; -using Knot.Shared.Kernel; -using NSubstitute; -using Xunit; -using System; -using System.Threading; -using System.Threading.Tasks; - -namespace Knot.Modules.Profiles.UnitTests; - -public class UpdateProfileCommandHandlerTests -{ - private readonly IProfileRepository _profileRepository; - private readonly UpdateProfileCommandHandler _handler; - - public UpdateProfileCommandHandlerTests() - { - _profileRepository = Substitute.For(); - _handler = new UpdateProfileCommandHandler(_profileRepository); - } - - [Fact] - public async Task Handle_ShouldReturnError_WhenProfileNotFound() - { - // Arrange - var command = new UpdateProfileCommand(Guid.NewGuid(), "FirstName", "Bio", null); - _profileRepository.GetAsync(command.UserId, Arg.Any()).Returns((UserProfileDto?)null); - - // Act - var result = await _handler.Handle(command, CancellationToken.None); - - // Assert - result.IsFailure.Should().BeTrue(); - } -} diff --git a/backend/Tests/WebRtc/UnitTests/Knot.Modules.WebRtc.UnitTests.csproj b/backend/Tests/WebRtc/UnitTests/Knot.Modules.WebRtc.UnitTests.csproj deleted file mode 100644 index be78aa8..0000000 --- a/backend/Tests/WebRtc/UnitTests/Knot.Modules.WebRtc.UnitTests.csproj +++ /dev/null @@ -1,30 +0,0 @@ - - - - net10.0 - enable - enable - false - - - - - - - - - - - - - - - - - - - - - - -