diff --git a/Application/Directory.Build.props b/Application/Directory.Build.props
deleted file mode 100644
index 2f2d2d0b1..000000000
--- a/Application/Directory.Build.props
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
- Ed-Fi ODS Admin App
- Ed-Fi Alliance, LLC and contributors
- Ed-Fi Alliance, LLC and contributors
- Copyright © 2016 Ed-Fi Alliance
- 0.1.0.1
-
-
-
diff --git a/Application/Directory.Packages.props b/Application/Directory.Packages.props
new file mode 100644
index 000000000..c673c845e
--- /dev/null
+++ b/Application/Directory.Packages.props
@@ -0,0 +1,42 @@
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/AddClaimSetCommandV6ServiceTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/AddClaimSetCommandServiceTests.cs
similarity index 90%
rename from Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/AddClaimSetCommandV6ServiceTests.cs
rename to Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/AddClaimSetCommandServiceTests.cs
index e7438f219..06b51d1e2 100644
--- a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/AddClaimSetCommandV6ServiceTests.cs
+++ b/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/AddClaimSetCommandServiceTests.cs
@@ -14,7 +14,7 @@
namespace EdFi.Ods.AdminApi.DBTests.ClaimSetEditorTests;
[TestFixture]
-public class AddClaimSetCommandV6ServiceTests : SecurityDataTestBase
+public class AddClaimSetCommandServiceTests : SecurityDataTestBase
{
[Test]
public void ShouldAddClaimSet()
@@ -31,7 +31,7 @@ public void ShouldAddClaimSet()
ClaimSet addedClaimSet = null;
using (var securityContext = TestContext)
{
- var command = new AddClaimSetCommandV6Service(securityContext);
+ var command = new AddClaimSetCommandService(securityContext);
addedClaimSetId = command.Execute(newClaimSet);
addedClaimSet = securityContext.ClaimSets.Single(x => x.ClaimSetId == addedClaimSetId);
}
diff --git a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/AddClaimSetCommandV53ServiceTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/AddClaimSetCommandV53ServiceTests.cs
deleted file mode 100644
index ab17834dc..000000000
--- a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/AddClaimSetCommandV53ServiceTests.cs
+++ /dev/null
@@ -1,41 +0,0 @@
-// SPDX-License-Identifier: Apache-2.0
-// Licensed to the Ed-Fi Alliance under one or more agreements.
-// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
-// See the LICENSE and NOTICES files in the project root for more information.
-extern alias Compatability;
-
-using System;
-using System.Linq;
-using NUnit.Framework;
-using EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor;
-using Shouldly;
-using ClaimSet = Compatability::EdFi.SecurityCompatiblity53.DataAccess.Models.ClaimSet;
-using Application = Compatability::EdFi.SecurityCompatiblity53.DataAccess.Models.Application;
-
-namespace EdFi.Ods.AdminApi.DBTests.ClaimSetEditorTests;
-
-[TestFixture]
-public class AddClaimSetCommandV53ServiceTests : SecurityData53TestBase
-{
- [Test]
- public void ShouldAddClaimSet()
- {
- var testApplication = new Application
- {
- ApplicationName = $"Test Application {DateTime.Now:O}"
- };
- Save(testApplication);
-
- var newClaimSet = new AddClaimSetModel { ClaimSetName = "TestClaimSet" };
-
- var addedClaimSetId = 0;
- ClaimSet addedClaimSet = null;
- using (var context = base.TestContext)
- {
- var command = new AddClaimSetCommandV53Service(context);
- addedClaimSetId = command.Execute(newClaimSet);
- addedClaimSet = context.ClaimSets.Single(x => x.ClaimSetId == addedClaimSetId);
- }
- addedClaimSet.ClaimSetName.ShouldBe(newClaimSet.ClaimSetName);
- }
-}
diff --git a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/DeleteClaimSetCommandV53ServiceTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/DeleteClaimSetCommandServiceTests.cs
similarity index 85%
rename from Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/DeleteClaimSetCommandV53ServiceTests.cs
rename to Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/DeleteClaimSetCommandServiceTests.cs
index b418a9bd6..e342b676c 100644
--- a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/DeleteClaimSetCommandV53ServiceTests.cs
+++ b/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/DeleteClaimSetCommandServiceTests.cs
@@ -2,7 +2,6 @@
// Licensed to the Ed-Fi Alliance under one or more agreements.
// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
// See the LICENSE and NOTICES files in the project root for more information.
-extern alias Compatability;
using System;
using System.Linq;
@@ -11,13 +10,13 @@
using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling;
using Moq;
using Shouldly;
-using ClaimSet = Compatability::EdFi.SecurityCompatiblity53.DataAccess.Models.ClaimSet;
-using Application = Compatability::EdFi.SecurityCompatiblity53.DataAccess.Models.Application;
+using ClaimSet = EdFi.Security.DataAccess.Models.ClaimSet;
+using Application = EdFi.Security.DataAccess.Models.Application;
namespace EdFi.Ods.AdminApi.DBTests.ClaimSetEditorTests;
[TestFixture]
-public class DeleteClaimSetCommandV53ServiceTests : SecurityData53TestBase
+public class DeleteClaimSetCommandServiceTests : SecurityDataTestBase
{
[Test]
@@ -32,24 +31,24 @@ public void ShouldDeleteClaimSet()
var testClaimSetToDelete = new ClaimSet
{ ClaimSetName = "TestClaimSet_Delete", Application = testApplication };
Save(testClaimSetToDelete);
- SetupParentResourceClaimsWithChildren(testClaimSetToDelete, testApplication);
+ SetupParentResourceClaimsWithChildren(testClaimSetToDelete, testApplication, UniqueNameList("ParentRc", 3), UniqueNameList("ChildRc", 1));
var testClaimSetToPreserve = new ClaimSet
{ ClaimSetName = "TestClaimSet_Preserve", Application = testApplication };
Save(testClaimSetToPreserve);
- var resourceClaimsForPreservedClaimSet = SetupParentResourceClaimsWithChildren(testClaimSetToPreserve, testApplication);
+ var resourceClaimsForPreservedClaimSet = SetupParentResourceClaimsWithChildren(testClaimSetToPreserve, testApplication, UniqueNameList("ParentRc", 3),
+ UniqueNameList("ChildRc", 1));
var deleteModel = new Mock();
deleteModel.Setup(x => x.Name).Returns(testClaimSetToDelete.ClaimSetName);
deleteModel.Setup(x => x.Id).Returns(testClaimSetToDelete.ClaimSetId);
using var securityContext = TestContext;
- var command = new DeleteClaimSetCommandV53Service(securityContext);
+ var command = new DeleteClaimSetCommandService(securityContext);
command.Execute(deleteModel.Object);
-
var deletedClaimSet = securityContext.ClaimSets.SingleOrDefault(x => x.ClaimSetId == testClaimSetToDelete.ClaimSetId);
deletedClaimSet.ShouldBeNull();
- var deletedClaimSetResourceActions = securityContext.ClaimSetResourceClaims.Count(x => x.ClaimSet.ClaimSetId == testClaimSetToDelete.ClaimSetId);
+ var deletedClaimSetResourceActions = securityContext.ClaimSetResourceClaimActions.Count(x => x.ClaimSet.ClaimSetId == testClaimSetToDelete.ClaimSetId);
deletedClaimSetResourceActions.ShouldBe(0);
var preservedClaimSet = securityContext.ClaimSets.Single(x => x.ClaimSetId == testClaimSetToPreserve.ClaimSetId);
@@ -85,7 +84,7 @@ public void ShouldThrowExceptionOnEditSystemReservedClaimSet()
};
Save(testApplication);
- var systemReservedClaimSet = new ClaimSet { ClaimSetName = "SIS Vendor", Application = testApplication };
+ var systemReservedClaimSet = new ClaimSet { ClaimSetName = "SIS Vendor", Application = testApplication, IsEdfiPreset = true };
Save(systemReservedClaimSet);
var deleteModel = new Mock();
@@ -94,7 +93,7 @@ public void ShouldThrowExceptionOnEditSystemReservedClaimSet()
using var securityContext = TestContext;
var exception = Assert.Throws(() =>
{
- var command = new DeleteClaimSetCommandV53Service(securityContext);
+ var command = new DeleteClaimSetCommandService(securityContext);
command.Execute(deleteModel.Object);
});
exception.ShouldNotBeNull();
diff --git a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/DeleteClaimSetCommandV6ServiceTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/DeleteClaimSetCommandV6ServiceTests.cs
deleted file mode 100644
index 8df77a01c..000000000
--- a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/DeleteClaimSetCommandV6ServiceTests.cs
+++ /dev/null
@@ -1,187 +0,0 @@
-// SPDX-License-Identifier: Apache-2.0
-// Licensed to the Ed-Fi Alliance under one or more agreements.
-// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
-// See the LICENSE and NOTICES files in the project root for more information.
-
-using System;
-using System.Linq;
-using NUnit.Framework;
-using EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor;
-using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling;
-using Moq;
-using Shouldly;
-using ClaimSet = EdFi.Security.DataAccess.Models.ClaimSet;
-using Application = EdFi.Security.DataAccess.Models.Application;
-
-namespace EdFi.Ods.AdminApi.DBTests.ClaimSetEditorTests;
-
-[TestFixture]
-public class DeleteClaimSetCommandV6ServiceTests : SecurityDataTestBase
-{
-
- [Test]
- public void ShouldDeleteClaimSet()
- {
- var testApplication = new Application
- {
- ApplicationName = $"Test Application {DateTime.Now:O}"
- };
- Save(testApplication);
-
- var testClaimSetToDelete = new ClaimSet
- { ClaimSetName = "TestClaimSet_Delete", Application = testApplication };
- Save(testClaimSetToDelete);
- SetupParentResourceClaimsWithChildren(testClaimSetToDelete, testApplication, UniqueNameList("ParentRc", 3), UniqueNameList("ChildRc", 1));
-
- var testClaimSetToPreserve = new ClaimSet
- { ClaimSetName = "TestClaimSet_Preserve", Application = testApplication };
- Save(testClaimSetToPreserve);
- var resourceClaimsForPreservedClaimSet = SetupParentResourceClaimsWithChildren(testClaimSetToPreserve, testApplication, UniqueNameList("ParentRc", 3),
- UniqueNameList("ChildRc", 1));
-
- var deleteModel = new Mock();
- deleteModel.Setup(x => x.Name).Returns(testClaimSetToDelete.ClaimSetName);
- deleteModel.Setup(x => x.Id).Returns(testClaimSetToDelete.ClaimSetId);
-
- using var securityContext = TestContext;
- var command = new DeleteClaimSetCommandV6Service(securityContext);
- command.Execute(deleteModel.Object);
- var deletedClaimSet = securityContext.ClaimSets.SingleOrDefault(x => x.ClaimSetId == testClaimSetToDelete.ClaimSetId);
- deletedClaimSet.ShouldBeNull();
- var deletedClaimSetResourceActions = securityContext.ClaimSetResourceClaimActions.Count(x => x.ClaimSet.ClaimSetId == testClaimSetToDelete.ClaimSetId);
- deletedClaimSetResourceActions.ShouldBe(0);
-
- var preservedClaimSet = securityContext.ClaimSets.Single(x => x.ClaimSetId == testClaimSetToPreserve.ClaimSetId);
- preservedClaimSet.ClaimSetName.ShouldBe(testClaimSetToPreserve.ClaimSetName);
-
- var results = ResourceClaimsForClaimSet(testClaimSetToPreserve.ClaimSetId);
-
- var testParentResourceClaimsForId =
- resourceClaimsForPreservedClaimSet.Where(x => x.ClaimSet.ClaimSetId == testClaimSetToPreserve.ClaimSetId && x.ResourceClaim.ParentResourceClaim == null).Select(x => x.ResourceClaim).ToArray();
-
- results.Count.ShouldBe(testParentResourceClaimsForId.Length);
- results.Select(x => x.Name).ShouldBe(testParentResourceClaimsForId.Select(x => x.ResourceName), true);
- results.Select(x => x.Id).ShouldBe(testParentResourceClaimsForId.Select(x => x.ResourceClaimId), true);
- results.All(x => x.Create).ShouldBe(true);
-
- foreach (var testParentResourceClaim in testParentResourceClaimsForId)
- {
- var testChildren = securityContext.ResourceClaims.Where(x =>
- x.ParentResourceClaimId == testParentResourceClaim.ResourceClaimId).ToList();
- var parentResult = results.First(x => x.Id == testParentResourceClaim.ResourceClaimId);
- parentResult.Children.Select(x => x.Name).ShouldBe(testChildren.Select(x => x.ResourceName), true);
- parentResult.Children.Select(x => x.Id).ShouldBe(testChildren.Select(x => x.ResourceClaimId), true);
- parentResult.Children.All(x => x.Create).ShouldBe(true);
- }
- }
-
- [Test]
- public void ShouldThrowExceptionOnEditSystemReservedClaimSet()
- {
- var testApplication = new Application
- {
- ApplicationName = $"Test Application {DateTime.Now:O}"
- };
- Save(testApplication);
-
- var systemReservedClaimSet = new ClaimSet { ClaimSetName = "SIS Vendor", Application = testApplication, IsEdfiPreset = true };
- Save(systemReservedClaimSet);
-
- var deleteModel = new Mock();
- deleteModel.Setup(x => x.Name).Returns(systemReservedClaimSet.ClaimSetName);
- deleteModel.Setup(x => x.Id).Returns(systemReservedClaimSet.ClaimSetId);
- using var securityContext = TestContext;
- var exception = Assert.Throws(() =>
- {
- var command = new DeleteClaimSetCommandV6Service(securityContext);
- command.Execute(deleteModel.Object);
- });
- exception.ShouldNotBeNull();
- exception.Message.ShouldBe($"Claim set({systemReservedClaimSet.ClaimSetName}) is system reserved.Can not be deleted.");
- }
-
- // TODO: move these to UnitTests, using appropriate validator from the API project
- //[Test]
- //public void ShouldNotDeleteClaimSetIfNotEditable()
- //{
- // var testApplication = new Application
- // {
- // ApplicationName = "TestApplication1"
- // };
- // Save(testApplication);
-
- // var testClaimSet = new ClaimSet {ClaimSetName = $"TestClaimSet{DateTime.Now:O}", Application = testApplication};
- // Save(testClaimSet);
-
- // var claimSetToDelete = new DeleteClaimSetModel()
- // {
- // Name = testClaimSet.ClaimSetName,
- // Id = testClaimSet.ClaimSetId,
- // IsEditable = false
- // };
-
- // using var securityContext = TestContext;
- // var getClaimSetByIdQuery = ClaimSetByIdQuery(securityContext);
- // var validator = new DeleteClaimSetModelValidator(getClaimSetByIdQuery);
- // var validationResults = validator.Validate(claimSetToDelete);
- // validationResults.IsValid.ShouldBe(false);
- // validationResults.Errors.Single().ErrorMessage.ShouldBe("Only user created claim sets can be deleted");
- //}
-
- //[Test]
- //public void ShouldNotDeleteClaimSetIfNotAnExistingId()
- //{
- // var testApplication = new Application
- // {
- // ApplicationName = "TestApplication2"
- // };
- // Save(testApplication);
-
- // var testClaimSet = new ClaimSet { ClaimSetName = $"TestClaimSet{DateTime.Now:O}", Application = testApplication };
- // Save(testClaimSet);
-
- // var claimSetToDelete = new DeleteClaimSetModel()
- // {
- // Name = testClaimSet.ClaimSetName,
- // Id = 99,
- // IsEditable = true
- // };
- // using var securityContext = TestContext;
- // var getClaimSetByIdQuery = ClaimSetByIdQuery(securityContext);
- // var validator = new DeleteClaimSetModelValidator(getClaimSetByIdQuery);
- // var validationResults = validator.Validate(claimSetToDelete);
- // validationResults.IsValid.ShouldBe(false);
- // validationResults.Errors.Single().ErrorMessage.ShouldBe("No such claim set exists in the database");
- //}
-
- //[Test]
- //public void ShouldNotDeleteClaimSetHasAnAssociatedApplication()
- //{
- // var testApplication = new Application
- // {
- // ApplicationName = "TestApplication3"
- // };
- // Save(testApplication);
-
- // var testClaimSet = new ClaimSet { ClaimSetName = $"TestClaimSet{DateTime.Now:O}", Application = testApplication };
- // Save(testClaimSet);
-
- // var claimSetToDelete = new DeleteClaimSetModel()
- // {
- // Name = testClaimSet.ClaimSetName,
- // Id = testClaimSet.ClaimSetId,
- // IsEditable = true,
- // VendorApplicationCount = 1
- // };
-
- // using var securityContext = TestContext;
- // var getClaimSetByIdQuery = ClaimSetByIdQuery(securityContext);
- // var validator = new DeleteClaimSetModelValidator(getClaimSetByIdQuery);
- // var validationResults = validator.Validate(claimSetToDelete);
- // validationResults.IsValid.ShouldBe(false);
- // validationResults.Errors.Single().ErrorMessage.ShouldBe($"Cannot delete this claim set. This claim set has {claimSetToDelete.VendorApplicationCount} associated application(s).");
- //}
-
- //private GetClaimSetByIdQuery ClaimSetByIdQuery(ISecurityContext securityContext) => new GetClaimSetByIdQuery(new StubOdsSecurityModelVersionResolver.V6(),
- // null, new GetClaimSetByIdQueryV6Service(securityContext));
-}
diff --git a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/EditClaimSetCommandV53ServiceTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/EditClaimSetCommandServiceTests.cs
similarity index 86%
rename from Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/EditClaimSetCommandV53ServiceTests.cs
rename to Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/EditClaimSetCommandServiceTests.cs
index 8965229e5..dc6132216 100644
--- a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/EditClaimSetCommandV53ServiceTests.cs
+++ b/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/EditClaimSetCommandServiceTests.cs
@@ -2,25 +2,24 @@
// Licensed to the Ed-Fi Alliance under one or more agreements.
// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
// See the LICENSE and NOTICES files in the project root for more information.
-extern alias Compatability;
using System;
using System.Linq;
using NUnit.Framework;
using EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor;
using Shouldly;
-using Compatability::EdFi.SecurityCompatiblity53.DataAccess.Contexts;
+using EdFi.Security.DataAccess.Contexts;
using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling;
using VendorApplication = EdFi.Admin.DataAccess.Models.Application;
-using ClaimSet = Compatability::EdFi.SecurityCompatiblity53.DataAccess.Models.ClaimSet;
-using Application = Compatability::EdFi.SecurityCompatiblity53.DataAccess.Models.Application;
+using ClaimSet = EdFi.Security.DataAccess.Models.ClaimSet;
+using Application = EdFi.Security.DataAccess.Models.Application;
using EdFi.Ods.AdminApi.Features.ClaimSets;
using EdFi.Ods.AdminApi.Infrastructure;
namespace EdFi.Ods.AdminApi.DBTests.ClaimSetEditorTests;
[TestFixture]
-public class EditClaimSetCommandV53ServiceTests : SecurityData53TestBase
+public class EditClaimSetCommandServiceTests : SecurityDataTestBase
{
[Test]
public void ShouldEditClaimSet()
@@ -39,7 +38,7 @@ public void ShouldEditClaimSet()
using var securityContext = TestContext;
UsersTransaction((usersContext) =>
{
- var command = new EditClaimSetCommandV53Service(securityContext, usersContext);
+ var command = new EditClaimSetCommandService(securityContext, usersContext);
command.Execute(editModel);
});
@@ -56,7 +55,7 @@ public void ShouldThrowExceptionOnEditSystemReservedClaimSet()
};
Save(testApplication);
- var systemReservedClaimSet = new ClaimSet { ClaimSetName = "Ed-Fi Sandbox", Application = testApplication };
+ var systemReservedClaimSet = new ClaimSet { ClaimSetName = "Ed-Fi Sandbox", Application = testApplication, IsEdfiPreset = true };
Save(systemReservedClaimSet);
var editModel = new EditClaimSetModel { ClaimSetName = "TestClaimSetEdited", ClaimSetId = systemReservedClaimSet.ClaimSetId };
@@ -64,7 +63,7 @@ public void ShouldThrowExceptionOnEditSystemReservedClaimSet()
using var securityContext = TestContext;
var exception = Assert.Throws(() => UsersTransaction(usersContext =>
{
- var command = new EditClaimSetCommandV53Service(securityContext, usersContext);
+ var command = new EditClaimSetCommandService(TestContext, usersContext);
command.Execute(editModel);
}));
exception.ShouldNotBeNull();
@@ -93,7 +92,7 @@ public void ShouldEditClaimSetWithVendorApplications()
using var securityContext = TestContext;
UsersTransaction(usersContext =>
{
- var command = new EditClaimSetCommandV53Service(securityContext, usersContext);
+ var command = new EditClaimSetCommandService(securityContext, usersContext);
command.Execute(editModel);
});
@@ -101,7 +100,6 @@ public void ShouldEditClaimSetWithVendorApplications()
editedClaimSet.ClaimSetName.ShouldBe(editModel.ClaimSetName);
AssertApplicationsForClaimSet(claimSetToBeEdited.ClaimSetId, editModel.ClaimSetName, securityContext);
-
var unEditedClaimSet = securityContext.ClaimSets.Single(x => x.ClaimSetId == claimSetNotToBeEdited.ClaimSetId);
unEditedClaimSet.ClaimSetName.ShouldBe(claimSetNotToBeEdited.ClaimSetName);
AssertApplicationsForClaimSet(claimSetNotToBeEdited.ClaimSetId, claimSetNotToBeEdited.ClaimSetName, securityContext);
@@ -129,7 +127,7 @@ private void AssertApplicationsForClaimSet(int claimSetId, string claimSetNameTo
UsersTransaction(
usersContext =>
{
- var results = new GetApplicationsByClaimSetId53Query(securityContext, usersContext).Execute(claimSetId);
+ var results = new GetApplicationsByClaimSetIdQuery(securityContext, usersContext).Execute(claimSetId);
var testApplications = usersContext.Applications.Where(x => x.ClaimSetName == claimSetNameToAssert).ToList();
results.Count().ShouldBe(testApplications.Count);
results.Select(x => x.Name).ShouldBe(testApplications.Select(x => x.ApplicationName), true);
diff --git a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/EditClaimSetCommandV6ServiceTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/EditClaimSetCommandV6ServiceTests.cs
deleted file mode 100644
index 67e5c5e43..000000000
--- a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/EditClaimSetCommandV6ServiceTests.cs
+++ /dev/null
@@ -1,211 +0,0 @@
-// SPDX-License-Identifier: Apache-2.0
-// Licensed to the Ed-Fi Alliance under one or more agreements.
-// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
-// See the LICENSE and NOTICES files in the project root for more information.
-
-using System;
-using System.Linq;
-using NUnit.Framework;
-using EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor;
-using Shouldly;
-using EdFi.Security.DataAccess.Contexts;
-using EdFi.Ods.AdminApi.Infrastructure.ErrorHandling;
-using VendorApplication = EdFi.Admin.DataAccess.Models.Application;
-using ClaimSet = EdFi.Security.DataAccess.Models.ClaimSet;
-using Application = EdFi.Security.DataAccess.Models.Application;
-using EdFi.Ods.AdminApi.Features.ClaimSets;
-using EdFi.Ods.AdminApi.Infrastructure;
-
-namespace EdFi.Ods.AdminApi.DBTests.ClaimSetEditorTests;
-
-[TestFixture]
-public class EditClaimSetCommandV6ServiceTests : SecurityDataTestBase
-{
- [Test]
- public void ShouldEditClaimSet()
- {
- var testApplication = new Application
- {
- ApplicationName = $"Test Application {DateTime.Now:O}"
- };
- Save(testApplication);
-
- var alreadyExistingClaimSet = new ClaimSet { ClaimSetName = "TestClaimSet", Application = testApplication };
- Save(alreadyExistingClaimSet);
-
- var editModel = new EditClaimSetModel { ClaimSetName = "TestClaimSetEdited", ClaimSetId = alreadyExistingClaimSet.ClaimSetId };
-
- using var securityContext = TestContext;
- UsersTransaction((usersContext) =>
- {
- var command = new EditClaimSetCommandV6Service(securityContext, usersContext);
- command.Execute(editModel);
- });
-
- var editedClaimSet = securityContext.ClaimSets.Single(x => x.ClaimSetId == alreadyExistingClaimSet.ClaimSetId);
- editedClaimSet.ClaimSetName.ShouldBe(editModel.ClaimSetName);
- }
-
- [Test]
- public void ShouldThrowExceptionOnEditSystemReservedClaimSet()
- {
- var testApplication = new Application
- {
- ApplicationName = $"Test Application {DateTime.Now:O}"
- };
- Save(testApplication);
-
- var systemReservedClaimSet = new ClaimSet { ClaimSetName = "Ed-Fi Sandbox", Application = testApplication, IsEdfiPreset = true };
- Save(systemReservedClaimSet);
-
- var editModel = new EditClaimSetModel { ClaimSetName = "TestClaimSetEdited", ClaimSetId = systemReservedClaimSet.ClaimSetId };
-
- using var securityContext = TestContext;
- var exception = Assert.Throws(() => UsersTransaction(usersContext =>
- {
- var command = new EditClaimSetCommandV6Service(TestContext, usersContext);
- command.Execute(editModel);
- }));
- exception.ShouldNotBeNull();
- exception.Message.ShouldBe($"Claim set ({systemReservedClaimSet.ClaimSetName}) is system reserved.May not be modified.");
- }
-
- [Test]
- public void ShouldEditClaimSetWithVendorApplications()
- {
- var testApplication = new Application
- {
- ApplicationName = $"Test Application {DateTime.Now:O}"
- };
- Save(testApplication);
-
- var claimSetToBeEdited = new ClaimSet { ClaimSetName = $"TestClaimSet{Guid.NewGuid():N}", Application = testApplication };
- Save(claimSetToBeEdited);
- SetupVendorApplicationsForClaimSet(claimSetToBeEdited);
-
- var claimSetNotToBeEdited = new ClaimSet { ClaimSetName = $"TestClaimSet{Guid.NewGuid():N}", Application = testApplication };
- Save(claimSetNotToBeEdited);
- SetupVendorApplicationsForClaimSet(claimSetNotToBeEdited);
-
- var editModel = new EditClaimSetModel { ClaimSetName = "TestClaimSetEdited", ClaimSetId = claimSetToBeEdited.ClaimSetId };
-
- using var securityContext = TestContext;
- UsersTransaction(usersContext =>
- {
- var command = new EditClaimSetCommandV6Service(securityContext, usersContext);
- command.Execute(editModel);
- });
-
- var editedClaimSet = securityContext.ClaimSets.Single(x => x.ClaimSetId == claimSetToBeEdited.ClaimSetId);
- editedClaimSet.ClaimSetName.ShouldBe(editModel.ClaimSetName);
- AssertApplicationsForClaimSet(claimSetToBeEdited.ClaimSetId, editModel.ClaimSetName, securityContext);
-
- var unEditedClaimSet = securityContext.ClaimSets.Single(x => x.ClaimSetId == claimSetNotToBeEdited.ClaimSetId);
- unEditedClaimSet.ClaimSetName.ShouldBe(claimSetNotToBeEdited.ClaimSetName);
- AssertApplicationsForClaimSet(claimSetNotToBeEdited.ClaimSetId, claimSetNotToBeEdited.ClaimSetName, securityContext);
- }
-
- private void SetupVendorApplicationsForClaimSet(ClaimSet testClaimSet, int applicationCount = 5)
- {
- UsersTransaction(usersContext =>
- {
- foreach (var _ in Enumerable.Range(1, applicationCount))
- {
- usersContext.Applications.Add(new VendorApplication
- {
- ApplicationName = $"TestAppVendorName{Guid.NewGuid():N}",
- ClaimSetName = testClaimSet.ClaimSetName,
- OperationalContextUri = OperationalContext.DefaultOperationalContextUri
- });
- }
- usersContext.SaveChanges();
- });
- }
-
- private void AssertApplicationsForClaimSet(int claimSetId, string claimSetNameToAssert, ISecurityContext securityContext)
- {
- UsersTransaction(
- usersContext =>
- {
- var results = new GetApplicationsByClaimSetIdQuery(securityContext, usersContext).Execute(claimSetId);
- var testApplications = usersContext.Applications.Where(x => x.ClaimSetName == claimSetNameToAssert).ToList();
- results.Count().ShouldBe(testApplications.Count);
- results.Select(x => x.Name).ShouldBe(testApplications.Select(x => x.ApplicationName), true);
- });
- }
-
- // TODO: move these to UnitTests, using appropriate validator from the API project
- //[Test]
- //public void ShouldNotEditClaimSetIfNameNotUnique()
- //{
- // var testApplication = new Application
- // {
- // ApplicationName = $"Test Application {DateTime.Now:O}"
- // };
- // Save(testApplication);
-
- // var alreadyExistingClaimSet = new ClaimSet { ClaimSetName = "TestClaimSet1", Application = testApplication };
- // Save(alreadyExistingClaimSet);
-
- // var testClaimSet = new ClaimSet { ClaimSetName = "TestClaimSet2", Application = testApplication };
- // Save(testClaimSet);
-
- // var editModel = new EditClaimSetModel { ClaimSetName = "TestClaimSet1", ClaimSetId = testClaimSet.ClaimSetId };
-
- // using var securityContext = TestContext;
- // var validator = new EditClaimSetModelValidator(AllClaimSetsQuery(securityContext),
- // ClaimSetByIdQuery(securityContext));
- // var validationResults = validator.Validate(editModel);
- // validationResults.IsValid.ShouldBe(false);
- // validationResults.Errors.Single().ErrorMessage.ShouldBe("A claim set with this name already exists in the database. Please enter a unique name.");
- //}
-
- //[Test]
- //public void ShouldNotEditClaimSetIfNameEmpty()
- //{
- // var testApplication = new Application
- // {
- // ApplicationName = $"Test Application {DateTime.Now:O}"
- // };
- // Save(testApplication);
-
- // var testClaimSet = new ClaimSet { ClaimSetName = "TestClaimSet1", Application = testApplication };
- // Save(testClaimSet);
-
- // var editModel = new EditClaimSetModel { ClaimSetName = "", ClaimSetId = testClaimSet.ClaimSetId };
-
- // using var securityContext = TestContext;
- // var validator = new EditClaimSetModelValidator(AllClaimSetsQuery(securityContext),
- // ClaimSetByIdQuery(securityContext));
- // var validationResults = validator.Validate(editModel);
- // validationResults.IsValid.ShouldBe(false);
- // validationResults.Errors.Single().ErrorMessage.ShouldBe("'Claim Set Name' must not be empty.");
- //}
-
- //[Test]
- //public void ShouldNotEditClaimSetIfNameLengthGreaterThan255Characters()
- //{
- // var testApplication = new Application
- // {
- // ApplicationName = $"Test Application {DateTime.Now:O}"
- // };
- // Save(testApplication);
-
- // var testClaimSet = new ClaimSet { ClaimSetName = "TestClaimSet1", Application = testApplication };
- // Save(testClaimSet);
-
- // var editModel = new EditClaimSetModel { ClaimSetName = "ThisIsAClaimSetWithNameLengthGreaterThan255CharactersThisIsAClaimSetWithNameLengthGreaterThan255CharactersThisIsAClaimSetWithNameLengthGreaterThan255CharactersThisIsAClaimSetWithNameLengthGreaterThan255CharactersThisIsAClaimSetWithNameLengthGreaterThan255CharactersThisIsAClaimSetWithNameLengthGreaterThan255Characters", ClaimSetId = testClaimSet.ClaimSetId };
-
- // using var securityContext = TestContext;
- // var validator = new EditClaimSetModelValidator(AllClaimSetsQuery(securityContext),
- // ClaimSetByIdQuery(securityContext));
- // var validationResults = validator.Validate(editModel);
- // validationResults.IsValid.ShouldBe(false);
- // validationResults.Errors.Single().ErrorMessage.ShouldBe("The claim set name must be less than 255 characters.");
- //}
-
- //private GetClaimSetByIdQuery ClaimSetByIdQuery(ISecurityContext securityContext) => new GetClaimSetByIdQuery(new StubOdsSecurityModelVersionResolver.V6(),
- // null, new GetClaimSetByIdQueryV6Service(securityContext));
-
- //private IGetAllClaimSetsQuery AllClaimSetsQuery(ISecurityContext securityContext) => new GetAllClaimSetsQuery(securityContext);
-}
diff --git a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/EditResourceOnClaimSetCommandV6ServiceTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/EditResourceOnClaimSetCommandServiceTests.cs
similarity index 96%
rename from Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/EditResourceOnClaimSetCommandV6ServiceTests.cs
rename to Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/EditResourceOnClaimSetCommandServiceTests.cs
index 45364bf09..1837366d0 100644
--- a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/EditResourceOnClaimSetCommandV6ServiceTests.cs
+++ b/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/EditResourceOnClaimSetCommandServiceTests.cs
@@ -16,7 +16,7 @@
namespace EdFi.Ods.AdminApi.DBTests.ClaimSetEditorTests;
[TestFixture]
-public class EditResourceOnClaimSetCommandV6ServiceTests : SecurityDataTestBase
+public class EditResourceOnClaimSetCommandServiceTests : SecurityDataTestBase
{
[Test]
public void ShouldEditParentResourcesOnClaimSet()
@@ -43,7 +43,7 @@ public void ShouldEditParentResourcesOnClaimSet()
Create = false,
Read = false,
Update = true,
- Delete = true,
+ Delete = true,
ReadChanges = true
};
@@ -52,7 +52,7 @@ public void ShouldEditParentResourcesOnClaimSet()
editResourceOnClaimSetModel.Setup(x => x.ResourceClaim).Returns(editedResource);
using var securityContext = TestContext;
- var command = new EditResourceOnClaimSetCommandV6Service(securityContext);
+ var command = new EditResourceOnClaimSetCommandService(securityContext);
command.Execute(editResourceOnClaimSetModel.Object);
var resourceClaimsForClaimSet = ResourceClaimsForClaimSet(testClaimSet.ClaimSetId);
@@ -105,7 +105,7 @@ public void ShouldEditChildResourcesOnClaimSet()
Create = false,
Read = false,
Update = true,
- Delete = true,
+ Delete = true,
ReadChanges = true
};
@@ -113,7 +113,7 @@ public void ShouldEditChildResourcesOnClaimSet()
editResourceOnClaimSetModel.Setup(x => x.ClaimSetId).Returns(testClaimSet.ClaimSetId);
editResourceOnClaimSetModel.Setup(x => x.ResourceClaim).Returns(editedResource);
- var command = new EditResourceOnClaimSetCommandV6Service(securityContext);
+ var command = new EditResourceOnClaimSetCommandService(securityContext);
command.Execute(editResourceOnClaimSetModel.Object);
var resourceClaimsForClaimSet = ResourceClaimsForClaimSet(testClaimSet.ClaimSetId);
@@ -167,7 +167,7 @@ public void ShouldAddParentResourceToClaimSet()
Create = true,
Read = false,
Update = true,
- Delete = false,
+ Delete = false,
ReadChanges = false
};
var existingResources = ResourceClaimsForClaimSet(testClaimSet.ClaimSetId);
@@ -179,7 +179,7 @@ public void ShouldAddParentResourceToClaimSet()
};
using var securityContext = TestContext;
- var command = new EditResourceOnClaimSetCommandV6Service(securityContext);
+ var command = new EditResourceOnClaimSetCommandService(securityContext);
command.Execute(editResourceOnClaimSetModel);
var resourceClaimsForClaimSet = ResourceClaimsForClaimSet(testClaimSet.ClaimSetId);
@@ -221,7 +221,7 @@ public void ShouldAddChildResourcesToClaimSet()
Create = true,
Read = false,
Update = true,
- Delete = false,
+ Delete = false,
ReadChanges = false
};
var existingResources = ResourceClaimsForClaimSet(testClaimSet.ClaimSetId);
@@ -232,7 +232,7 @@ public void ShouldAddChildResourcesToClaimSet()
ResourceClaim = resourceToAdd
};
- var command = new EditResourceOnClaimSetCommandV6Service(securityContext);
+ var command = new EditResourceOnClaimSetCommandService(securityContext);
command.Execute(editResourceOnClaimSetModel);
var resourceClaimsForClaimSet = ResourceClaimsForClaimSet(testClaimSet.ClaimSetId);
diff --git a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/EditResourceOnClaimSetCommandV53ServiceTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/EditResourceOnClaimSetCommandV53ServiceTests.cs
deleted file mode 100644
index 7394caf57..000000000
--- a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/EditResourceOnClaimSetCommandV53ServiceTests.cs
+++ /dev/null
@@ -1,227 +0,0 @@
-// SPDX-License-Identifier: Apache-2.0
-// Licensed to the Ed-Fi Alliance under one or more agreements.
-// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
-// See the LICENSE and NOTICES files in the project root for more information.
-extern alias Compatability;
-
-using System;
-using System.Linq;
-using NUnit.Framework;
-using EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor;
-using Shouldly;
-using Moq;
-using Application = Compatability::EdFi.SecurityCompatiblity53.DataAccess.Models.Application;
-using ClaimSet = Compatability::EdFi.SecurityCompatiblity53.DataAccess.Models.ClaimSet;
-using ResourceClaim = EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor.ResourceClaim;
-
-namespace EdFi.Ods.AdminApi.DBTests.ClaimSetEditorTests;
-
-[TestFixture]
-public class EditResourceOnClaimSetCommandV53ServiceTests : SecurityData53TestBase
-{
- [Test]
- public void ShouldEditParentResourcesOnClaimSet()
- {
- var testApplication = new Application
- {
- ApplicationName = $"Test Application {DateTime.Now:O}"
- };
- Save(testApplication);
-
- var testClaimSet = new ClaimSet { ClaimSetName = "TestClaimSet", Application = testApplication };
- Save(testClaimSet);
-
- var testResources = SetupParentResourceClaimsWithChildren(testClaimSet, testApplication);
-
- var testResource1ToEdit = testResources.Select(x => x.ResourceClaim).Single(x => x.ResourceName == "TestParentResourceClaim1");
- var testResource2ToNotEdit = testResources.Select(x => x.ResourceClaim).Single(x => x.ResourceName == "TestParentResourceClaim2");
-
- var editedResource = new ResourceClaim
- {
- Id = testResource1ToEdit.ResourceClaimId,
- Name = testResource1ToEdit.ResourceName,
- Create = false,
- Read = false,
- Update = true,
- Delete = true
- };
-
- var editResourceOnClaimSetModel = new Mock();
- editResourceOnClaimSetModel.Setup(x => x.ClaimSetId).Returns(testClaimSet.ClaimSetId);
- editResourceOnClaimSetModel.Setup(x => x.ResourceClaim).Returns(editedResource);
-
- using var securityContext = TestContext;
- var command = new EditResourceOnClaimSetCommandV53Service(securityContext);
- command.Execute(editResourceOnClaimSetModel.Object);
-
- var resourceClaimsForClaimSet = ResourceClaimsForClaimSet(testClaimSet.ClaimSetId);
-
- var resultResourceClaim1 = resourceClaimsForClaimSet.Single(x => x.Id == editedResource.Id);
-
- resultResourceClaim1.Create.ShouldBe(editedResource.Create);
- resultResourceClaim1.Read.ShouldBe(editedResource.Read);
- resultResourceClaim1.Update.ShouldBe(editedResource.Update);
- resultResourceClaim1.Delete.ShouldBe(editedResource.Delete);
-
- var resultResourceClaim2 = resourceClaimsForClaimSet.Single(x => x.Id == testResource2ToNotEdit.ResourceClaimId);
-
- resultResourceClaim2.Create.ShouldBe(true);
- resultResourceClaim2.Read.ShouldBe(false);
- resultResourceClaim2.Update.ShouldBe(false);
- resultResourceClaim2.Delete.ShouldBe(false);
- }
-
- [Test]
- public void ShouldEditChildResourcesOnClaimSet()
- {
- var testApplication = new Application
- {
- ApplicationName = $"Test Application {DateTime.Now:O}"
- };
- Save(testApplication);
-
- var testClaimSet = new ClaimSet { ClaimSetName = "TestClaimSet", Application = testApplication };
- Save(testClaimSet);
-
- var testResources = SetupParentResourceClaimsWithChildren(testClaimSet, testApplication);
-
- var testParentResource = testResources.Single(x => x.ResourceClaim.ResourceName == "TestParentResourceClaim1");
-
- using var securityContext = TestContext;
- var testChildResource1ToEdit = securityContext.ResourceClaims.Single(x => x.ResourceName == "TestChildResourceClaim1" && x.ParentResourceClaimId == testParentResource.ResourceClaim.ResourceClaimId);
- var testChildResource2NotToEdit = securityContext.ResourceClaims.Single(x => x.ResourceName == "TestChildResourceClaim2" && x.ParentResourceClaimId == testParentResource.ResourceClaim.ResourceClaimId);
-
- var editedResource = new ResourceClaim
- {
- Id = testChildResource1ToEdit.ResourceClaimId,
- Name = testChildResource1ToEdit.ResourceName,
- Create = false,
- Read = false,
- Update = true,
- Delete = true
- };
-
- var editResourceOnClaimSetModel = new Mock();
- editResourceOnClaimSetModel.Setup(x => x.ClaimSetId).Returns(testClaimSet.ClaimSetId);
- editResourceOnClaimSetModel.Setup(x => x.ResourceClaim).Returns(editedResource);
-
- var command = new EditResourceOnClaimSetCommandV53Service(securityContext);
- command.Execute(editResourceOnClaimSetModel.Object);
-
- var resourceClaimsForClaimSet = ResourceClaimsForClaimSet(testClaimSet.ClaimSetId);
-
- var resultParentResourceClaim = resourceClaimsForClaimSet.Single(x => x.Id == testParentResource.ResourceClaim.ResourceClaimId);
- resultParentResourceClaim.Create.ShouldBe(true);
- resultParentResourceClaim.Read.ShouldBe(false);
- resultParentResourceClaim.Update.ShouldBe(false);
- resultParentResourceClaim.Delete.ShouldBe(false);
-
- var resultChildResourceClaim1 =
- resultParentResourceClaim.Children.Single(x => x.Id == editedResource.Id);
-
- resultChildResourceClaim1.Create.ShouldBe(editedResource.Create);
- resultChildResourceClaim1.Read.ShouldBe(editedResource.Read);
- resultChildResourceClaim1.Update.ShouldBe(editedResource.Update);
- resultChildResourceClaim1.Delete.ShouldBe(editedResource.Delete);
-
- var resultChildResourceClaim2 =
- resultParentResourceClaim.Children.Single(x => x.Id == testChildResource2NotToEdit.ResourceClaimId);
-
- resultChildResourceClaim2.Create.ShouldBe(true);
- resultChildResourceClaim2.Read.ShouldBe(false);
- resultChildResourceClaim2.Update.ShouldBe(false);
- resultChildResourceClaim2.Delete.ShouldBe(false);
- }
-
- [Test]
- public void ShouldAddParentResourceToClaimSet()
- {
- var testApplication = new Application
- {
- ApplicationName = $"Test Application {DateTime.Now:O}"
- };
- Save(testApplication);
-
- var testClaimSet = new ClaimSet { ClaimSetName = "TestClaimSet", Application = testApplication };
- Save(testClaimSet);
-
- var testResources = SetupResourceClaims(testApplication);
- var testResourceToAdd = testResources.Single(x => x.ResourceName == "TestParentResourceClaim1");
- var resourceToAdd = new ResourceClaim()
- {
- Id = testResourceToAdd.ResourceClaimId,
- Name = testResourceToAdd.ResourceName,
- Create = true,
- Read = false,
- Update = true,
- Delete = false
- };
- var existingResources = ResourceClaimsForClaimSet(testClaimSet.ClaimSetId);
-
- var editResourceOnClaimSetModel = new EditResourceOnClaimSetModel
- {
- ClaimSetId = testClaimSet.ClaimSetId,
- ResourceClaim = resourceToAdd
- };
-
- using var securityContext = TestContext;
- var command = new EditResourceOnClaimSetCommandV53Service(securityContext);
- command.Execute(editResourceOnClaimSetModel);
-
- var resourceClaimsForClaimSet = ResourceClaimsForClaimSet(testClaimSet.ClaimSetId);
-
- var resultResourceClaim1 = resourceClaimsForClaimSet.Single(x => x.Name == testResourceToAdd.ResourceName);
-
- resultResourceClaim1.Create.ShouldBe(resourceToAdd.Create);
- resultResourceClaim1.Read.ShouldBe(resourceToAdd.Read);
- resultResourceClaim1.Update.ShouldBe(resourceToAdd.Update);
- resultResourceClaim1.Delete.ShouldBe(resourceToAdd.Delete);
- }
-
- [Test]
- public void ShouldAddChildResourcesToClaimSet()
- {
- var testApplication = new Application
- {
- ApplicationName = $"Test Application {DateTime.Now:O}"
- };
- Save(testApplication);
-
- var testClaimSet = new ClaimSet { ClaimSetName = "TestClaimSet", Application = testApplication };
- Save(testClaimSet);
-
- var testResources = SetupResourceClaims(testApplication);
- var testParentResource1 = testResources.Single(x => x.ResourceName == "TestParentResourceClaim1");
-
- using var securityContext = TestContext;
- var testChildResource1ToAdd = securityContext.ResourceClaims.Single(x => x.ResourceName == "TestChildResourceClaim1" && x.ParentResourceClaimId == testParentResource1.ResourceClaimId);
- var resourceToAdd = new ResourceClaim()
- {
- Id = testChildResource1ToAdd.ResourceClaimId,
- Name = testChildResource1ToAdd.ResourceName,
- Create = true,
- Read = false,
- Update = true,
- Delete = false
- };
- var existingResources = ResourceClaimsForClaimSet(testClaimSet.ClaimSetId);
-
- var editResourceOnClaimSetModel = new EditResourceOnClaimSetModel
- {
- ClaimSetId = testClaimSet.ClaimSetId,
- ResourceClaim = resourceToAdd
- };
- var command = new EditResourceOnClaimSetCommandV53Service(securityContext);
- command.Execute(editResourceOnClaimSetModel);
-
- var resourceClaimsForClaimSet = ResourceClaimsForClaimSet(testClaimSet.ClaimSetId);
-
- var resultChildResourceClaim1 =
- resourceClaimsForClaimSet.Single(x => x.Name == testChildResource1ToAdd.ResourceName);
-
- resultChildResourceClaim1.Create.ShouldBe(resourceToAdd.Create);
- resultChildResourceClaim1.Read.ShouldBe(resourceToAdd.Read);
- resultChildResourceClaim1.Update.ShouldBe(resourceToAdd.Update);
- resultChildResourceClaim1.Delete.ShouldBe(resourceToAdd.Delete);
- }
-}
diff --git a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetAllClaimSetsQueryV6ServiceTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetAllClaimSetsQueryServiceTests.cs
similarity index 86%
rename from Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetAllClaimSetsQueryV6ServiceTests.cs
rename to Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetAllClaimSetsQueryServiceTests.cs
index 259bab1af..a8211c492 100644
--- a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetAllClaimSetsQueryV6ServiceTests.cs
+++ b/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetAllClaimSetsQueryServiceTests.cs
@@ -15,9 +15,9 @@
namespace EdFi.Ods.AdminApi.DBTests.ClaimSetEditorTests;
[TestFixture]
-public class GetAllClaimSetsQueryV6ServiceTests : SecurityDataTestBase
+public class GetAllClaimSetsQueryServiceTests : SecurityDataTestBase
{
- public GetAllClaimSetsQueryV6ServiceTests()
+ public GetAllClaimSetsQueryServiceTests()
{
SeedSecurityContextOnFixtureSetup = true;
}
@@ -37,7 +37,7 @@ public void Should_Retrieve_ClaimSetNames()
var claimSetNames = Transaction(securityContext =>
{
- var query = new GetAllClaimSetsQueryV6Service(securityContext, Testing.GetAppSettings());
+ var query = new GetAllClaimSetsQueryService(securityContext, Testing.GetAppSettings());
return query.Execute().Select(x => x.Name).ToArray();
});
@@ -60,7 +60,7 @@ public void Should_Retrieve_EdfiPreset_ClaimSet()
var claimSets = Transaction(securityContext =>
{
- var query = new GetAllClaimSetsQueryV6Service(securityContext, Testing.GetAppSettings());
+ var query = new GetAllClaimSetsQueryService(securityContext, Testing.GetAppSettings());
return query.Execute().ToArray();
});
@@ -88,7 +88,7 @@ public void Should_Retrieve_ClaimSetNames_with_offset_and_limit()
var commonQueryParams = new CommonQueryParams(0, 2);
var claimSetNames = Transaction(securityContext =>
{
- var query = new GetAllClaimSetsQueryV6Service(securityContext, Testing.GetAppSettings());
+ var query = new GetAllClaimSetsQueryService(securityContext, Testing.GetAppSettings());
return query.Execute(commonQueryParams).Select(x => x.Name).ToArray();
});
@@ -99,7 +99,7 @@ public void Should_Retrieve_ClaimSetNames_with_offset_and_limit()
commonQueryParams.Offset = 2;
claimSetNames = Transaction(securityContext =>
{
- var query = new GetAllClaimSetsQueryV6Service(securityContext, Testing.GetAppSettings());
+ var query = new GetAllClaimSetsQueryService(securityContext, Testing.GetAppSettings());
return query.Execute(commonQueryParams).Select(x => x.Name).ToArray();
});
@@ -110,7 +110,7 @@ public void Should_Retrieve_ClaimSetNames_with_offset_and_limit()
commonQueryParams.Offset = 4;
claimSetNames = Transaction(securityContext =>
{
- var query = new GetAllClaimSetsQueryV6Service(securityContext, Testing.GetAppSettings());
+ var query = new GetAllClaimSetsQueryService(securityContext, Testing.GetAppSettings());
return query.Execute(commonQueryParams).Select(x => x.Name).ToArray();
});
diff --git a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetAllClaimSetsQueryV53ServiceTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetAllClaimSetsQueryV53ServiceTests.cs
deleted file mode 100644
index f5e122e13..000000000
--- a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetAllClaimSetsQueryV53ServiceTests.cs
+++ /dev/null
@@ -1,109 +0,0 @@
-// SPDX-License-Identifier: Apache-2.0
-// Licensed to the Ed-Fi Alliance under one or more agreements.
-// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
-// See the LICENSE and NOTICES files in the project root for more information.
-extern alias Compatability;
-
-using System;
-using System.Linq;
-using EdFi.Ods.AdminApi.Infrastructure.Services.ClaimSetEditor;
-using NUnit.Framework;
-using Shouldly;
-
-using ClaimSet = Compatability::EdFi.SecurityCompatiblity53.DataAccess.Models.ClaimSet;
-using Application = Compatability::EdFi.SecurityCompatiblity53.DataAccess.Models.Application;
-using EdFi.Ods.AdminApi.Infrastructure;
-
-namespace EdFi.Ods.AdminApi.DBTests.ClaimSetEditorTests;
-
-[TestFixture]
-public class GetAllClaimSetsQueryV53ServiceTests : SecurityData53TestBase
-{
- public GetAllClaimSetsQueryV53ServiceTests()
- {
- SeedSecurityContextOnFixtureSetup = true;
- }
-
- [Test]
- public void Should_Retrieve_ClaimSetNames()
- {
- var application = new Application
- {
- ApplicationName = $"Test Application {DateTime.Now:O}"
- };
- Save(application);
-
- var claimSet1 = GetClaimSet(application);
- var claimSet2 = GetClaimSet(application);
- Save(claimSet1, claimSet2);
-
- var claimSetNames = Transaction(securityContext =>
- {
- var query = new GetAllClaimSetsQueryV53Service(securityContext, Testing.GetAppSettings());
- return query.Execute().Select(x => x.Name).ToArray();
- });
-
- claimSetNames.ShouldContain(claimSet1.ClaimSetName);
- claimSetNames.ShouldContain(claimSet2.ClaimSetName);
- }
-
- [Test]
- public void Should_Retrieve_ClaimSetNames_with_offset_and_limit()
- {
- var application = new Application
- {
- ApplicationName = $"Test Application {DateTime.Now:O}"
- };
- Save(application);
-
- var claimSet1 = GetClaimSet(application);
- var claimSet2 = GetClaimSet(application);
- var claimSet3 = GetClaimSet(application);
- var claimSet4 = GetClaimSet(application);
- var claimSet5 = GetClaimSet(application);
-
- Save(claimSet1, claimSet2, claimSet3, claimSet4, claimSet5);
-
- var commonQueryParams = new CommonQueryParams(0, 2);
- var claimSetNames = Transaction(securityContext =>
- {
- var query = new GetAllClaimSetsQueryV53Service(securityContext, Testing.GetAppSettings());
- return query.Execute(commonQueryParams).Select(x => x.Name).ToArray();
- });
-
- claimSetNames.Length.ShouldBe(2);
- claimSetNames.ShouldContain(claimSet1.ClaimSetName);
- claimSetNames.ShouldContain(claimSet2.ClaimSetName);
-
- commonQueryParams.Offset = 2;
- claimSetNames = Transaction(securityContext =>
- {
- var query = new GetAllClaimSetsQueryV53Service(securityContext, Testing.GetAppSettings());
- return query.Execute(commonQueryParams).Select(x => x.Name).ToArray();
- });
-
- claimSetNames.Length.ShouldBe(2);
- claimSetNames.ShouldContain(claimSet3.ClaimSetName);
- claimSetNames.ShouldContain(claimSet4.ClaimSetName);
-
- commonQueryParams.Offset = 4;
- claimSetNames = Transaction(securityContext =>
- {
- var query = new GetAllClaimSetsQueryV53Service(securityContext, Testing.GetAppSettings());
- return query.Execute(commonQueryParams).Select(x => x.Name).ToArray();
- });
-
- claimSetNames.Length.ShouldBe(1);
- claimSetNames.ShouldContain(claimSet5.ClaimSetName);
- }
-
- private static int _claimSetId = 0;
- private static ClaimSet GetClaimSet(Application application)
- {
- return new ClaimSet
- {
- Application = application,
- ClaimSetName = $"Test Claim Set {_claimSetId++} - {DateTime.Now:O}"
- };
- }
-}
diff --git a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetApplicationsByClaimSetId53Query.cs b/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetApplicationsByClaimSetId53Query.cs
deleted file mode 100644
index 513a569c6..000000000
--- a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetApplicationsByClaimSetId53Query.cs
+++ /dev/null
@@ -1,65 +0,0 @@
-// SPDX-License-Identifier: Apache-2.0
-// Licensed to the Ed-Fi Alliance under one or more agreements.
-// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
-// See the LICENSE and NOTICES files in the project root for more information.
-extern alias Compatability;
-
-using System.Collections.Generic;
-using System.Linq;
-using EdFi.Admin.DataAccess.Contexts;
-using EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor;
-using Compatability::EdFi.SecurityCompatiblity53.DataAccess.Contexts;
-
-namespace EdFi.Ods.AdminApi.DBTests.ClaimSetEditorTests;
-
-///
-/// Compatibility copy of EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor.GetApplicationsByClaimSetIdQuery
-///
-/// Since the projected ClaimSet does not include the new columns from v6.1, this query does not
-/// require multiple versions. However, in order to preserve consistent test results, we must
-/// construct dependent services using a query against the same database.
-///
-internal class GetApplicationsByClaimSetId53Query : IGetApplicationsByClaimSetIdQuery
-{
- private readonly ISecurityContext _securityContext;
- private readonly IUsersContext _usersContext;
-
- public GetApplicationsByClaimSetId53Query(ISecurityContext securityContext, IUsersContext usersContext)
- {
- _securityContext = securityContext;
- _usersContext = usersContext;
- }
-
- public IEnumerable Execute(int securityContextClaimSetId)
- {
- var claimSetName = GetClaimSetNameById(securityContextClaimSetId);
-
- return GetApplicationsByClaimSetName(claimSetName);
- }
-
- private string GetClaimSetNameById(int claimSetId)
- {
- return _securityContext.ClaimSets
- .Select(x => new { x.ClaimSetId, x.ClaimSetName })
- .Single(x => x.ClaimSetId == claimSetId).ClaimSetName;
- }
-
- private IEnumerable GetApplicationsByClaimSetName(string claimSetName)
- {
- return _usersContext.Applications
- .Where(x => x.ClaimSetName == claimSetName)
- .OrderBy(x => x.ClaimSetName)
- .Select(x => new Application
- {
- Name = x.ApplicationName,
- VendorName = x.Vendor.VendorName
- })
- .ToList();
- }
-
- public int ExecuteCount(int claimSetId)
- {
- return Execute(claimSetId).Count();
- }
-}
-
diff --git a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetApplicationsByClaimSetIdQueryV6ServiceTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetApplicationsByClaimSetIdQueryServiceTests.cs
similarity index 98%
rename from Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetApplicationsByClaimSetIdQueryV6ServiceTests.cs
rename to Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetApplicationsByClaimSetIdQueryServiceTests.cs
index 5fc304524..3a7227f5c 100644
--- a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetApplicationsByClaimSetIdQueryV6ServiceTests.cs
+++ b/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetApplicationsByClaimSetIdQueryServiceTests.cs
@@ -17,7 +17,7 @@
namespace EdFi.Ods.AdminApi.DBTests.ClaimSetEditorTests;
[TestFixture]
-public class GetApplicationsByClaimSetIdQueryV6ServiceTests : SecurityDataTestBase
+public class GetApplicationsByClaimSetIdQueryServiceTests : SecurityDataTestBase
{
[TestCase(1)]
[TestCase(3)]
diff --git a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetApplicationsByClaimSetIdQueryV53ServiceTests.cs b/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetApplicationsByClaimSetIdQueryV53ServiceTests.cs
deleted file mode 100644
index 9a4f76254..000000000
--- a/Application/EdFi.Ods.AdminApi.DBTests/ClaimSetEditorTests/GetApplicationsByClaimSetIdQueryV53ServiceTests.cs
+++ /dev/null
@@ -1,123 +0,0 @@
-// SPDX-License-Identifier: Apache-2.0
-// Licensed to the Ed-Fi Alliance under one or more agreements.
-// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
-// See the LICENSE and NOTICES files in the project root for more information.
-extern alias Compatability;
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using NUnit.Framework;
-using Shouldly;
-using Application = Compatability::EdFi.SecurityCompatiblity53.DataAccess.Models.Application;
-using ClaimSet = Compatability::EdFi.SecurityCompatiblity53.DataAccess.Models.ClaimSet;
-using VendorApplication = EdFi.Admin.DataAccess.Models.Application;
-using ClaimSetEditor = EdFi.Ods.AdminApi.Infrastructure.ClaimSetEditor;
-using EdFi.Ods.AdminApi.Infrastructure;
-
-namespace EdFi.Ods.AdminApi.DBTests.ClaimSetEditorTests;
-
-[TestFixture]
-public class GetApplicationsByClaimSetIdQueryV53ServiceTests : SecurityData53TestBase
-{
- [TestCase(1)]
- [TestCase(3)]
- [TestCase(5)]
- public void ShouldGetApplicationsByClaimSetId(int applicationCount)
- {
- var testClaimSets = SetupApplicationWithClaimSets();
-
- SetupApplications(testClaimSets, applicationCount);
-
- using var securityContext = TestContext;
-
- foreach (var testClaimSet in testClaimSets)
- {
- List results = null;
-
- UsersTransaction(usersContext =>
- {
- var query = new GetApplicationsByClaimSetId53Query(securityContext, usersContext);
- results = query.Execute(testClaimSet.ClaimSetId).ToList();
-
- var testApplications =
- usersContext.Applications.Where(x => x.ClaimSetName == testClaimSet.ClaimSetName).Select(x => new Application
- {
- ApplicationName = x.ApplicationName,
- ApplicationId = x.ApplicationId
- }).ToArray();
- results.Count.ShouldBe(testApplications.Length);
- results.Select(x => x.Name).ShouldBe(testApplications.Select(x => x.ApplicationName), true);
- });
- }
- }
-
-
- [TestCase(1)]
- [TestCase(5)]
- public void ShouldGetClaimSetApplicationsCount(int applicationsCount)
- {
- var testClaimSets = SetupApplicationWithClaimSets();
-
- SetupApplications(testClaimSets, applicationsCount);
- using var securityContext = TestContext;
- foreach (var testClaimSet in testClaimSets)
- {
- UsersTransaction(usersContext =>
- {
- var query = new GetApplicationsByClaimSetId53Query(securityContext, usersContext);
- var appsCountByClaimSet = query.ExecuteCount(testClaimSet.ClaimSetId);
- var testApplicationsCount =
- usersContext.Applications.Count(x => x.ClaimSetName == testClaimSet.ClaimSetName);
- appsCountByClaimSet.ShouldBe(testApplicationsCount);
- });
- }
- }
-
- private IReadOnlyCollection SetupApplicationWithClaimSets(
- string applicationName = "TestApplicationName", int claimSetCount = 5)
- {
- var testApplication = new Application
- {
- ApplicationName = applicationName
- };
-
- Save(testApplication);
-
- var testClaimSetNames = Enumerable.Range(1, claimSetCount)
- .Select((x, index) => $"TestClaimSetName{index:N}")
- .ToArray();
-
- var testClaimSets = testClaimSetNames
- .Select(x => new ClaimSet
- {
- ClaimSetName = x,
- Application = testApplication
- })
- .ToArray();
-
- Save(testClaimSets.Cast