예제 #1
0
        public void CanGetTesterLocation(string cmd, string expected)
        {
            ComposeFileParser sut = new ComposeFileParser(string.Format(yamlCommand, cmd));

            var res = sut.GetTesterLocation();

            Assert.AreEqual(expected, res);
        }
예제 #2
0
        public void CanFindCommandNode(string cmd)
        {
            ComposeFileParser sut = new ComposeFileParser(string.Format(yamlCommand, cmd));

            var res = sut.CommandNode;

            Assert.IsNotNull(res);
        }
예제 #3
0
        public void CanFindImage()
        {
            ComposeFileParser sut = new ComposeFileParser(yaml);

            var res = sut.GetTesterImageName();

            Assert.AreEqual("shawnseabrook/build:140", res);
        }
예제 #4
0
        public void CanFindTesterNode()
        {
            ComposeFileParser sut = new ComposeFileParser(yaml);

            var res = sut.TesterNode;

            Assert.IsNotNull(res);
        }
예제 #5
0
        public void CanFindServices()
        {
            ComposeFileParser sut = new ComposeFileParser(yaml);

            var res = sut.ServiceNode;

            Assert.IsNotNull(res);
        }
예제 #6
0
파일: JobRunner.cs 프로젝트: 5ha/TestRunner
        private string EnhanceYaml(JobDescription jobDescription, string instanceName)
        {
            ComposeFileParser parser = new ComposeFileParser(jobDescription.StartJobRequest.Yaml);

            if (jobDescription.EnvironmentVariables == null)
            {
                jobDescription.EnvironmentVariables = new Dictionary <string, string>();
            }

            jobDescription.EnvironmentVariables.Add("TESTER_INSTANCE", instanceName);

            parser.AddEnvironmentVariables(jobDescription.EnvironmentVariables);

            return(parser.Save());
        }
예제 #7
0
        private string EnhanceYaml(RunBuild instruction)
        {
            ComposeFileParser parser = new ComposeFileParser(instruction.Yaml);

            if (instruction.EnvironmentVariables == null)
            {
                instruction.EnvironmentVariables = new Dictionary <string, string>();
            }

            instruction.EnvironmentVariables.Add("TESTER_INSTANCE", _instanceName);

            parser.AddEnvironmentVariables(instruction.EnvironmentVariables);

            return(parser.Save());
        }
예제 #8
0
        public void CanAddEnvironmentVariables()
        {
            ComposeFileParser sut = new ComposeFileParser(yaml);

            var variables = new Dictionary <string, string>
            {
                { "var1", "val1" },
                { "var2", "val2" }
            };

            sut.AddEnvironmentVariables(variables);

            var res = sut.Save();

            Assert.IsTrue(res.IndexOf("var2") > -1);
        }
예제 #9
0
        private RunBuild CreateBuildInstruction(BuildRunRequest request)
        {
            ComposeFileParser composeFileParser = new ComposeFileParser(request.Yaml);

            RunBuild runBuild = new RunBuild
            {
                Yaml    = request.Yaml,
                Build   = request.Build,
                Image   = composeFileParser.GetTesterImageName(),
                Command = composeFileParser.GetTesterLocation(),
                EnvironmentVariables = new Dictionary <string, string>
                {
                    { "TESTER_SERVER", _host },
                    { "TESTER_VHOST", _vHost },
                    { "TESTER_USERNAME", _username },
                    { "TESTER_PASSWORD", _password },
                    { "TESTER_REQUEST_QUEUE", $"{request.Build}_request" },
                    { "TESTER_RESPONSE_QUEUE", $"{request.Build}_response" }
                }
            };

            return(runBuild);
        }