Пример #1
0
        public void GetBucketKeys_ReturnsValidCombinations(string splittableTags, string source, params string[] expected)
        {
            var provider = new BucketKeyProvider(splittableTags.Split("|"));
            var keys     = provider.GetBucketKeys(Parse(source));

            keys.Select(Format).Should().BeEquivalentTo(expected);
        }
Пример #2
0
        public void GetBucketKeys_RealCase_ReturnsValidCombinations()
        {
            var provider = new BucketKeyProvider();
            var keys     = provider.GetBucketKeys(Parse("host:vm1|operation:read|status:200|type:requests|gfv:100501"));

            keys.Select(Format)
            .Should()
            .BeEquivalentTo(
                "host:vm1|operation:read|status:200|type:requests|gfv:100501",
                "host:vm1|operation:read|status:any|type:requests|gfv:100501",
                "host:vm1|operation:any|status:200|type:requests|gfv:100501",
                "host:vm1|operation:any|status:any|type:requests|gfv:100501",
                "host:any|operation:read|status:200|type:requests|gfv:100501",
                "host:any|operation:read|status:any|type:requests|gfv:100501",
                "host:any|operation:any|status:200|type:requests|gfv:100501",
                "host:any|operation:any|status:any|type:requests|gfv:100501");
        }
Пример #3
0
        public override int Execute(string[] commandLineArguments)
        {
            Options.Parse(commandLineArguments);

            if (string.IsNullOrEmpty(pathToPackage))
            {
                throw new CommandException($"No package file was specified. Please provide `{TentacleVariables.CurrentDeployment.PackageFilePath}` variable");
            }

            if (!fileSystem.FileExists(pathToPackage))
            {
                throw new CommandException("Could not find package file: " + pathToPackage);
            }

            var environment       = AwsEnvironmentGeneration.Create(log, variables).GetAwaiter().GetResult();
            var bucketKeyProvider = new BucketKeyProvider();
            var targetType        = GetTargetMode(targetMode);

            var conventions = new List <IConvention>
            {
                new DelegateInstallConvention(d => extractPackage.ExtractToStagingDirectory(pathToPackage)),
                new LogAwsUserInfoConvention(environment),
                new CreateS3BucketConvention(environment, _ => bucket),
                new UploadAwsS3Convention(
                    log,
                    fileSystem,
                    environment,
                    bucket,
                    targetType,
                    new VariableS3TargetOptionsProvider(variables),
                    bucketKeyProvider,
                    substituteInFiles,
                    structuredConfigVariablesService
                    )
            };

            var deployment       = new RunningDeployment(pathToPackage, variables);
            var conventionRunner = new ConventionProcessor(deployment, conventions, log);

            conventionRunner.RunConventions();
            return(0);
        }