public async Task WhenUnauthenticated_ItShouldReturnAccessSignatureForPublicFiles() { var expectedPublicExpiry = Now.AddDays(1); var expectedPrivateExpiry = Now.AddDays(2); this.getAccessSignatureExpiryInformation.Setup(v => v.Execute(Now)) .Returns(new AccessSignatureExpiryInformation(expectedPublicExpiry, expectedPrivateExpiry)); var filesInformation = new BlobContainerSharedAccessInformation("files", "uri", "sig", expectedPublicExpiry); this.blobService.Setup(v => v.GetBlobContainerSharedAccessInformationForReadingAsync(Constants.PublicFileBlobContainerName, expectedPublicExpiry)) .ReturnsAsync(filesInformation); var result = await this.target.HandleAsync(new GetUserAccessSignaturesQuery(Requester.Unauthenticated, null, CreatorChannelIds, SubscribedChannelIds, FreeAccessChannelIds)); Assert.IsNotNull(result); Assert.IsNotNull(result.PublicSignature); Assert.AreEqual(filesInformation, result.PublicSignature); Assert.AreEqual(0, result.PrivateSignatures.Count); }
public async Task WhenAuthenticated_ItShouldReturnAccessSignaturesForTheUser() { var expectedPublicExpiry = Now.AddDays(1); var expectedPrivateExpiry = Now.AddDays(2); this.getAccessSignatureExpiryInformation.Setup(v => v.Execute(Now)) .Returns(new AccessSignatureExpiryInformation(expectedPublicExpiry, expectedPrivateExpiry)); var publicFilesInformation = new BlobContainerSharedAccessInformation("files", "uri", "sig", expectedPublicExpiry); this.blobService.Setup(v => v.GetBlobContainerSharedAccessInformationForReadingAsync(Constants.PublicFileBlobContainerName, expectedPublicExpiry)) .ReturnsAsync(publicFilesInformation); var userContainerName1 = "creatorContainerName1"; var userContainerName2 = "creatorContainerName2"; var creatorContainerName1 = "containerName1"; var creatorContainerName2 = "containerName2"; var freeAccessContainerName1 = "freeAccessContainerName1"; var freeAccessContainerName2 = "freeAccessContainerName2"; this.blobLocationGenerator.Setup(v => v.GetBlobContainerName(CreatorChannelIds[0])).Returns(userContainerName1); this.blobLocationGenerator.Setup(v => v.GetBlobContainerName(CreatorChannelIds[1])).Returns(userContainerName2); this.blobLocationGenerator.Setup(v => v.GetBlobContainerName(SubscribedChannelIds[0])).Returns(creatorContainerName1); this.blobLocationGenerator.Setup(v => v.GetBlobContainerName(SubscribedChannelIds[1])).Returns(creatorContainerName2); this.blobLocationGenerator.Setup(v => v.GetBlobContainerName(FreeAccessChannelIds[0])).Returns(freeAccessContainerName1); this.blobLocationGenerator.Setup(v => v.GetBlobContainerName(FreeAccessChannelIds[1])).Returns(freeAccessContainerName2); var userInformation1 = new BlobContainerSharedAccessInformation(userContainerName1, "useruri", "usersig", expectedPrivateExpiry); var userInformation2 = new BlobContainerSharedAccessInformation(userContainerName2, "useruri", "usersig", expectedPrivateExpiry); var creatorInformation1 = new BlobContainerSharedAccessInformation(creatorContainerName1, "useruri1", "usersig1", expectedPrivateExpiry); var creatorInformation2 = new BlobContainerSharedAccessInformation(creatorContainerName2, "useruri2", "usersig2", expectedPrivateExpiry); var freeAccessInformation1 = new BlobContainerSharedAccessInformation(freeAccessContainerName1, "useruri3", "usersig3", expectedPrivateExpiry); var freeAccessInformation2 = new BlobContainerSharedAccessInformation(freeAccessContainerName2, "useruri4", "usersig4", expectedPrivateExpiry); this.blobService.Setup(v => v.GetBlobContainerSharedAccessInformationForReadingAsync(userContainerName1, expectedPrivateExpiry)) .ReturnsAsync(userInformation1); this.blobService.Setup(v => v.GetBlobContainerSharedAccessInformationForReadingAsync(userContainerName2, expectedPrivateExpiry)) .ReturnsAsync(userInformation2); this.blobService.Setup(v => v.GetBlobContainerSharedAccessInformationForReadingAsync(creatorContainerName1, expectedPrivateExpiry)) .ReturnsAsync(creatorInformation1); this.blobService.Setup(v => v.GetBlobContainerSharedAccessInformationForReadingAsync(creatorContainerName2, expectedPrivateExpiry)) .ReturnsAsync(creatorInformation2); this.blobService.Setup(v => v.GetBlobContainerSharedAccessInformationForReadingAsync(freeAccessContainerName1, expectedPrivateExpiry)) .ReturnsAsync(freeAccessInformation1); this.blobService.Setup(v => v.GetBlobContainerSharedAccessInformationForReadingAsync(freeAccessContainerName2, expectedPrivateExpiry)) .ReturnsAsync(freeAccessInformation2); var result = await this.target.HandleAsync(new GetUserAccessSignaturesQuery(Requester, UserId, CreatorChannelIds, SubscribedChannelIds, FreeAccessChannelIds)); Assert.IsNotNull(result); Assert.IsNotNull(result.PublicSignature); Assert.AreEqual(publicFilesInformation, result.PublicSignature); Assert.AreEqual(6, result.PrivateSignatures.Count); Assert.AreEqual(CreatorChannelIds[0], result.PrivateSignatures[0].ChannelId); Assert.AreEqual(userInformation1, result.PrivateSignatures[0].Information); Assert.AreEqual(CreatorChannelIds[1], result.PrivateSignatures[1].ChannelId); Assert.AreEqual(userInformation2, result.PrivateSignatures[1].Information); Assert.AreEqual(SubscribedChannelIds[0], result.PrivateSignatures[2].ChannelId); Assert.AreEqual(creatorInformation1, result.PrivateSignatures[2].Information); Assert.AreEqual(SubscribedChannelIds[1], result.PrivateSignatures[3].ChannelId); Assert.AreEqual(creatorInformation2, result.PrivateSignatures[3].Information); Assert.AreEqual(FreeAccessChannelIds[0], result.PrivateSignatures[4].ChannelId); Assert.AreEqual(freeAccessInformation1, result.PrivateSignatures[4].Information); Assert.AreEqual(FreeAccessChannelIds[1], result.PrivateSignatures[5].ChannelId); Assert.AreEqual(freeAccessInformation2, result.PrivateSignatures[5].Information); }