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)); }