public async Task DoesNotSetPackageStreamMetadataIfNotChanged() { var content = "Hello, world."; Package.PackageFileSize = content.Length; Package.HashAlgorithm = "SHA512"; Package.Hash = "rQw3wx1psxXzqB8TyM3nAQlK2RcluhsNwxmcqXE2YbgoDW735o8TPmIR4uWpoxUERddvFwjgRSGw7gNPCwuvJg=="; var stream = new MemoryStream(Encoding.ASCII.GetBytes(content)); var corePackageService = new Mock <ICorePackageService>(); var mockPackageEntityRepository = new Mock <IEntityRepository <Package> >(); var entityPackageService = new PackageEntityService(corePackageService.Object, mockPackageEntityRepository.Object); PackageFileServiceMock .Setup(x => x.DownloadPackageFileToDiskAsync(ValidationSet)) .ReturnsAsync(stream); var streamMetadata = new PackageStreamMetadata() { Size = Package.PackageFileSize, Hash = Package.Hash, HashAlgorithm = Package.HashAlgorithm }; PackageFileServiceMock .Setup(x => x.UpdatePackageBlobMetadataAsync(It.IsAny <PackageValidationSet>())) .ReturnsAsync(streamMetadata); await Target.SetStatusAsync(PackageValidatingEntity, ValidationSet, PackageStatus.Available); corePackageService.Verify( x => x.UpdatePackageStreamMetadataAsync(It.IsAny <Package>(), It.IsAny <PackageStreamMetadata>(), It.IsAny <bool>()), Times.Never); }
public void MetadataChangeInvokeICoreService() { // Arrange var package = CreatePackage(); package.PackageFileSize = 100; package.HashAlgorithm = "SHA512"; package.Hash = "rQw3wx1psxXzqB8TyM3nAQlK2RcluhsNwxmcqXE2YbgoDW735o8TPmIR4uWpoxUERddvFwjgRSGw7gNPCwuvJg=="; var metadata = new PackageStreamMetadata() { Hash = package.Hash, HashAlgorithm = package.HashAlgorithm, Size = package.PackageFileSize * 2 }; var mockCorePackageService = new Mock <ICorePackageService>(); var mockIPackageEntityRepository = new Mock <IEntityRepository <Package> >(); mockCorePackageService.Setup(c => c.UpdatePackageStreamMetadataAsync(package, metadata, true)).Returns(Task.CompletedTask); var service = new PackageEntityService(mockCorePackageService.Object, mockIPackageEntityRepository.Object); // Act & Assert var result = service.UpdateMetadataAsync(package, metadata, true); mockCorePackageService .Verify(s => s.UpdatePackageStreamMetadataAsync(package, metadata, true), Times.Once); }
public void NullMetadataIsNoop() { // Arrange var package = CreatePackage(); var mockCorePackageService = new Mock <ICorePackageService>(); var mockIPackageEntityRepository = new Mock <IEntityRepository <Package> >(); var service = new PackageEntityService(mockCorePackageService.Object, mockIPackageEntityRepository.Object); // Act & Assert var result = service.UpdateMetadataAsync(package, null, true); mockCorePackageService .Verify(s => s.UpdatePackageStreamMetadataAsync(package, It.IsAny <PackageStreamMetadata>(), true), Times.Never); }
public void ReturnsNullIfPackageDoesNotExist() { // Arrange var mockCorePackageService = new Mock <ICorePackageService>(); var mockIPackageEntityRepository = new Mock <IEntityRepository <Package> >(); mockCorePackageService.Setup(c => c.FindPackageByIdAndVersionStrict(It.IsAny <string>(), It.IsAny <string>())).Returns((Package)null); var service = new PackageEntityService(mockCorePackageService.Object, mockIPackageEntityRepository.Object); // Act & Assert var result = service.FindPackageByIdAndVersionStrict("Id", "version"); Assert.Null(result); }
public void InvokeTheICorePackageServices() { // Arrange var package = CreatePackage(); var mockCorePackageService = new Mock <ICorePackageService>(); var mockIPackageEntityRepository = new Mock <IEntityRepository <Package> >(); mockCorePackageService.Setup(c => c.UpdatePackageStatusAsync(It.IsAny <Package>(), It.IsAny <PackageStatus>(), true)).Returns(Task.CompletedTask); var service = new PackageEntityService(mockCorePackageService.Object, mockIPackageEntityRepository.Object); // Act & Assert var result = service.UpdateStatusAsync(package, PackageStatus.Available, true); mockCorePackageService .Verify(s => s.UpdatePackageStatusAsync(package, PackageStatus.Available, true), Times.Once); }
public void ReturnsThePackageEntityAsIValidatingEntity() { // Arrange var package = CreatePackage(); var mockCorePackageService = new Mock <ICorePackageService>(); var mockIPackageEntityRepository = new Mock <IEntityRepository <Package> >(); mockCorePackageService.Setup(c => c.FindPackageByIdAndVersionStrict(PackageId, PackageNormalizedVersion)).Returns(package); var service = new PackageEntityService(mockCorePackageService.Object, mockIPackageEntityRepository.Object); // Act & Assert var result = service.FindPackageByIdAndVersionStrict(PackageId, PackageNormalizedVersion); Assert.Equal(PackageKey, result.EntityRecord.Key); Assert.Equal(PackageKey, result.Key); Assert.Equal(PackageId, result.EntityRecord.PackageRegistration.Id); Assert.Equal(PackageNormalizedVersion, result.EntityRecord.NormalizedVersion); Assert.Equal(PackageCreated, result.Created); }