예제 #1
0
        public void Evaluate_Default_Input()
        {
            try
            {
                //Arrange
                Setup();

                var actionManifest = new ActionManifestManager();
                actionManifest.Initialize(_hc);

                _ec.Object.ExpressionValues["github"] = new DictionaryContextData
                {
                    { "ref", new StringContextData("refs/heads/main") },
                };
                _ec.Object.ExpressionValues["strategy"] = new DictionaryContextData();
                _ec.Object.ExpressionValues["matrix"]   = new DictionaryContextData();
                _ec.Object.ExpressionValues["steps"]    = new DictionaryContextData();
                _ec.Object.ExpressionValues["job"]      = new DictionaryContextData();
                _ec.Object.ExpressionValues["runner"]   = new DictionaryContextData();
                _ec.Object.ExpressionValues["env"]      = new DictionaryContextData();
                _ec.Object.ExpressionFunctions.Add(new FunctionInfo <HashFilesFunction>("hashFiles", 1, 255));

                //Act
                var result = actionManifest.EvaluateDefaultInput(_ec.Object, "testInput", new StringToken(null, null, null, "defaultValue"));

                //Assert
                Assert.Equal("defaultValue", result);

                //Act
                result = actionManifest.EvaluateDefaultInput(_ec.Object, "testInput", new BasicExpressionToken(null, null, null, "github.ref"));

                //Assert
                Assert.Equal("refs/heads/main", result);
            }
            finally
            {
                Teardown();
            }
        }
예제 #2
0
        public void Evaluate_Default_Input()
        {
            try
            {
                //Arrange
                Setup();

                var actionManifest = new ActionManifestManager();
                actionManifest.Initialize(_hc);

                var githubContext = new DictionaryContextData();
                githubContext.Add("ref", new StringContextData("refs/heads/master"));

                var evaluateContext = new Dictionary <string, PipelineContextData>(StringComparer.OrdinalIgnoreCase);
                evaluateContext["github"]   = githubContext;
                evaluateContext["strategy"] = new DictionaryContextData();
                evaluateContext["matrix"]   = new DictionaryContextData();
                evaluateContext["steps"]    = new DictionaryContextData();
                evaluateContext["job"]      = new DictionaryContextData();
                evaluateContext["runner"]   = new DictionaryContextData();
                evaluateContext["env"]      = new DictionaryContextData();

                //Act
                var result = actionManifest.EvaluateDefaultInput(_ec.Object, "testInput", new StringToken(null, null, null, "defaultValue"), evaluateContext);

                //Assert
                Assert.Equal("defaultValue", result);

                //Act
                result = actionManifest.EvaluateDefaultInput(_ec.Object, "testInput", new BasicExpressionToken(null, null, null, "github.ref"), evaluateContext);

                //Assert
                Assert.Equal("refs/heads/master", result);
            }
            finally
            {
                Teardown();
            }
        }