public void It_Should_Read_Role() { var content = @"--- Roles: - Name: api Machines: - Dev2 - Dev3 - newbox ... "; var role = new YamlRole { Name = "api", Machines = new[] { "Dev2", "Dev3", "newbox" } }; var expected = new YamlSystemModel() { Roles = new[] { role } }; var model = Read(content); model.AssertDeepEqualsTo(expected); }
private string Write(YamlSystemModel model) { using (var stream = new MemoryStream()) { _writer.Write(stream, model); return(Encoding.UTF8.GetString(stream.ToArray())); } }
private string GetModelPath(YamlSystemModel splitModel, string modelDirectory) { var name = splitModel.Roles.EnsureNotNull().Select(x => $"Role_{x.Name.SanitiseNameIfNeeded()}.yml") .Concat(splitModel.Tenants.EnsureNotNull().Select(x => $"Tenant_{x.Name.SanitiseNameIfNeeded()}.yml")) .Concat(splitModel.TenantTags.EnsureNotNull().Select(x => $"TenantTag_{x.Name.SanitiseNameIfNeeded()}.yml")) .Single(); return(modelDirectory + "\\" + name); }
public SystemModel Load(string modelDirectory) { var model = new YamlSystemModel(); var files = FindFiles(modelDirectory); foreach (var subModel in files.SelectMany(LoadModels)) { model.MergeIn(subModel); } return(model.BuildWith(new SystemModelBuilder()).Build()); }
private void SaveModel(YamlSystemModel model, string path) { Logger.Info($"Saving: {Path.GetFileName(path)}"); WriteFile(path, model); }