public void IdConflictsWithExistingPackageTitleTests(string existingPackageId, string existingPackageTitle, string newPackageId, bool shouldBeConflict)
        {
            // Arrange
            var existingPackageRegistration = new PackageRegistration
            {
                Id = existingPackageId,
                Owners = new HashSet<User>()
            };
            var existingPackage = new Package
            {
                PackageRegistration = existingPackageRegistration,
                Version = "1.0.0",
                Title = existingPackageTitle
            };

            var packageRegistrationRepository = new Mock<IEntityRepository<PackageRegistration>>();
            packageRegistrationRepository.Setup(r => r.GetAll()).Returns(new[] { existingPackageRegistration }.AsQueryable());

            var packageRepository = new Mock<IEntityRepository<Package>>();
            packageRepository.Setup(r => r.GetAll()).Returns(new[] { existingPackage }.AsQueryable());

            var target = new PackageNamingConflictValidator(packageRegistrationRepository.Object, packageRepository.Object);
            
            // Act
            var result = target.IdConflictsWithExistingPackageTitle(newPackageId);

            // Assert
            Assert.True(result == shouldBeConflict);
        }
Exemplo n.º 2
0
        public void IdConflictsWithExistingPackageTitleTests(string existingPackageId, string existingPackageTitle, string newPackageId, bool shouldBeConflict)
        {
            // Arrange
            var existingPackageRegistration = new PackageRegistration
            {
                Id     = existingPackageId,
                Owners = new HashSet <User>()
            };
            var existingPackage = new Package
            {
                PackageRegistration = existingPackageRegistration,
                Version             = "1.0.0",
                Title = existingPackageTitle
            };

            var packageRegistrationRepository = new Mock <IEntityRepository <PackageRegistration> >();

            packageRegistrationRepository.Setup(r => r.GetAll()).Returns(new[] { existingPackageRegistration }.AsQueryable());

            var packageRepository = new Mock <IEntityRepository <Package> >();

            packageRepository.Setup(r => r.GetAll()).Returns(new[] { existingPackage }.AsQueryable());

            var target = new PackageNamingConflictValidator(packageRegistrationRepository.Object, packageRepository.Object);

            // Act
            var result = target.IdConflictsWithExistingPackageTitle(newPackageId);

            // Assert
            Assert.True(result == shouldBeConflict);
        }
        private static Mock <PackageService> SetupPackageService(Package package)
        {
            var packageRegistrationRepository  = new Mock <IEntityRepository <PackageRegistration> >();
            var packageRepository              = new Mock <IEntityRepository <Package> >();
            var certificateRepository          = new Mock <IEntityRepository <Certificate> >();
            var packageNamingConflictValidator = new PackageNamingConflictValidator(
                packageRegistrationRepository.Object,
                packageRepository.Object);
            var auditingService       = new TestAuditingService();
            var telemetryService      = new Mock <ITelemetryService>();
            var securityPolicyService = new Mock <ISecurityPolicyService>();

            var packageService = new Mock <PackageService>(
                packageRegistrationRepository.Object,
                packageRepository.Object,
                certificateRepository.Object,
                packageNamingConflictValidator,
                auditingService,
                telemetryService.Object,
                securityPolicyService.Object);

            packageService.CallBase = true;

            packageService
            .Setup(s => s.FindPackageByIdAndVersionStrict("test", "1.0.0"))
            .Returns(package)
            .Verifiable();

            packageService
            .Setup(s => s.EnrichPackageFromNuGetPackage(
                       It.IsAny <Package>(),
                       It.IsAny <PackageArchiveReader>(),
                       It.IsAny <PackageMetadata>(),
                       It.IsAny <PackageStreamMetadata>(),
                       It.IsAny <User>()))
            .CallBase()
            .Verifiable();

            packageService
            .Setup(s => s.UpdateIsLatestAsync(
                       It.IsAny <PackageRegistration>(),
                       It.IsAny <bool>()))
            .Returns(Task.CompletedTask)
            .Verifiable();

            return(packageService);
        }
Exemplo n.º 4
0
        private static Mock <PackageService> SetupPackageService(Package package)
        {
            var packageRegistrationRepository = new Mock <IEntityRepository <PackageRegistration> >();
            var packageRepository             = new Mock <IEntityRepository <Package> >();
            var packageOwnerRequestRepo       = new Mock <IEntityRepository <PackageOwnerRequest> >();
            var diagnosticsService            = new Mock <IDiagnosticsService>();
            var entitiesContext = new Mock <IEntitiesContext>();
            var configuration   = new Mock <IAppConfiguration>();
            var indexingService = new Mock <IIndexingService>();
            var packageNamingConflictValidator = new PackageNamingConflictValidator(
                packageRegistrationRepository.Object,
                packageRepository.Object);
            var auditingService = new TestAuditingService();

            var packageService = new Mock <PackageService>(
                packageRegistrationRepository.Object,
                packageRepository.Object,
                packageOwnerRequestRepo.Object,
                entitiesContext.Object,
                configuration.Object,
                diagnosticsService.Object,
                indexingService.Object,
                packageNamingConflictValidator,
                auditingService);

            packageService.CallBase = true;

            packageService
            .Setup(s => s.FindPackageByIdAndVersion("test", "1.0.0", true))
            .Returns(package)
            .Verifiable();

            packageService
            .Setup(s => s.EnrichPackageFromNuGetPackage(
                       It.IsAny <Package>(),
                       It.IsAny <PackageArchiveReader>(),
                       It.IsAny <PackageMetadata>(),
                       It.IsAny <PackageStreamMetadata>(),
                       It.IsAny <User>()))
            .CallBase()
            .Verifiable();

            return(packageService);
        }
        private void TitleConflictsWithExistingRegistrationIdTests(string existingRegistrationId, string newPackageTitle, bool shouldBeConflict)
        {
            // Arrange
            var existingPackageRegistration = new PackageRegistration
            {
                Id = existingRegistrationId,
                Owners = new HashSet<User>()
            };

            var packageRegistrationRepository = new Mock<IEntityRepository<PackageRegistration>>();
            packageRegistrationRepository.Setup(r => r.GetAll()).Returns(new[] { existingPackageRegistration }.AsQueryable());

            var packageRepository = new Mock<IEntityRepository<Package>>();

            var target = new PackageNamingConflictValidator(packageRegistrationRepository.Object, packageRepository.Object);

            // Act
            var result = target.TitleConflictsWithExistingRegistrationId("NewPackageId", newPackageTitle);

            // Assert
            Assert.True(result == shouldBeConflict);
        }
Exemplo n.º 6
0
        private void TitleConflictsWithExistingRegistrationIdTests(string existingRegistrationId, string newPackageTitle, bool shouldBeConflict)
        {
            // Arrange
            var existingPackageRegistration = new PackageRegistration
            {
                Id     = existingRegistrationId,
                Owners = new HashSet <User>()
            };

            var packageRegistrationRepository = new Mock <IEntityRepository <PackageRegistration> >();

            packageRegistrationRepository.Setup(r => r.GetAll()).Returns(new[] { existingPackageRegistration }.AsQueryable());

            var packageRepository = new Mock <IEntityRepository <Package> >();

            var target = new PackageNamingConflictValidator(packageRegistrationRepository.Object, packageRepository.Object);

            // Act
            var result = target.TitleConflictsWithExistingRegistrationId("NewPackageId", newPackageTitle);

            // Assert
            Assert.True(result == shouldBeConflict);
        }
Exemplo n.º 7
0
        private static IPackageService CreateService(
            Mock<IEntityRepository<PackageRegistration>> packageRegistrationRepository = null,
            Mock<IEntityRepository<Package>> packageRepository = null,
            Mock<IEntityRepository<PackageOwnerRequest>> packageOwnerRequestRepo = null,
            Mock<IIndexingService> indexingService = null,
            IPackageNamingConflictValidator packageNamingConflictValidator = null,
            AuditingService auditingService = null,
            Action<Mock<PackageService>> setup = null)
        {
            packageRegistrationRepository = packageRegistrationRepository ?? new Mock<IEntityRepository<PackageRegistration>>();
            packageRepository = packageRepository ?? new Mock<IEntityRepository<Package>>();
            packageOwnerRequestRepo = packageOwnerRequestRepo ?? new Mock<IEntityRepository<PackageOwnerRequest>>();
            indexingService = indexingService ?? new Mock<IIndexingService>();
            auditingService = auditingService ?? new TestAuditingService();

            if (packageNamingConflictValidator == null)
            {
                packageNamingConflictValidator = new PackageNamingConflictValidator(
                    packageRegistrationRepository.Object,
                    packageRepository.Object);
            }

            var packageService = new Mock<PackageService>(
                packageRegistrationRepository.Object,
                packageRepository.Object,
                packageOwnerRequestRepo.Object,
                indexingService.Object,
                packageNamingConflictValidator,
                auditingService);

            packageService.CallBase = true;

            if (setup != null)
            {
                setup(packageService);
            }

            return packageService.Object;
        }
        private static Mock<PackageService> SetupPackageService(Package package)
        {
            var packageRegistrationRepository = new Mock<IEntityRepository<PackageRegistration>>();
            var packageRepository = new Mock<IEntityRepository<Package>>();
            var packageOwnerRequestRepo = new Mock<IEntityRepository<PackageOwnerRequest>>();
            var indexingService = new Mock<IIndexingService>();
            var packageNamingConflictValidator = new PackageNamingConflictValidator(
                    packageRegistrationRepository.Object,
                    packageRepository.Object);
            var auditingService = new TestAuditingService();

            var packageService = new Mock<PackageService>(
                packageRegistrationRepository.Object,
                packageRepository.Object,
                packageOwnerRequestRepo.Object,
                indexingService.Object,
                packageNamingConflictValidator,
                auditingService);

            packageService.CallBase = true;

            packageService
                .Setup(s => s.FindPackageByIdAndVersion("test", "1.0.0", true))
                .Returns(package)
                .Verifiable();

            packageService
              .Setup(s => s.EnrichPackageFromNuGetPackage(
                  It.IsAny<Package>(),
                  It.IsAny<PackageArchiveReader>(),
                  It.IsAny<PackageMetadata>(),
                  It.IsAny<PackageStreamMetadata>(),
                  It.IsAny<User>()))
              .CallBase()
              .Verifiable();

            return packageService;
        }