public async Task GetArtifactChildrenAsync_Success()
        {
            // Arrange
            var userId  = 1;
            var session = new Session {
                UserId = userId
            };
            var projectId              = 10;
            var artifactId             = 20;
            var children               = new List <Artifact>();
            var mockArtifactRepository = new Mock <IArtifactRepository>();

            mockArtifactRepository.Setup(r => r.GetProjectOrArtifactChildrenAsync(projectId, artifactId, userId)).ReturnsAsync(children);
            var mockArtifactPermissionsRepository = new Mock <IArtifactPermissionsRepository>();
            var mockServiceLogRepository          = new Mock <IServiceLogRepository>();
            var artifactController = new ArtifactController(mockArtifactRepository.Object, mockArtifactPermissionsRepository.Object, _mockSqlPrivilegesRepository.Object, mockServiceLogRepository.Object)
            {
                Request = new HttpRequestMessage()
            };

            artifactController.Request.Properties[ServiceConstants.SessionProperty] = session;

            // Act
            var result = await artifactController.GetArtifactChildrenAsync(projectId, artifactId);

            // Assert
            Assert.AreSame(children, result);
        }