public void SortTest_Numeric() { DbOverrideSequence target = new DbOverrideSequence(); List <DatabaseOverride> tmp1 = new List <DatabaseOverride>(); tmp1.Add(new DatabaseOverride("default1a", "override1a")); tmp1.Add(new DatabaseOverride("default1b", "override1b")); List <DatabaseOverride> tmp2 = new List <DatabaseOverride>(); tmp2.Add(new DatabaseOverride("default2a", "override2a")); tmp2.Add(new DatabaseOverride("default2b", "override2b")); target.Add("2", tmp2); target.Add("1", tmp1); target.Add("4", tmp1); target.Add("3", tmp1); target.Sort(); Dictionary <string, List <DatabaseOverride> > .Enumerator enumer = target.GetEnumerator(); enumer.MoveNext(); Assert.IsTrue("1" == enumer.Current.Key.ToString(), "Sorting of DbOverride sequence failed. Expected \"1\", returned " + enumer.Current.Key.ToString()); enumer.MoveNext(); Assert.IsTrue("2" == enumer.Current.Key.ToString(), "Sorting of DbOverride sequence failed. Expected \"2\", returned " + enumer.Current.Key.ToString()); enumer.MoveNext(); Assert.IsTrue("3" == enumer.Current.Key.ToString(), "Sorting of DbOverride sequence failed. Expected \"3\", returned " + enumer.Current.Key.ToString()); enumer.MoveNext(); Assert.IsTrue("4" == enumer.Current.Key.ToString(), "Sorting of DbOverride sequence failed. Expected \"4\", returned " + enumer.Current.Key.ToString()); }
public void GetSequenceIdTest() { DbOverrideSequence target = new DbOverrideSequence(); List <DatabaseOverride> tmp1 = new List <DatabaseOverride>(); tmp1.Add(new DatabaseOverride("default1a", "override1a")); tmp1.Add(new DatabaseOverride("default1b", "override1b")); List <DatabaseOverride> tmp2 = new List <DatabaseOverride>(); tmp2.Add(new DatabaseOverride("default2a", "override2a")); tmp2.Add(new DatabaseOverride("default2b", "override2b")); target.Add("z", tmp1); target.Add("2", tmp2); string actual; actual = target.GetSequenceId("default2b", "override2b"); Assert.AreEqual("2", actual); actual = target.GetSequenceId("default1a", "override1a"); Assert.AreEqual("z", actual); actual = target.GetSequenceId("defaultXXX", "override1a"); Assert.AreEqual("", actual); actual = target.GetSequenceId("default1a", "overrideXX"); Assert.AreEqual("", actual); }
public void ValidateMultiDatabaseData_EmptyOverrideSequence() { MultiDbData dbData = new MultiDbData(); ServerData srv1 = new ServerData(); srv1.ServerName = "server1"; dbData["server1"] = srv1; ServerData srv2 = new ServerData(); srv2.ServerName = "server2"; dbData["server2"] = srv2; DbOverrideSequence ovr = new DbOverrideSequence(); ovr.Add("1", new DatabaseOverride("default", "target")); ovr.Add("2", new DatabaseOverride("default2", "target2")); dbData["server1"].OverrideSequence = ovr; DbOverrideSequence ovr2 = new DbOverrideSequence(); ovr.Add("3", new DatabaseOverride("default", "target")); ovr.Add("4", new DatabaseOverride("", "")); dbData["server2"].OverrideSequence = ovr2; bool expected = false; bool actual = MultiDbHelper.ValidateMultiDatabaseData(dbData); Assert.AreEqual(expected, actual); }
public void DeserializeMultiDbConfigurationTest_WithQueryRowDataItems() { string fileName = Path.GetTempFileName(); try { string fileContents = Properties.Resources.MultiDb_WithQueryRowData; File.WriteAllText(fileName, fileContents); MultiDbData actual; actual = MultiDbHelper.DeserializeMultiDbConfiguration(fileName); actual.IsTransactional = false; Assert.AreEqual(@"Server1\Instance_1", actual[0].ServerName); Assert.AreEqual(@"Server2\Instance_1", actual[1].ServerName); DbOverrideSequence seq = actual[1].OverrideSequence; Assert.AreEqual("Default", seq["1"][0].DefaultDbTarget); Assert.AreEqual("Db_0002", seq["1"][0].OverrideDbTarget); List <QueryRowItem> queryItems = seq["1"][0].QueryRowData; Assert.AreEqual("MyCompany2", queryItems[0].Value); Assert.AreEqual("CompanyName", queryItems[0].ColumnName); Assert.AreEqual("CompanyID", queryItems[1].ColumnName); Assert.AreEqual("000002", queryItems[1].Value); Assert.IsFalse(actual.IsTransactional); } finally { if (File.Exists(fileName)) { File.Delete(fileName); } } }
public void ImportMultiDbTextConfigTest_ReadFile() { string fileName = Path.GetTempFileName(); try { string[] fileContents = new string[] { "SERVER:default,target;default2,target2", "SERVER2:default,target;default2,target2" }; File.WriteAllLines(fileName, fileContents); MultiDbData actual; actual = MultiDbHelper.ImportMultiDbTextConfig(fileName); Assert.AreEqual(actual[0].ServerName, "SERVER"); Assert.AreEqual(actual[1].ServerName, "SERVER2"); DbOverrideSequence seq = actual[0].OverrideSequence; Assert.AreEqual(seq["0"][0].DefaultDbTarget, "default"); Assert.AreEqual(seq["0"][1].OverrideDbTarget, "target2"); seq = actual[1].OverrideSequence; Assert.AreEqual(seq["1"][1].DefaultDbTarget, "default2"); Assert.AreEqual(seq["1"][0].OverrideDbTarget, "target"); } finally { if (File.Exists(fileName)) { File.Delete(fileName); } } }
public void OverrideSequenceTest() { ServerData target = new ServerData(); DbOverrideSequence expected = new DbOverrideSequence(); DbOverrideSequence actual; target.OverrideSequence = expected; actual = target.OverrideSequence; Assert.AreEqual(expected, actual); }
public void ConvertMultiDbDataToTextConfigTest() { DbOverrideSequence sequenceA = new DbOverrideSequence(); sequenceA.Add("1", new DatabaseOverride("default1", "override1")); sequenceA.Add("2", new DatabaseOverride("default2", "override2")); sequenceA.Add("0", new DatabaseOverride("default0", "override0")); DatabaseOverride ovrX = new DatabaseOverride("defaultX", "overrideX"); DatabaseOverride ovrY = new DatabaseOverride("defaultY", "overrideY"); List <DatabaseOverride> lstOvr = new List <DatabaseOverride>(); lstOvr.Add(ovrX); lstOvr.Add(ovrY); sequenceA.Add("M", lstOvr); ServerData serverA = new ServerData(); serverA.OverrideSequence = sequenceA; serverA.ServerName = "ServerA"; DbOverrideSequence sequenceB = new DbOverrideSequence(); sequenceB.Add("6", new DatabaseOverride("default6", "override6")); sequenceB.Add("7", new DatabaseOverride("default7", "override7")); sequenceB.Add("5", new DatabaseOverride("default5", "override5")); ServerData serverB = new ServerData(); serverB.OverrideSequence = sequenceB; serverB.ServerName = "ServerB"; MultiDbData cfg = new MultiDbData(); cfg.Add(serverA); cfg.Add(serverB); string expected = @"ServerA:default1,override1 ServerA:default2,override2 ServerA:default0,override0 ServerA:defaultX,overrideX;defaultY,overrideY ServerB:default6,override6 ServerB:default7,override7 ServerB:default5,override5 "; string actual; actual = MultiDbHelper.ConvertMultiDbDataToTextConfig(cfg); Assert.AreEqual(expected, actual); }
public void DeserializeMultiDbConfigurationTest_ReadFile() { string fileName = Path.GetTempFileName(); try { string fileContents = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"; fileContents += "<ArrayOfServerData xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">"; fileContents += @" <ServerData> <ServerName>(local)</ServerName> <OverrideSequence> <item> <key> <string>1</string> </key> <value> <ArrayOfDatabaseOverride> <DatabaseOverride> <DefaultDbTarget>SqlBuildTest</DefaultDbTarget> <OverrideDbTarget>master</OverrideDbTarget> </DatabaseOverride> </ArrayOfDatabaseOverride> </value> </item> </OverrideSequence> </ServerData> </ArrayOfServerData>"; File.WriteAllText(fileName, fileContents); MultiDbData actual; actual = MultiDbHelper.DeserializeMultiDbConfiguration(fileName); actual.IsTransactional = false; Assert.AreEqual(actual[0].ServerName, "(local)"); DbOverrideSequence seq = actual[0].OverrideSequence; Assert.AreEqual(seq["1"][0].DefaultDbTarget, "SqlBuildTest"); Assert.AreEqual(seq["1"][0].OverrideDbTarget, "master"); Assert.IsFalse(actual.IsTransactional); } finally { if (File.Exists(fileName)) { File.Delete(fileName); } } }
public void AddTest() { DbOverrideSequence target = new DbOverrideSequence(); List <DatabaseOverride> tmp1 = new List <DatabaseOverride>(); tmp1.Add(new DatabaseOverride("default1a", "override1a")); tmp1.Add(new DatabaseOverride("default1b", "override1b")); List <DatabaseOverride> tmp2 = new List <DatabaseOverride>(); tmp2.Add(new DatabaseOverride("default2a", "override2a")); tmp2.Add(new DatabaseOverride("default2b", "override2b")); target.Add("a", tmp1); target.Add("z", tmp2); Assert.AreEqual(2, target.Count); }
public void ImportMultiDbTextConfigTest_GoodConfuguration_HandleEmptyLine() { string[] fileContents = new string[] { "SERVER:default,target;default2,target2", "", "SERVER2:default,target;default2,target2" }; MultiDbData actual; actual = MultiDbHelper.ImportMultiDbTextConfig(fileContents); Assert.AreEqual(actual[0].ServerName, "SERVER"); Assert.AreEqual(actual[1].ServerName, "SERVER2"); DbOverrideSequence seq = actual[0].OverrideSequence; Assert.AreEqual(seq["0"][0].DefaultDbTarget, "default"); Assert.AreEqual(seq["0"][1].OverrideDbTarget, "target2"); seq = actual[1].OverrideSequence; Assert.AreEqual(seq["1"][1].DefaultDbTarget, "default2"); Assert.AreEqual(seq["1"][0].OverrideDbTarget, "target"); }
public void GetOverrideDatabaseNameListTest() { DbOverrideSequence target = new DbOverrideSequence(); List <DatabaseOverride> tmp1 = new List <DatabaseOverride>(); tmp1.Add(new DatabaseOverride("default1a", "override1a")); tmp1.Add(new DatabaseOverride("default1b", "override1b")); List <DatabaseOverride> tmp2 = new List <DatabaseOverride>(); tmp2.Add(new DatabaseOverride("default2a", "override2a")); tmp2.Add(new DatabaseOverride("default2b", "override2b")); target.Add("a", tmp1); target.Add("z", tmp2); List <string> actual = target.GetOverrideDatabaseNameList(); Assert.AreEqual("override1a", actual[0]); Assert.AreEqual("override1b", actual[1]); Assert.AreEqual("override2a", actual[2]); Assert.AreEqual("override2b", actual[3]); }
public void DbOverrideSequenceConstructorTest() { DbOverrideSequence target = new DbOverrideSequence(); Assert.AreEqual(0, target.Count); }