Dev2.Security.ClientSecurityService.ReadAsync C# (CSharp) Method

ReadAsync() public method

public ReadAsync ( ) : System.Threading.Tasks.Task
return System.Threading.Tasks.Task
        public virtual async Task ReadAsync()
        {
            var communicationController = new CommunicationController
            {
                ServiceName = "SecurityReadService"
            };
            Dev2Logger.Log.Debug("Getting Permissions from Server");
            SecuritySettingsTO securitySettingsTo = await communicationController.ExecuteCommandAsync<SecuritySettingsTO>(EnvironmentConnection, EnvironmentConnection.WorkspaceID);
            List<WindowsGroupPermission> newPermissions = null;
            if (securitySettingsTo != null)
            {
                Permissions = securitySettingsTo.WindowsGroupPermissions;
                newPermissions = securitySettingsTo.WindowsGroupPermissions;
                Dev2Logger.Log.Debug("Permissions from Server:" + Permissions);
            }
            if (newPermissions != null)
            {
                RaisePermissionsModified(new PermissionsModifiedEventArgs(newPermissions));
            }
            RaisePermissionsChanged();
        }

Usage Example

        public void ClientSecurityService_ReadAsync_DoesInvokeReadPermissions()
        {
            //------------Setup for test--------------------------
            var workspaceID = Guid.NewGuid();
            var dataListID = Guid.Empty;

            var serializer = new Dev2JsonSerializer();
            var requestResult = serializer.SerializeToBuilder(new SecuritySettingsTO());

            StringBuilder actualRequest = null;

            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, dataListID))
                .Callback((StringBuilder xmlRequest, Guid wsID, Guid dlID) => { actualRequest = xmlRequest; })
                .Returns(requestResult)
                .Verifiable();

            var clientSecurityService = new ClientSecurityService(connection.Object);

            //------------Execute Test---------------------------
            var readTask = clientSecurityService.ReadAsync();
            readTask.Wait();

            //------------Assert Results-------------------------
            connection.Verify(c => c.ExecuteCommand(It.IsAny<StringBuilder>(), workspaceID, dataListID),Times.Never());
            Assert.IsNull(actualRequest);
        }