diff --git a/MainProject.Tests/Config/invalid-permissions.json b/MainProject.Tests/Config/invalid-permissions.json new file mode 100644 index 0000000..6ba8ce1 --- /dev/null +++ b/MainProject.Tests/Config/invalid-permissions.json @@ -0,0 +1,31 @@ +{ + "PermissionInfos": [ + { + "System": "base", + "RolePermissionModuleOperations": [ + { + "Module": "roles", + "Operations": [ + { "Operation": "create", "Roles": [] }, + { "Operation": "read", "Roles": [] }, + { "Operation": "update", "Roles": [] }, + { "Operation": "delete", "Roles": [] }, + { "Operation": "list", "Roles": [] }, + { "Operation": "use", "Roles": [] } + ] + }, + { + "Module": "users", + "Operations": [ + { "Operation": "create", "Roles": [] }, + { "Operation": "read", "Roles": [] }, + { "Operation": "update", "Roles": [] }, + { "Operation": "delete", "Roles": [] }, + { "Operation": "list", "Roles": [] }, + { "Operation": "use", "Roles": [] } + ] + } + ] + + ] +} \ No newline at end of file diff --git a/MainProject.Tests/MainProject.Tests.csproj b/MainProject.Tests/MainProject.Tests.csproj index a899faa..45f0343 100644 --- a/MainProject.Tests/MainProject.Tests.csproj +++ b/MainProject.Tests/MainProject.Tests.csproj @@ -29,6 +29,9 @@ - + + + + diff --git a/MainProject.Tests/Utils/FileUtils_Tests.cs b/MainProject.Tests/Utils/FileUtils_Tests.cs index 18001a5..cef4c33 100644 --- a/MainProject.Tests/Utils/FileUtils_Tests.cs +++ b/MainProject.Tests/Utils/FileUtils_Tests.cs @@ -43,6 +43,37 @@ public class FileUtils_Tests } } + [TestMethod] + public void ConvertFileToObject() + { + try + { + PermissionsFile? permissionsFile = FileUtils.ConvertFileToObject(System.AppDomain.CurrentDomain.BaseDirectory + "Config/permissions.json"); + Assert.IsTrue(permissionsFile != null); + } + catch (Exception exception) + { + Assert.Fail($"An exception was thrown: {exception}"); + } + } + + [TestMethod] + public void ConvertFileToObject_InvalidOperationException() + { + try + { + PermissionsFile? permissionsFile = FileUtils.ConvertFileToObject(System.AppDomain.CurrentDomain.BaseDirectory + "Config/invalid-permissions.json"); + Assert.Fail($"Expected exception instead of response: {permissionsFile}"); + } + catch (InvalidOperationException invalidOperationException) + { + Assert.IsInstanceOfType(invalidOperationException, typeof(InvalidOperationException)); + } + catch (Exception exception) + { + Assert.Fail($"An exception was thrown: {exception}"); + } + } }