コード例 #1
0
        public void SecurityWrite_Write_SecuritySettingsIsNull_ThrowsArgumentNullException()
        {
            //------------Setup for test--------------------------

            //------------Execute Test---------------------------
            SecurityWrite.Write(null);

            //------------Assert Results-------------------------
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 protected override void WritePermissions(List <WindowsGroupPermission> permissions)
 {
     SecurityWrite.Write(new SecuritySettingsTO(permissions));
 }
コード例 #4
0
ファイル: JwtManagerTests.cs プロジェクト: kapiya/Warewolf
        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);
        }
コード例 #5
0
 protected override void WritePermissions(List <WindowsGroupPermission> permissions, INamedGuid overrideResource, string secretKey)
 {
     SecurityWrite.Write(new SecuritySettingsTO(permissions, overrideResource, secretKey));
 }