public void LoadYamlTest() { YamlRepository repo = GetYamlRepo(nameof(LoadYamlTest)); // save some stuff to daorepo string details = 10.RandomLetters(); string testName = 8.RandomLetters(); Parent parent = new Parent { Details = details, Name = testName }; parent = repo.DaoRepository.Save(parent); FileInfo yamlFile = repo.GetYamlFile(typeof(Parent), parent.Name); string yamlFilePath = repo.YamlDataDirectory.GetYamlFilePath(typeof(Parent), parent.Name); Expect.IsFalse(File.Exists(yamlFilePath), $"file existed but shouldn't have: {yamlFilePath}"); Expect.IsNull(yamlFile); FileInfo loadNamesFile = repo.GetLoadNamesFile(typeof(Parent)); // write names to sync file repo.AddNameToLoad <Parent>(parent.Name); // Call LoadYaml repo.WriteYaml(); // expect yaml files to exist yamlFile = repo.GetYamlFile(typeof(Parent), parent.Name); Expect.IsNotNull(yamlFile); Parent fromYaml = repo.ReadYaml <Parent>(parent.Name); Expect.AreEqual(fromYaml.Cuid, parent.Cuid); Expect.AreEqual(fromYaml.Name, parent.Name); Expect.AreEqual(fromYaml.Uuid, parent.Uuid); }
public void YamlSyncToDbTest() { string details = 10.RandomLetters(); string updatedDetails = 5.RandomLetters(); string testName = 8.RandomLetters(); Parent parent = new Parent { Details = details, Name = testName }; YamlRepository repo = GetYamlRepo(nameof(YamlSyncToDbTest)); parent = repo.Save(parent); Parent loaded = repo.LoadYaml <Parent>(testName).ToList().FirstOrDefault(); Expect.IsNotNull(loaded); loaded.Details = updatedDetails; repo.YamlDataDirectory.Save <Parent>(loaded); FileInfo file = repo.YamlDataDirectory.GetYamlFile(typeof(Parent), testName); YamlDataFile data = new YamlDataFile(typeof(Parent), file); Parent fromFile = data.As <Parent>(); Expect.AreEqual(testName, fromFile.Name); Expect.AreEqual(updatedDetails, fromFile.Details); Parent fromDb = repo.DaoRepository.Retrieve <Parent>(fromFile.Id); Expect.AreEqual(details, fromDb.Details); repo.Synchronize(); fromDb = repo.DaoRepository.Retrieve <Parent>(fromFile.Id); Expect.AreEqual(testName, fromDb.Name); Expect.AreEqual(updatedDetails, fromDb.Details); }
private YamlRepository GetYamlRepo(string name) { YamlRepository repo = new YamlRepository($".\\{name}", new SQLiteDatabase($"{name}_Db", name)); repo.AddType <Parent>(); repo.AddType <House>(); repo.AddType <Child>(); return(repo); }
public void Repository_should_save_and_load_model() { var repository = new YamlRepository(); var expected = _fixture.Create <SystemModel>(); repository.Save(expected, _directory); var actual = repository.Load(_directory); actual.AssertDeepEqualsTo(expected); }
static void Main(string[] args) { IDeserializer globalDeserializer = new DeserializerBuilder() .WithTagMapping("!ChildClass1", typeof(ChildClass1)) .WithTagMapping("!ChildClass2", typeof(ChildClass2)) .Build(); IRepository <Class> repo = new YamlRepository <Class>("class", globalDeserializer); foreach (Class @class in repo.FindAll()) { Console.WriteLine(@class); } }
public void YamlRepositoryCreateRetrieveTest() { Parent parent = new Parent { Details = "Some details" }; House house = new House { HouseDetails = "house details" }; parent.Houses = new List <House>(); parent.Houses.Add(house); YamlRepository repo = GetYamlRepo(nameof(YamlRepositoryCreateRetrieveTest)); parent = repo.Save(parent); Parent retrieved = repo.Retrieve <Parent>(parent.Id); Expect.IsNotNull(retrieved); Expect.IsNotNull(retrieved.Houses); Expect.AreEqual(1, retrieved.Houses.Count); }
public void CanAddNameToLoad() { YamlRepository repo = GetYamlRepo(nameof(CanAddNameToLoad)); FileInfo loadNamesFile = repo.GetLoadNamesFile(typeof(Parent)); if (File.Exists(loadNamesFile.FullName)) { File.Delete(loadNamesFile.FullName); } Expect.IsFalse(File.Exists(loadNamesFile.FullName)); HashSet <string> names = repo.AddNameToLoad <Parent>("monkey"); Expect.IsTrue(File.Exists(loadNamesFile.FullName)); names = repo.AddNameToLoad <Parent>("monkey"); names = repo.AddNameToLoad <Parent>("banana"); Expect.AreEqual(2, names.Count); List <string> fromFile = File.ReadAllLines(loadNamesFile.FullName).ToList(); Expect.AreEqual(2, fromFile.Count); Expect.IsTrue(fromFile.Contains("monkey")); Expect.IsTrue(fromFile.Contains("banana")); }
public void YamlSyncFromDbTest() { YamlRepository repo = GetYamlRepo(nameof(LoadYamlTest)); string details = 10.RandomLetters(); string updatedDetails = 15.RandomLetters(); string testName = 8.RandomLetters(); Parent parent = new Parent { Details = details, Name = testName }; parent = repo.DaoRepository.Save(parent); repo.AddNameToLoad <Parent>(parent.Name); repo.WriteYaml(); Parent fromFile = repo.ReadYaml <Parent>(parent.Name); Expect.AreEqual(fromFile.Details, parent.Details); parent.Details = updatedDetails; parent = repo.DaoRepository.Save(parent); repo.Synchronize(); fromFile = repo.ReadYaml <Parent>(parent.Name); Expect.AreEqual(fromFile.Details, updatedDetails); }
[Test] public void Repository_should_load_roles_with_no_mapped_machines() { var model = new SystemModel(new[] { new Role("api", new [] { "dev1", "dev2" }), new Role("csapi", new string[] {}), new Role("service", null) }, new[] { new Tenant("a", new [] { "dev1" }), }, new[] { new TenantTag("a", new [] { "dev1" }) }); var repository = new YamlRepository(); repository.Save(model, _directory); var actual = repository.Load(_directory); actual.AssertDeepEqualsTo(model); }
private static void UploadDefinitions(Options options) { var model = new YamlRepository().Load(options.DefinitionsDir); new Uploader(options.OctopusUrl, options.OctopusApiKey).UploadModel(model); }