Phase 1 uses simple username/password with JWT.
", CreatedBy = admin.Id, CreatedAt = now, UpdatedBy = admin.Id, UpdatedAt = now, }); db.Documents.Add(new Document { Id = Guid.NewGuid(), ProjectId = project.Id, ParentId = requirements.Id, Title = "User Management", Type = DocumentType.Document, - Content = "Users are created via seeding in Phase 1.
", CreatedBy = admin.Id, CreatedAt = now, UpdatedBy = admin.Id, UpdatedAt = now, }); db.Documents.Add(new Document { Id = Guid.NewGuid(), ProjectId = project.Id, ParentId = design.Id, Title = "API Design", Type = DocumentType.Document, - Content = "REST API with ASP.NET Core Web API.
", CreatedBy = admin.Id, CreatedAt = now, UpdatedBy = admin.Id, UpdatedAt = now, }); await db.SaveChangesAsync(); diff --git a/mws.backend.dotnet.sln b/mws.backend.dotnet.sln index 06a717b..2cc69c7 100644 --- a/mws.backend.dotnet.sln +++ b/mws.backend.dotnet.sln @@ -8,27 +8,80 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "domain", "domain\domain.csp EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "infrastructure", "infrastructure\infrastructure.csproj", "{FEFFBC10-B99E-4A56-9F32-6D925D192606}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "tests", "tests\tests.csproj", "{F69F8389-492D-4227-A6EC-2F41FC7FEBBE}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {9099030B-4019-410C-AEBE-83099B58ABA6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9099030B-4019-410C-AEBE-83099B58ABA6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9099030B-4019-410C-AEBE-83099B58ABA6}.Debug|x64.ActiveCfg = Debug|Any CPU + {9099030B-4019-410C-AEBE-83099B58ABA6}.Debug|x64.Build.0 = Debug|Any CPU + {9099030B-4019-410C-AEBE-83099B58ABA6}.Debug|x86.ActiveCfg = Debug|Any CPU + {9099030B-4019-410C-AEBE-83099B58ABA6}.Debug|x86.Build.0 = Debug|Any CPU {9099030B-4019-410C-AEBE-83099B58ABA6}.Release|Any CPU.ActiveCfg = Release|Any CPU {9099030B-4019-410C-AEBE-83099B58ABA6}.Release|Any CPU.Build.0 = Release|Any CPU + {9099030B-4019-410C-AEBE-83099B58ABA6}.Release|x64.ActiveCfg = Release|Any CPU + {9099030B-4019-410C-AEBE-83099B58ABA6}.Release|x64.Build.0 = Release|Any CPU + {9099030B-4019-410C-AEBE-83099B58ABA6}.Release|x86.ActiveCfg = Release|Any CPU + {9099030B-4019-410C-AEBE-83099B58ABA6}.Release|x86.Build.0 = Release|Any CPU {D876692E-C85A-49CB-8897-18D6C884CB0F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D876692E-C85A-49CB-8897-18D6C884CB0F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D876692E-C85A-49CB-8897-18D6C884CB0F}.Debug|x64.ActiveCfg = Debug|Any CPU + {D876692E-C85A-49CB-8897-18D6C884CB0F}.Debug|x64.Build.0 = Debug|Any CPU + {D876692E-C85A-49CB-8897-18D6C884CB0F}.Debug|x86.ActiveCfg = Debug|Any CPU + {D876692E-C85A-49CB-8897-18D6C884CB0F}.Debug|x86.Build.0 = Debug|Any CPU {D876692E-C85A-49CB-8897-18D6C884CB0F}.Release|Any CPU.ActiveCfg = Release|Any CPU {D876692E-C85A-49CB-8897-18D6C884CB0F}.Release|Any CPU.Build.0 = Release|Any CPU + {D876692E-C85A-49CB-8897-18D6C884CB0F}.Release|x64.ActiveCfg = Release|Any CPU + {D876692E-C85A-49CB-8897-18D6C884CB0F}.Release|x64.Build.0 = Release|Any CPU + {D876692E-C85A-49CB-8897-18D6C884CB0F}.Release|x86.ActiveCfg = Release|Any CPU + {D876692E-C85A-49CB-8897-18D6C884CB0F}.Release|x86.Build.0 = Release|Any CPU {338B6456-F229-4738-85EE-3AD2D84052C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {338B6456-F229-4738-85EE-3AD2D84052C6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {338B6456-F229-4738-85EE-3AD2D84052C6}.Debug|x64.ActiveCfg = Debug|Any CPU + {338B6456-F229-4738-85EE-3AD2D84052C6}.Debug|x64.Build.0 = Debug|Any CPU + {338B6456-F229-4738-85EE-3AD2D84052C6}.Debug|x86.ActiveCfg = Debug|Any CPU + {338B6456-F229-4738-85EE-3AD2D84052C6}.Debug|x86.Build.0 = Debug|Any CPU {338B6456-F229-4738-85EE-3AD2D84052C6}.Release|Any CPU.ActiveCfg = Release|Any CPU {338B6456-F229-4738-85EE-3AD2D84052C6}.Release|Any CPU.Build.0 = Release|Any CPU + {338B6456-F229-4738-85EE-3AD2D84052C6}.Release|x64.ActiveCfg = Release|Any CPU + {338B6456-F229-4738-85EE-3AD2D84052C6}.Release|x64.Build.0 = Release|Any CPU + {338B6456-F229-4738-85EE-3AD2D84052C6}.Release|x86.ActiveCfg = Release|Any CPU + {338B6456-F229-4738-85EE-3AD2D84052C6}.Release|x86.Build.0 = Release|Any CPU {FEFFBC10-B99E-4A56-9F32-6D925D192606}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {FEFFBC10-B99E-4A56-9F32-6D925D192606}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FEFFBC10-B99E-4A56-9F32-6D925D192606}.Debug|x64.ActiveCfg = Debug|Any CPU + {FEFFBC10-B99E-4A56-9F32-6D925D192606}.Debug|x64.Build.0 = Debug|Any CPU + {FEFFBC10-B99E-4A56-9F32-6D925D192606}.Debug|x86.ActiveCfg = Debug|Any CPU + {FEFFBC10-B99E-4A56-9F32-6D925D192606}.Debug|x86.Build.0 = Debug|Any CPU {FEFFBC10-B99E-4A56-9F32-6D925D192606}.Release|Any CPU.ActiveCfg = Release|Any CPU {FEFFBC10-B99E-4A56-9F32-6D925D192606}.Release|Any CPU.Build.0 = Release|Any CPU + {FEFFBC10-B99E-4A56-9F32-6D925D192606}.Release|x64.ActiveCfg = Release|Any CPU + {FEFFBC10-B99E-4A56-9F32-6D925D192606}.Release|x64.Build.0 = Release|Any CPU + {FEFFBC10-B99E-4A56-9F32-6D925D192606}.Release|x86.ActiveCfg = Release|Any CPU + {FEFFBC10-B99E-4A56-9F32-6D925D192606}.Release|x86.Build.0 = Release|Any CPU + {F69F8389-492D-4227-A6EC-2F41FC7FEBBE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F69F8389-492D-4227-A6EC-2F41FC7FEBBE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F69F8389-492D-4227-A6EC-2F41FC7FEBBE}.Debug|x64.ActiveCfg = Debug|Any CPU + {F69F8389-492D-4227-A6EC-2F41FC7FEBBE}.Debug|x64.Build.0 = Debug|Any CPU + {F69F8389-492D-4227-A6EC-2F41FC7FEBBE}.Debug|x86.ActiveCfg = Debug|Any CPU + {F69F8389-492D-4227-A6EC-2F41FC7FEBBE}.Debug|x86.Build.0 = Debug|Any CPU + {F69F8389-492D-4227-A6EC-2F41FC7FEBBE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F69F8389-492D-4227-A6EC-2F41FC7FEBBE}.Release|Any CPU.Build.0 = Release|Any CPU + {F69F8389-492D-4227-A6EC-2F41FC7FEBBE}.Release|x64.ActiveCfg = Release|Any CPU + {F69F8389-492D-4227-A6EC-2F41FC7FEBBE}.Release|x64.Build.0 = Release|Any CPU + {F69F8389-492D-4227-A6EC-2F41FC7FEBBE}.Release|x86.ActiveCfg = Release|Any CPU + {F69F8389-492D-4227-A6EC-2F41FC7FEBBE}.Release|x86.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE EndGlobalSection EndGlobal diff --git a/tests/CloudFileDocumentContentStoreTests.cs b/tests/CloudFileDocumentContentStoreTests.cs new file mode 100644 index 0000000..415e5d9 --- /dev/null +++ b/tests/CloudFileDocumentContentStoreTests.cs @@ -0,0 +1,134 @@ +using System.Net; +using System.Net.Http; +using Microsoft.Extensions.Logging; +using Moq; +using mws.backend.dotnet.infrastructure.CloudFile; + +namespace tests; + +public class CloudFileDocumentContentStoreTests +{ + private readonly Mock