public void ClientSecurityService_Read_DoesInvokeReadAsync() { //------------Setup for test-------------------------- var workspaceID = Guid.NewGuid(); var dataListID = Guid.Empty; var serializer = new Dev2JsonSerializer(); var requestResult = serializer.SerializeToBuilder(new SecuritySettingsTO()); var connection = new Mock <IEnvironmentConnection>(); connection.Setup(c => c.ServerEvents).Returns(new Mock <IEventPublisher>().Object); connection.Setup(c => c.WorkspaceID).Returns(workspaceID); connection.Setup(c => c.IsConnected).Returns(true); connection.Setup(c => c.ExecuteCommand(It.IsAny <StringBuilder>(), workspaceID)) .Returns(requestResult); var clientSecurityService = new TestClientSecurityService(connection.Object); //------------Execute Test--------------------------- clientSecurityService.Read(); //------------Assert Results------------------------- Assert.AreEqual(1, clientSecurityService.ReadAsyncHitCount); }
public void ClientSecurityService_PermissionsModified_NewPermissionsReceived_ShouldReplaceCurrentPermissions() { //------------Setup for test-------------------------- var connection = new Mock <IEnvironmentConnection>(); IEventPublisher eventPublisher = new EventPublisher(); connection.Setup(c => c.ServerEvents).Returns(eventPublisher); var clientSecurityService = new TestClientSecurityService(connection.Object); var currentPermissions = new List <WindowsGroupPermission>(); var resourceID = Guid.NewGuid(); var resourcePermission = new WindowsGroupPermission(); resourcePermission.ResourceID = resourceID; resourcePermission.Permissions = Permissions.View & Permissions.Execute; var serverPermission = new WindowsGroupPermission(); serverPermission.ResourceID = Guid.Empty; serverPermission.Permissions = Permissions.DeployFrom & Permissions.DeployTo; serverPermission.IsServer = true; currentPermissions.Add(serverPermission); currentPermissions.Add(resourcePermission); clientSecurityService.SetCurrentPermissions(currentPermissions); clientSecurityService.ReadAsync().Wait(); var changedPermissions = new List <WindowsGroupPermission>(); var changedResourcePermission = new WindowsGroupPermission(); changedResourcePermission.ResourceID = resourceID; changedResourcePermission.Permissions = Permissions.Contribute; var changedServerPermission = new WindowsGroupPermission(); changedServerPermission.ResourceID = Guid.Empty; changedServerPermission.Permissions = Permissions.Administrator; changedServerPermission.IsServer = true; changedPermissions.Add(changedServerPermission); changedPermissions.Add(changedResourcePermission); var permissionsModifiedMemo = new PermissionsModifiedMemo(); permissionsModifiedMemo.ModifiedPermissions = changedPermissions; //------------Execute Test--------------------------- connection.Raise(environmentConnection => environmentConnection.PermissionsModified += null, null, changedPermissions); eventPublisher.Publish(permissionsModifiedMemo); //------------Assert Results------------------------- var updateResourcePermission = clientSecurityService.Permissions.FirstOrDefault(permission => permission.ResourceID == resourceID); var updateServerPermission = clientSecurityService.Permissions.FirstOrDefault(permission => permission.ResourceID == Guid.Empty); Assert.IsNotNull(updateResourcePermission); Assert.IsNotNull(updateServerPermission); Assert.AreEqual(Permissions.Contribute, updateResourcePermission.Permissions); Assert.AreEqual(Permissions.Administrator, updateServerPermission.Permissions); }
public void ClientSecurityService_WritePermissions_DoesNothing() { //------------Setup for test-------------------------- var connection = new Mock <IEnvironmentConnection>(); connection.Setup(c => c.ServerEvents).Returns(new Mock <IEventPublisher>().Object); connection.Setup(c => c.IsConnected).Returns(true); connection.Setup(c => c.ExecuteCommand(It.IsAny <StringBuilder>(), It.IsAny <Guid>())).Verifiable(); var clientSecurityService = new TestClientSecurityService(connection.Object); //------------Execute Test--------------------------- clientSecurityService.TestWritePermissions(); //------------Assert Results------------------------- connection.Verify(c => c.ExecuteCommand(It.IsAny <StringBuilder>(), It.IsAny <Guid>()), Times.Never()); }
public void ClientSecurityService_PermissionsModified_NewPermissionsReceived_ShouldReplaceCurrentPermissions() { //------------Setup for test-------------------------- var connection = new Mock<IEnvironmentConnection>(); IEventPublisher eventPublisher = new EventPublisher(); connection.Setup(c => c.ServerEvents).Returns(eventPublisher); var clientSecurityService = new TestClientSecurityService(connection.Object); var currentPermissions = new List<WindowsGroupPermission>(); Guid resourceID = Guid.NewGuid(); var resourcePermission = new WindowsGroupPermission(); resourcePermission.ResourceID = resourceID; resourcePermission.Permissions = Permissions.View & Permissions.Execute; var serverPermission = new WindowsGroupPermission(); serverPermission.ResourceID = Guid.Empty; serverPermission.Permissions = Permissions.DeployFrom & Permissions.DeployTo; serverPermission.IsServer = true; currentPermissions.Add(serverPermission); currentPermissions.Add(resourcePermission); clientSecurityService.SetCurrentPermissions(currentPermissions); clientSecurityService.ReadAsync().Wait(); var changedPermissions = new List<WindowsGroupPermission>(); var changedResourcePermission = new WindowsGroupPermission(); changedResourcePermission.ResourceID = resourceID; changedResourcePermission.Permissions = Permissions.Contribute; var changedServerPermission = new WindowsGroupPermission(); changedServerPermission.ResourceID = Guid.Empty; changedServerPermission.Permissions = Permissions.Administrator; changedServerPermission.IsServer = true; changedPermissions.Add(changedServerPermission); changedPermissions.Add(changedResourcePermission); var permissionsModifiedMemo = new PermissionsModifiedMemo(); permissionsModifiedMemo.ModifiedPermissions = changedPermissions; //------------Execute Test--------------------------- connection.Raise(environmentConnection => environmentConnection.PermissionsModified += null, null,changedPermissions); eventPublisher.Publish(permissionsModifiedMemo); //------------Assert Results------------------------- var updateResourcePermission = clientSecurityService.Permissions.FirstOrDefault(permission => permission.ResourceID == resourceID); var updateServerPermission = clientSecurityService.Permissions.FirstOrDefault(permission => permission.ResourceID == Guid.Empty); Assert.IsNotNull(updateResourcePermission); Assert.IsNotNull(updateServerPermission); Assert.AreEqual(Permissions.Contribute, updateResourcePermission.Permissions); Assert.AreEqual(Permissions.Administrator, updateServerPermission.Permissions); }
public void ClientSecurityService_WritePermissions_DoesNothing() { //------------Setup for test-------------------------- var connection = new Mock<IEnvironmentConnection>(); connection.Setup(c => c.ServerEvents).Returns(new Mock<IEventPublisher>().Object); connection.Setup(c => c.IsConnected).Returns(true); connection.Setup(c => c.ExecuteCommand(It.IsAny<StringBuilder>(), It.IsAny<Guid>())).Verifiable(); var clientSecurityService = new TestClientSecurityService(connection.Object); //------------Execute Test--------------------------- clientSecurityService.TestWritePermissions(); //------------Assert Results------------------------- connection.Verify(c => c.ExecuteCommand(It.IsAny<StringBuilder>(), It.IsAny<Guid>()), Times.Never()); }
public void ClientSecurityService_Read_DoesInvokeReadAsync() { //------------Setup for test-------------------------- var workspaceID = Guid.NewGuid(); var dataListID = Guid.Empty; var serializer = new Dev2JsonSerializer(); var requestResult = serializer.SerializeToBuilder(new SecuritySettingsTO()); var connection = new Mock<IEnvironmentConnection>(); connection.Setup(c => c.ServerEvents).Returns(new Mock<IEventPublisher>().Object); connection.Setup(c => c.WorkspaceID).Returns(workspaceID); connection.Setup(c => c.IsConnected).Returns(true); connection.Setup(c => c.ExecuteCommand(It.IsAny<StringBuilder>(), workspaceID)) .Returns(requestResult); var clientSecurityService = new TestClientSecurityService(connection.Object); //------------Execute Test--------------------------- clientSecurityService.Read(); //------------Assert Results------------------------- Assert.AreEqual(1, clientSecurityService.ReadAsyncHitCount); }