Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
                }
            }
        }
Exemplo n.º 5
0
        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);
                }
            }
        }
Exemplo n.º 6
0
        public void OverrideSequenceTest()
        {
            ServerData         target   = new ServerData();
            DbOverrideSequence expected = new DbOverrideSequence();
            DbOverrideSequence actual;

            target.OverrideSequence = expected;
            actual = target.OverrideSequence;
            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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);
                }
            }
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
        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");
        }
Exemplo n.º 11
0
        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]);
        }
Exemplo n.º 12
0
        public void DbOverrideSequenceConstructorTest()
        {
            DbOverrideSequence target = new DbOverrideSequence();

            Assert.AreEqual(0, target.Count);
        }