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);
            }
Example #2
0
            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);
            }
Example #3
0
            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);
            }
Example #4
0
            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);
            }
Example #5
0
            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);
            }
Example #6
0
            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);
            }