Example #1
0
        public void Deploy_NullEnvironment_ThrowsException()
        {
            IProductManifestRepository manifestRepository = Substitute.For <IProductManifestRepository>();
            IServiceDeploymentHandler  deploymentHandler  = Substitute.For <IServiceDeploymentHandler>();

            this.sut = new DeploymentService(manifestRepository, deploymentHandler);

            Assert.Throws <ArgumentException>(() => this.sut.Deploy("someproduct", null, "someVersion"));
        }
Example #2
0
        public void GetManifest_NullVersion_Succeeds()
        {
            File.Copy($"../../../testdata/{ManifestFilename}", ManifestFilename, true);

            this.sut = new JsonFileProductManifestRepository(new FileSystem());

            ProductManifest result = this.sut.GetManifest("someProduct", null);

            Assert.NotNull(result);

            File.Delete(ManifestFilename);
        }
Example #3
0
        public void Deploy_NoManifest_DoesNothing()
        {
            IProductManifestRepository manifestRepository = Substitute.For <IProductManifestRepository>();
            IServiceDeploymentHandler  deploymentHandler  = Substitute.For <IServiceDeploymentHandler>();

            manifestRepository.GetManifest(Arg.Any <string>(), Arg.Any <string>())
            .Returns((ProductManifest)null);

            this.sut = new DeploymentService(manifestRepository, deploymentHandler);
            this.sut.Deploy("someProduct", "someEnvironment", "someVersion");

            deploymentHandler.DidNotReceiveWithAnyArgs()
            .Deploy(Arg.Any <ProductManifest>(), Arg.Any <string>(), Arg.Any <string>());
        }
Example #4
0
        public void Deploy_GetsManifest_DeploysServices()
        {
            IProductManifestRepository manifestRepository = Substitute.For <IProductManifestRepository>();
            IServiceDeploymentHandler  deploymentHandler  = Substitute.For <IServiceDeploymentHandler>();

            manifestRepository.GetManifest(Arg.Any <string>(), Arg.Any <string>())
            .Returns(GetTestManifest(2));

            this.sut = new DeploymentService(manifestRepository, deploymentHandler);
            this.sut.Deploy("someProduct", "someEnvironment", "someVersion");

            deploymentHandler.ReceivedWithAnyArgs()
            .Deploy(Arg.Any <ProductManifest>(), Arg.Any <string>(), Arg.Any <string>());
        }
Example #5
0
        public void Deploy_HasBranch_UsesBranch()
        {
            IProductManifestRepository manifestRepository = Substitute.For <IProductManifestRepository>();
            IServiceDeploymentHandler  deploymentHandler  = Substitute.For <IServiceDeploymentHandler>();

            ProductManifest testManifest = GetTestManifest(2);

            manifestRepository.GetManifest(Arg.Any <string>(), Arg.Any <string>())
            .Returns(testManifest);
            this.sut = new DeploymentService(manifestRepository, deploymentHandler);
            this.sut.Deploy("someProduct", "someEnvironment", "someVersion", "someBranch");

            deploymentHandler.Received()
            .Deploy(testManifest, "someEnvironment", "someVersion", "someBranch");
        }
Example #6
0
        public void Ctor_NullDeploymentHandler_ThrowsException()
        {
            IProductManifestRepository manifestRepository = Substitute.For <IProductManifestRepository>();

            Assert.Throws <ArgumentNullException>(() => this.sut = new DeploymentService(manifestRepository, null));
        }
Example #7
0
 public DeploymentService(
     IProductManifestRepository manifestRepository, IServiceDeploymentHandler deploymentHandler)
 {
     this.manifestRepository = manifestRepository ?? throw new ArgumentNullException(nameof(manifestRepository));
     this.deploymentHandler  = deploymentHandler ?? throw new ArgumentNullException(nameof(deploymentHandler));
 }