public void SecurityWrite_Write_SecuritySettingsIsNull_ThrowsArgumentNullException() { //------------Setup for test-------------------------- //------------Execute Test--------------------------- SecurityWrite.Write(null); //------------Assert Results------------------------- }
public void SecurityWrite_Write_SecuritySettingsIsNotNull_PersistsSecuritySettings() { //------------Setup for test-------------------------- if (File.Exists(EnvironmentVariables.ServerSecuritySettingsFile)) { File.Delete(EnvironmentVariables.ServerSecuritySettingsFile); } var securitySettings = new SecuritySettingsTO(); //------------Execute Test--------------------------- SecurityWrite.Write(securitySettings); //------------Assert Results------------------------- Assert.IsTrue(File.Exists(EnvironmentVariables.ServerSecuritySettingsFile)); File.Delete(EnvironmentVariables.ServerSecuritySettingsFile); }
protected override void WritePermissions(List <WindowsGroupPermission> permissions) { SecurityWrite.Write(new SecuritySettingsTO(permissions)); }
public void JwtManager_GenerateToken_ValidateToken() { //------------Setup for test------------------------- if (File.Exists(EnvironmentVariables.ServerSecuritySettingsFile)) { File.Delete(EnvironmentVariables.ServerSecuritySettingsFile); } var resourceId = Guid.NewGuid(); var resourceName = @"Hello World"; var overrideResource = new NamedGuid { Name = "appAuth", Value = Guid.NewGuid() }; var permissions = new[] { new WindowsGroupPermission { IsServer = true, WindowsGroup = "Deploy Admins", View = false, Execute = false, Contribute = false, DeployTo = true, DeployFrom = true, Administrator = false }, new WindowsGroupPermission { ResourceID = resourceId, ResourceName = "Category1\\Workflow1", WindowsGroup = "Public", View = true, Execute = true, Contribute = false } }; var hmac = new HMACSHA256(); var secretKey = Convert.ToBase64String(hmac.Key); var securitySettingsTO = new SecuritySettingsTO(permissions, overrideResource, secretKey); SecurityWrite.Write(securitySettingsTO); var payload = "<DataList><UserGroups Description='' IsEditable='True' ColumnIODirection='Output'><Name Description='' IsEditable='True' ColumnIODirection='Output'>public</Name></UserGroups></DataList>"; var res = new Mock <IResource>(); res.Setup(a => a.ResourceName).Returns(resourceName); res.Setup(resource => resource.ResourceID).Returns(resourceId); var mockCatalog = new Mock <IResourceCatalog>(); mockCatalog.Setup(a => a.GetResource(It.IsAny <Guid>(), resourceId)).Returns(res.Object); mockCatalog.Setup(a => a.GetResourcePath(It.IsAny <Guid>(), It.IsAny <Guid>())).Returns("bob\\dave"); CustomContainer.Register(mockCatalog.Object); var mockResourceNameProvider = new Mock <IResourceNameProvider>(); mockResourceNameProvider.Setup(a => a.GetResourceNameById(It.IsAny <Guid>())).Returns(resourceName); CustomContainer.Register(mockResourceNameProvider.Object); //------------Execute Test--------------------------- var securitySettings = new SecuritySettings(); var jwtManager = new JwtManager(securitySettings); var encryptedPayload = jwtManager.GenerateToken(payload); var response = jwtManager.ValidateToken(encryptedPayload); //------------Assert Results------------------------- Assert.IsNotNull(encryptedPayload); Assert.AreEqual(payload, response); }
protected override void WritePermissions(List <WindowsGroupPermission> permissions, INamedGuid overrideResource, string secretKey) { SecurityWrite.Write(new SecuritySettingsTO(permissions, overrideResource, secretKey)); }