private void MockQueryMultipleAsync( IEnumerable <int> itemIds, SqlConnectionWrapperMock cxn, IEnumerable <ProjectsArtifactsItem> mockProjectsArtifactsItemsResult, IEnumerable <VersionProjectInfo> mockVersionProjectInfoResult, int revisionId = int.MaxValue, bool addDrafts = true) { var tvp = SqlConnectionWrapper.ToDataTable(itemIds, "Int32Collection", "Int32Value"); var result = Tuple.Create(mockProjectsArtifactsItemsResult, mockVersionProjectInfoResult); cxn.SetupQueryMultipleAsync("GetArtifactsProjects", new Dictionary <string, object> { { "userId", 0 }, { "itemIds", tvp } }, result); }
public async Task GetArtifactPermissions_UserIsInstanceAdmin_ReturnsAllPermissions() { // Arrange var cxn = new SqlConnectionWrapperMock(); var repository = new SqlArtifactPermissionsRepository(cxn.Object); MockToReturnInstanceAdmin(true, cxn); var itemIds = new List <int> { 1 }; var allPermissions = Enum.GetValues(typeof(RolePermissions)).Cast <long>().Aggregate(RolePermissions.None, (current, permission) => current | (RolePermissions)permission); // Act var result = await repository.GetArtifactPermissions(itemIds, 0); // Assert Assert.IsTrue(result[1] == allPermissions); }
public async Task GetProjectAdminPermissionsAsync_ProjectNotExist_ReturnNotFoundException() { // Arrange var cxn = new SqlConnectionWrapperMock(); var repository = new SqlPrivilegesRepository(cxn.Object); var permissions = ProjectAdminPrivileges.ManageGroupsAndRoles; var userId = 1; var projectId = 1; cxn.SetupExecuteScalarAsync("GetProjectAdminPermissions", It.IsAny <Dictionary <string, object> >(), permissions, new Dictionary <string, object> { { "ErrorCode", (int)SqlErrorCodes.ProjectWithCurrentIdNotExist } }); // Act await repository.GetProjectAdminPermissionsAsync(userId, projectId); // Assert cxn.Verify(); }
public async Task GetProjectAdminPermissionsAsync_ExistingUserAndProject_ReturnUsersPermissionsForProject() { // Arrange var cxn = new SqlConnectionWrapperMock(); var repository = new SqlPrivilegesRepository(cxn.Object); var permissions = ProjectAdminPrivileges.ManageGroupsAndRoles; var userId = 1; var projectId = 1; cxn.SetupExecuteScalarAsync("GetProjectAdminPermissions", It.IsAny <Dictionary <string, object> >(), permissions, new Dictionary <string, object> { { "ErrorCode", 0 } }); // Act var result = await repository.GetProjectAdminPermissionsAsync(userId, projectId); // Assert cxn.Verify(); Assert.AreEqual(result, permissions); }
public async Task GetArtifactPermissions_VersionProjectInfosContainsProjectId_ReturnsEditPermissions() { // Arrange var cxn = new SqlConnectionWrapperMock(); var repository = new SqlArtifactPermissionsRepository(cxn.Object); MockToReturnInstanceAdmin(false, cxn); var itemIds = new List <int> { 1 }; var mockProjectsArtifactsItemsResult = new List <ProjectsArtifactsItem> { new ProjectsArtifactsItem { HolderId = 1, VersionArtifactId = 1, VersionProjectId = 1 } }.AsEnumerable(); var mockVersionProjectInfoResult = new List <VersionProjectInfo> { new VersionProjectInfo { ProjectId = 1, Permissions = (long)RolePermissions.Edit } }.AsEnumerable(); MockQueryMultipleAsync(itemIds, cxn, mockProjectsArtifactsItemsResult, mockVersionProjectInfoResult); // Act var result = await repository.GetArtifactPermissions(itemIds, 0); // Assert Assert.IsTrue(result[1] == RolePermissions.Edit); }
private void MockGetOpenArtifactPermissions(IEnumerable <OpenArtifactPermission> mockOpenArtifactPermissionsResult, SqlConnectionWrapperMock cxn, IEnumerable <int> projectArtifactIds, int revisionId = int.MaxValue, bool addDrafts = true) { var artifactIds = SqlConnectionWrapper.ToDataTable(projectArtifactIds, "Int32Collection", "Int32Value"); cxn.SetupQueryAsync("GetOpenArtifactPermissions", new Dictionary <string, object> { { "userId", 0 }, { "artifactIds", artifactIds } }, mockOpenArtifactPermissionsResult); }