public async Task GetRelationshipDetails_ForRevision_Success() { // Arrange const int artifactId = 1; const bool isDeleted = true; const int projectId = 10; var itemInfo = new DeletedItemInfo { ProjectId = projectId, ArtifactId = artifactId, ItemId = artifactId }; var permisionDictionary = new Dictionary <int, RolePermissions>(); permisionDictionary.Add(artifactId, RolePermissions.Read); var expected = new RelationshipExtendedInfo { ArtifactId = artifactId }; _artifactVersionsRepositoryMock.Setup(m => m.IsItemDeleted(artifactId)).ReturnsAsync(isDeleted); _artifactVersionsRepositoryMock.Setup(m => m.GetDeletedItemInfo(artifactId)).ReturnsAsync(itemInfo); _artifactPermissionsRepositoryMock.Setup(m => m.GetArtifactPermissions(It.IsAny <List <int> >(), _session.UserId, false, int.MaxValue, true, null)).ReturnsAsync(permisionDictionary); _relationshipsRepositoryMock.Setup(m => m.GetRelationshipExtendedInfo(artifactId, _session.UserId, null, isDeleted)).ReturnsAsync(expected); var controller = new RelationshipsController(_relationshipsRepositoryMock.Object, _artifactPermissionsRepositoryMock.Object, _artifactVersionsRepositoryMock.Object) { Request = new HttpRequestMessage() }; controller.Request.Properties[ServiceConstants.SessionProperty] = _session; // Act var actual = await controller.GetRelationshipDetails(artifactId); // Assert Assert.AreSame(expected, actual); }
public async Task GetRelationshipDetails_ItemNotFoundForLatest_ExceptionThrownNotFound() { // Arrange const int artifactId = 1; _artifactVersionsRepositoryMock.Setup(m => m.IsItemDeleted(artifactId)).ReturnsAsync(true); var controller = new RelationshipsController(_relationshipsRepositoryMock.Object, _artifactPermissionsRepositoryMock.Object, _artifactVersionsRepositoryMock.Object) { Request = new HttpRequestMessage() }; controller.Request.Properties[ServiceConstants.SessionProperty] = _session; try { // Act await controller.GetRelationshipDetails(artifactId); } catch (HttpResponseException e) { // Assert Assert.AreEqual(e.Response.StatusCode, HttpStatusCode.NotFound); throw; } }
public async Task GetRelationshipDetails_ArtifactHasPermission_Success() { // Arrange const int artifactId = 1; var permisionDictionary = new Dictionary <int, RolePermissions>(); permisionDictionary.Add(artifactId, RolePermissions.Read); _artifactPermissionsRepositoryMock.Setup(m => m.GetItemInfo(It.IsAny <int>(), _session.UserId, true, int.MaxValue)).ReturnsAsync(new ItemInfo { }); _artifactPermissionsRepositoryMock.Setup(m => m.GetArtifactPermissions(It.IsAny <IEnumerable <int> >(), _session.UserId, false, int.MaxValue, true, null)).ReturnsAsync(permisionDictionary); _relationshipsRepositoryMock.Setup(m => m.GetRelationshipExtendedInfo(artifactId, _session.UserId, null, false)).ReturnsAsync(new RelationshipExtendedInfo { ArtifactId = 1 }); var controller = new RelationshipsController(_relationshipsRepositoryMock.Object, _artifactPermissionsRepositoryMock.Object, _artifactVersionsRepositoryMock.Object) { Request = new HttpRequestMessage() }; controller.Request.Properties[ServiceConstants.SessionProperty] = _session; // Act var result = await controller.GetRelationshipDetails(artifactId); // Assert Assert.AreEqual(1, result.ArtifactId); }
public async Task GetRelationshipsDetails_IncorrectRevisionId_ExceptionThrown() { // Arrange const int artifactId = 10; var controller = new RelationshipsController(_relationshipsRepositoryMock.Object, _artifactPermissionsRepositoryMock.Object, _artifactVersionsRepositoryMock.Object) { Request = new HttpRequestMessage() }; controller.Request.Properties[ServiceConstants.SessionProperty] = _session; // Act await controller.GetRelationshipDetails(artifactId); }
public async Task GetRelationshipDetails_ArtifactNoPermission_ExceptionThrown() { // Arrange const int artifactId = 1; const int projectId = 10; var itemInfo = new ItemInfo { ProjectId = projectId, ArtifactId = artifactId, ItemId = artifactId }; var permisionDictionary = new Dictionary <int, RolePermissions>(); _artifactPermissionsRepositoryMock.Setup(m => m.GetArtifactPermissions(It.IsAny <IEnumerable <int> >(), _session.UserId, false, int.MaxValue, true, null)).ReturnsAsync(permisionDictionary); var controller = new RelationshipsController(_relationshipsRepositoryMock.Object, _artifactPermissionsRepositoryMock.Object, _artifactVersionsRepositoryMock.Object) { Request = new HttpRequestMessage() }; controller.Request.Properties[ServiceConstants.SessionProperty] = _session; // Act var result = await controller.GetRelationshipDetails(artifactId); }