Ejemplo n.º 1
0
        private void ReplaceTemplateCode()
        {
            Templates.ForEach(t =>
            {
                Builder.ForEach(i =>
                {
                    var found = Regex.Matches(i.Item3, t.Name + "<(.*)>");

                    foreach (Match o in found)
                    {
                        string str             = o.Groups[1].Value;
                        GeneratedTemplate temp = t.Generate(str.Replace(" ", "").Split(","));

                        GeneratedTemplates.Add(temp);
                        i.Item3 = i.Item3.Replace(t.Name + "<" + str + ">", temp.Name);
                    }
                });
            });

            GeneratedTemplates.ForEach(i =>
            {
                List <KhelljyrCommon.Tuple <string, int, string> > a = new List <KhelljyrCommon.Tuple <string, int, string> >();

                foreach (string s in i.Content.Split("\n"))
                {
                    a.Add(new KhelljyrCommon.Tuple <string, int, string>("Templated Function " + i.Name, 0, s));
                }

                a.Reverse();
                a.ForEach(o => Builder.Insert(0, o));
            });
        }
        public void TestResultContains_VariableInServiceTemplate()
        {
            GeneratedTemplate serviceTemplate = _generatedTemplates.Single(x => x.FileName == ServiceFilename && x.Directory == String.Empty);

            var conf = serviceTemplate.Content["variables"]["virtualNetworkConfiguration"];

            Assert.IsNotNull(conf);
            Assert.IsNotNull(conf["subnetResourceId"]);
            Assert.IsNotNull(conf["vnetid"]);
            Assert.IsNotNull(conf["subnetname"]);
        }
        public void TestResultContains_ParameterForMyFunctionsKey()
        {
            GeneratedTemplate serviceTemplate = _generatedTemplates.Single(x => x.FileName == ServiceFilename && x.Directory == String.Empty);

            var parameter = serviceTemplate.Content.SelectToken("$.parameters.myfunctions-key");

            Assert.IsNotNull(parameter);

            Assert.AreEqual("securestring", parameter.Value <string>("type"));
            Assert.AreEqual("", parameter.Value <string>("defaultValue"));
        }
        private void AssertParameter(string name, string type, string defaultValue)
        {
            GeneratedTemplate serviceTemplate =
                _generatedTemplates.Single(x => x.FileName == ServiceFilename && x.Directory == String.Empty);

            var parameter = serviceTemplate.Content.SelectToken($"$.parameters.{name}");

            Assert.IsNotNull(parameter);

            Assert.AreEqual(type, parameter.Value <string>("type"));
            Assert.AreEqual(defaultValue, parameter.Value <string>("defaultValue"));
        }
        public void TestResultContains_GroupsWithNoExternalDependency()
        {
            GeneratedTemplate groups = _generatedTemplates.FirstOrDefault(x => x.FileName == "groups.template.json" && x.Directory == String.Empty);

            Assert.IsNotNull(groups);

            var dependencies = groups.Content.SelectTokens("$..dependsOn[*]");

            Assert.AreEqual(0, dependencies.Count());

            Assert.AreEqual(1, groups.ExternalDependencies.Count);
            Assert.AreEqual("[resourceId('Microsoft.ApiManagement/service', parameters('service_PreDemoTest_name'))]", groups.ExternalDependencies.First());
        }
        public void TestResultContains_PropertyForMyFunctionsKeyWithoutListSecrets()
        {
            GeneratedTemplate serviceTemplate = _generatedTemplates.Single(x => x.FileName == ServiceFilename && x.Directory == String.Empty);

            var property = serviceTemplate.Content.SelectTokens("$..resources[?(@.type=='Microsoft.ApiManagement/service/namedValues')]")
                           .SingleOrDefault(x => x["name"].Value <string>().Contains("myfunctions-key"));

            Assert.IsNotNull(property);

            var value = property["properties"].Value <string>("value");

            Assert.IsFalse(value.StartsWith("[listsecrets("));

            Assert.AreEqual("[parameters('myfunctions-key')]", value);
        }
 public static IEnumerable <JToken> WithResources(this GeneratedTemplate template, ResourceType resourceType, Property property = Property.Type)
 {
     return(template.Content.WithResources(resourceType, property));
 }
 public static JToken WithDirectResource(this GeneratedTemplate template, Enum resourceType, Property property = Property.Type)
 {
     return(template.Content.WithDirectResource(resourceType, property));
 }