Exemplo n.º 1
0
        public void OpenSecQueueDB(string className,
                                   string funName, string dbFileName, string dbSecFileName)
        {
            XmlElement xmlElem = Configuration.TestSetUp(
                className, funName);

            // Open a primary queue database.
            QueueDatabaseConfig primaryDBConfig =
                new QueueDatabaseConfig();

            primaryDBConfig.Creation = CreatePolicy.IF_NEEDED;
            QueueDatabase primaryDB;

            /*
             * If secondary database name is given, the primary
             * database is also opened with database name.
             */
            primaryDB = QueueDatabase.Open(dbFileName,
                                           primaryDBConfig);

            try
            {
                // Open a new secondary database.
                SecondaryQueueDatabaseConfig secQueueDBConfig =
                    new SecondaryQueueDatabaseConfig(
                        primaryDB, null);
                SecondaryQueueDatabaseConfigTest.Config(
                    xmlElem, ref secQueueDBConfig, false);
                secQueueDBConfig.Creation =
                    CreatePolicy.IF_NEEDED;

                SecondaryQueueDatabase secQueueDB;
                secQueueDB = SecondaryQueueDatabase.Open(
                    dbSecFileName, secQueueDBConfig);

                // Close the secondary database.
                secQueueDB.Close();

                // Open the existing secondary database.
                SecondaryDatabaseConfig secDBConfig =
                    new SecondaryQueueDatabaseConfig(
                        primaryDB, null);

                SecondaryDatabase secDB;
                secDB = SecondaryQueueDatabase.Open(
                    dbSecFileName, secDBConfig);

                // Close secondary database.
                secDB.Close();
            }
            catch (DatabaseException)
            {
                throw new TestException();
            }
            finally
            {
                // Close primary database.
                primaryDB.Close();
            }
        }
Exemplo n.º 2
0
        public void TestOpenNewQueueDB()
        {
            testName = "TestOpenNewQueueDB";
            testHome = testFixtureHome + "/" + testName;
            string queueDBFileName = testHome + "/" + testName + ".db";

            Configuration.ClearDir(testHome);

            // Configure all fields/properties in queue database.
            XmlElement xmlElem = Configuration.TestSetUp(
                testFixtureName, testName);
            QueueDatabaseConfig queueConfig = new QueueDatabaseConfig();

            QueueDatabaseConfigTest.Config(xmlElem, ref queueConfig, true);
            queueConfig.Feedback = new DatabaseFeedbackDelegate(DbFeedback);

            // Open the queue database with above configuration.
            QueueDatabase queueDB = QueueDatabase.Open(
                queueDBFileName, queueConfig);

            // Check the fields/properties in opened queue database.
            Confirm(xmlElem, queueDB, true);

            queueDB.Close();
        }
Exemplo n.º 3
0
        public void TestConfig()
        {
            testName = "TestConfig";
            SetUpTest(false);

            ReplicationConfig repConfig = new ReplicationConfig();
            XmlElement        xmlElem   = Configuration.TestSetUp(
                testFixtureName, testName);

            Config(xmlElem, ref repConfig, true);
            Confirm(xmlElem, repConfig, true);

            repConfig.Clockskew(102, 100);
            Assert.AreEqual(102, repConfig.ClockskewFast);
            Assert.AreEqual(100, repConfig.ClockskewSlow);

            repConfig.TransmitLimit(1, 1024);
            Assert.AreEqual(1, repConfig.TransmitLimitGBytes);
            Assert.AreEqual(1024, repConfig.TransmitLimitBytes);

            repConfig.RetransmissionRequest(10, 100);
            Assert.AreEqual(100, repConfig.RetransmissionRequestMax);
            Assert.AreEqual(10, repConfig.RetransmissionRequestMin);

            repConfig.RepmgrIncomingQueueMax(123, 456);
            Assert.AreEqual(123, repConfig.RepmgrIncomingQueueMaxGBytes);
            Assert.AreEqual(456, repConfig.RepmgrIncomingQueueMaxBytes);
        }
        public void TestConfig()
        {
            testName = "TestConfig";
            testHome = testFixtureHome + "/" + testName;
            string dbFileName = testHome + "/" + testName + ".db";

            Configuration.ClearDir(testHome);
            XmlElement xmlElem = Configuration.TestSetUp(
                testFixtureName, testName);

            // Open a primary btree database.
            BTreeDatabaseConfig btreeDBConfig =
                new BTreeDatabaseConfig();

            btreeDBConfig.Creation = CreatePolicy.IF_NEEDED;
            BTreeDatabase btreeDB = BTreeDatabase.Open(
                dbFileName, btreeDBConfig);

            SecondaryBTreeDatabaseConfig secDBConfig =
                new SecondaryBTreeDatabaseConfig(btreeDB, null);

            Config(xmlElem, ref secDBConfig, true);
            Confirm(xmlElem, secDBConfig, true);

            // Close the primary btree database.
            btreeDB.Close();
        }
Exemplo n.º 5
0
        public void TestOpen()
        {
            testName = "TestOpen";
            SetUpTest(true);
            string dbFileName    = testHome + "/" + testName + ".db";
            string dbSecFileName = testHome + "/" +
                                   testName + "_sec.db";

            XmlElement xmlElem = Configuration.TestSetUp(
                testFixtureName, testName);

            // Open a primary btree database.
            BTreeDatabaseConfig btreeDBConfig =
                new BTreeDatabaseConfig();

            btreeDBConfig.Creation = CreatePolicy.IF_NEEDED;
            BTreeDatabase btreeDB = BTreeDatabase.Open(
                dbFileName, btreeDBConfig);

            // Open a secondary btree database.
            SecondaryBTreeDatabaseConfig secDBConfig =
                new SecondaryBTreeDatabaseConfig(btreeDB, null);

            SecondaryBTreeDatabaseConfigTest.Config(xmlElem,
                                                    ref secDBConfig, true);
            SecondaryBTreeDatabase secDB =
                SecondaryBTreeDatabase.Open(dbSecFileName,
                                            secDBConfig);

            // Confirm its flags configured in secDBConfig.
            Confirm(xmlElem, secDB, true);

            secDB.Close();
            btreeDB.Close();
        }
Exemplo n.º 6
0
        public void TestConfig()
        {
            testName = "TestConfig";
            SetUpTest(true);
            string dbFileName = testHome + "/" + testName + ".db";

            XmlElement xmlElem = Configuration.TestSetUp(
                testFixtureName, testName);

            // Open a primary btree database.
            QueueDatabaseConfig queueDBConfig =
                new QueueDatabaseConfig();

            queueDBConfig.Creation = CreatePolicy.IF_NEEDED;
            QueueDatabase queueDB = QueueDatabase.Open(
                dbFileName, queueDBConfig);

            SecondaryQueueDatabaseConfig secDBConfig =
                new SecondaryQueueDatabaseConfig(queueDB, null);

            Config(xmlElem, ref secDBConfig, true);
            Confirm(xmlElem, secDBConfig, true);

            // Close the primary btree database.
            queueDB.Close();
        }
Exemplo n.º 7
0
        override public void TestConfigWithoutEnv()
        {
            testName = "TestConfigWithoutEnv";
            XmlElement xmlElem = Configuration.TestSetUp(
                testFixtureName, testName);
            HashDatabaseConfig hashConfig = new HashDatabaseConfig();

            Config(xmlElem, ref hashConfig, true);
            Confirm(xmlElem, hashConfig, true);
        }
Exemplo n.º 8
0
        public void TestConfig()
        {
            testName = "TestConfig";
            SetUpTest(false);
            SequenceConfig seqConfig = new SequenceConfig();
            XmlElement     xmlElem   = Configuration.TestSetUp(
                testFixtureName, testName);

            Config(xmlElem, ref seqConfig, true);
            Confirm(xmlElem, seqConfig, true);
        }
Exemplo n.º 9
0
        virtual public void TestConfigWithoutEnv()
        {
            testName = "TestConfigWithoutEnv";
            SetUpTest(false);
            XmlElement xmlElem = Configuration.TestSetUp(
                testFixtureName, testName);
            DatabaseConfig dbConfig = new DatabaseConfig();

            Config(xmlElem, ref dbConfig, true);
            Confirm(xmlElem, dbConfig, true);
        }
        public void TestConfig()
        {
            testName = "TestConfig";
            XmlElement xmlElem = Configuration.TestSetUp(
                testFixtureName, testName);
            DatabaseEnvironmentConfig envConfig =
                new DatabaseEnvironmentConfig();

            Config(xmlElem, ref envConfig, true);
            Confirm(xmlElem, envConfig, true);
        }
Exemplo n.º 11
0
        new public void TestConfigWithoutEnv()
        {
            testName = "TestConfigWithoutEnv";
            XmlElement xmlElem = Configuration.TestSetUp(
                testFixtureName, testName);
            QueueDatabaseConfig queueDBConfig =
                new QueueDatabaseConfig();

            Config(xmlElem, ref queueDBConfig, true);
            Confirm(xmlElem, queueDBConfig, true);
        }
Exemplo n.º 12
0
        override public void TestConfigWithoutEnv()
        {
            testName = "TestConfigWithoutEnv";
            XmlElement xmlElem = Configuration.TestSetUp(
                testFixtureName, testName);

            RecnoDatabaseConfig recnoDBConfig =
                new RecnoDatabaseConfig();

            Config(xmlElem, ref recnoDBConfig, true);
            Confirm(xmlElem, recnoDBConfig, true);
        }
Exemplo n.º 13
0
        public void TestConfig()
        {
            testName = "TestConfig";

            // Config and confirm mpool subsystem configuration.
            MPoolConfig mpoolConfig = new MPoolConfig();
            XmlElement  xmlElem     = Configuration.TestSetUp(
                testFixtureName, testName);

            Config(xmlElem, ref mpoolConfig, true);
            Confirm(xmlElem, mpoolConfig, true);
        }
        override public void TestConfigWithoutEnv()
        {
            testName = "TestConfigWithoutEnv";
            SetUpTest(false);
            XmlElement xmlElem = Configuration.TestSetUp(
                testFixtureName, testName);
            BTreeDatabaseConfig btreeConfig =
                new BTreeDatabaseConfig();

            Config(xmlElem, ref btreeConfig, true);
            Confirm(xmlElem, btreeConfig, true);
        }
        public void TestConfigMutex()
        {
            testName = "TestConfigMutex";
            XmlElement xmlElem = Configuration.TestSetUp(
                testFixtureName, testName);
            DatabaseEnvironmentConfig cfg =
                new DatabaseEnvironmentConfig();

            cfg.MutexSystemCfg = new MutexConfig();
            MutexConfigTest.Config(xmlElem, ref cfg.MutexSystemCfg, true);
            MutexConfigTest.Confirm(xmlElem, cfg.MutexSystemCfg, true);
        }
Exemplo n.º 16
0
        new public void TestConfigWithoutEnv()
        {
            testName = "TestConfigWithoutEnv";
            SetUpTest(false);
            XmlElement xmlElem = Configuration.TestSetUp(
                testFixtureName, testName);
            HeapDatabaseConfig heapDBConfig =
                new HeapDatabaseConfig();

            Config(xmlElem, ref heapDBConfig, true);
            Confirm(xmlElem, heapDBConfig, true);
        }
Exemplo n.º 17
0
        public void TestConfigLog()
        {
            testName = "TestConfigLog";
            SetUpTest(false);
            XmlElement xmlElem = Configuration.TestSetUp(
                testFixtureName, testName);
            DatabaseEnvironmentConfig cfg =
                new DatabaseEnvironmentConfig();

            cfg.LogSystemCfg = new LogConfig();
            LogConfigTest.Config(xmlElem, ref cfg.LogSystemCfg, true);
            LogConfigTest.Confirm(xmlElem, cfg.LogSystemCfg, true);
        }
        public void TestConfigReplication()
        {
            testName = "TestConfigReplication";
            XmlElement xmlElem = Configuration.TestSetUp(
                testFixtureName, testName);
            DatabaseEnvironmentConfig cfg =
                new DatabaseEnvironmentConfig();

            cfg.RepSystemCfg = new ReplicationConfig();
            ReplicationConfigTest.Config(xmlElem,
                                         ref cfg.RepSystemCfg, true);
            ReplicationConfigTest.Confirm(xmlElem,
                                          cfg.RepSystemCfg, true);
        }
Exemplo n.º 19
0
        public void TestConfig()
        {
            testName = "TestConfig";

            /*
             * Configure the fields/properties and see if
             * they are updated successfully.
             */
            LogConfig  logConfig = new LogConfig();
            XmlElement xmlElem   = Configuration.TestSetUp(testFixtureName, testName);

            Config(xmlElem, ref logConfig, true);
            Confirm(xmlElem, logConfig, true);
        }
Exemplo n.º 20
0
        public void TestOpenNewHashDB()
        {
            testName = "TestOpenNewHashDB";
            SetUpTest(true);
            string dbFileName = testHome + "/" + testName + ".db";

            XmlElement         xmlElem    = Configuration.TestSetUp(testFixtureName, testName);
            HashDatabaseConfig hashConfig = new HashDatabaseConfig();

            HashDatabaseConfigTest.Config(xmlElem, ref hashConfig, true);
            HashDatabase hashDB = HashDatabase.Open(dbFileName, hashConfig);

            Confirm(xmlElem, hashDB, true);
            hashDB.Close();
        }
Exemplo n.º 21
0
        public void TestConfig()
        {
            testName = "TestConfig";

            // Configure the fields/properties.
            LockingConfig lockingConfig = new LockingConfig();
            XmlElement    xmlElem       = Configuration.TestSetUp(
                testFixtureName, testName);

            // Configure LockingConfig
            Config(xmlElem, ref lockingConfig, true);

            // Confirm LockingConfig
            Confirm(xmlElem, lockingConfig, true);
        }
Exemplo n.º 22
0
        public void TestConfig()
        {
            testName = "TestConfig";
            SetUpTest(false);

            /*
             * Configure the fields/properties and see if
             * they are updated successfully.
             */
            TransactionConfig txnConfig = new TransactionConfig();
            XmlElement        xmlElem   = Configuration.TestSetUp(
                testFixtureName, testName);

            Config(xmlElem, ref txnConfig, true);
            Confirm(xmlElem, txnConfig, true);
        }
Exemplo n.º 23
0
        public void TestOpenNewRecnoDB()
        {
            RecnoDatabase       recnoDB;
            RecnoDatabaseConfig recnoConfig;

            testName = "TestOpenNewRecnoDB";
            SetUpTest(true);
            string recnoDBFileName = testHome + "/" +
                                     testName + ".db";

            XmlElement xmlElem = Configuration.TestSetUp(
                testFixtureName, testName);

            recnoConfig = new RecnoDatabaseConfig();
            RecnoDatabaseConfigTest.Config(xmlElem,
                                           ref recnoConfig, true);
            recnoDB = RecnoDatabase.Open(recnoDBFileName,
                                         recnoConfig);
            Confirm(xmlElem, recnoDB, true);
            recnoDB.Close();
        }
Exemplo n.º 24
0
        public void TestConfig()
        {
            testName = "TestConfig";
            testHome = testFixtureHome + "/" + testName;
            string     dbFileName = testHome + "/" + testName + ".db";
            XmlElement xmlElem    = Configuration.TestSetUp(
                testFixtureName, testName);

            Configuration.ClearDir(testHome);

            // Open a database.
            BTreeDatabaseConfig btreeDBConfig =
                new BTreeDatabaseConfig();

            btreeDBConfig.Creation = CreatePolicy.IF_NEEDED;
            BTreeDatabase btreeDB = BTreeDatabase.Open(
                dbFileName, btreeDBConfig);

            // Configure and initialize sequence.
            SequenceConfig seqConfig = new SequenceConfig();

            seqConfig.BackingDatabase = btreeDB;
            seqConfig.Creation        = CreatePolicy.IF_NEEDED;
            seqConfig.key             = new DatabaseEntry(
                ASCIIEncoding.ASCII.GetBytes("key"));
            seqConfig.SetRange(Int64.MinValue, Int64.MaxValue);
            SequenceConfigTest.Config(xmlElem, ref seqConfig, true);
            Sequence seq = new Sequence(seqConfig);


            /*
             * Confirm that the squence is opened with the
             * configuration that we set.
             */
            Confirm(xmlElem, seq, true);

            /* Close sequence, database and environment. */
            seq.Close();
            btreeDB.Close();
        }
Exemplo n.º 25
0
        public void TestOpenNewHeapDB()
        {
            testName = "TestOpenNewHeapDB";
            SetUpTest(true);
            string heapDBFileName = testHome + "/" + testName + ".db";

            // Configure all fields/properties in heap database.
            XmlElement xmlElem = Configuration.TestSetUp(
                testFixtureName, testName);
            HeapDatabaseConfig heapConfig = new HeapDatabaseConfig();

            HeapDatabaseConfigTest.Config(xmlElem, ref heapConfig, true);
            heapConfig.Feedback = new DatabaseFeedbackDelegate(DbFeedback);

            // Open the heap database with above configuration.
            HeapDatabase heapDB = HeapDatabase.Open(
                heapDBFileName, heapConfig);

            // Check the fields/properties in opened heap database.
            Confirm(xmlElem, heapDB, true);

            heapDB.Close();
        }
Exemplo n.º 26
0
        public void OpenSecRecnoDB(string className,
                                   string funName, string dbFileName, string dbSecFileName,
                                   bool ifDBName)
        {
            XmlElement xmlElem = Configuration.TestSetUp(
                className, funName);

            // Open a primary recno database.
            RecnoDatabaseConfig primaryDBConfig =
                new RecnoDatabaseConfig();

            primaryDBConfig.Creation = CreatePolicy.IF_NEEDED;
            RecnoDatabase primaryDB;

            /*
             * If secondary database name is given, the primary
             * database is also opened with database name.
             */
            if (ifDBName == false)
            {
                primaryDB = RecnoDatabase.Open(dbFileName,
                                               primaryDBConfig);
            }
            else
            {
                primaryDB = RecnoDatabase.Open(dbFileName,
                                               "primary", primaryDBConfig);
            }

            try
            {
                // Open a new secondary database.
                SecondaryRecnoDatabaseConfig secRecnoDBConfig =
                    new SecondaryRecnoDatabaseConfig(
                        primaryDB, null);
                SecondaryRecnoDatabaseConfigTest.Config(
                    xmlElem, ref secRecnoDBConfig, false);
                secRecnoDBConfig.Creation =
                    CreatePolicy.IF_NEEDED;

                SecondaryRecnoDatabase secRecnoDB;
                if (ifDBName == false)
                {
                    secRecnoDB = SecondaryRecnoDatabase.Open(
                        dbSecFileName, secRecnoDBConfig);
                }
                else
                {
                    secRecnoDB = SecondaryRecnoDatabase.Open(
                        dbSecFileName, "secondary",
                        secRecnoDBConfig);
                }

                // Close the secondary database.
                secRecnoDB.Close();

                // Open the existing secondary database.
                SecondaryDatabaseConfig secDBConfig =
                    new SecondaryDatabaseConfig(
                        primaryDB, null);

                SecondaryDatabase secDB;
                if (ifDBName == false)
                {
                    secDB = SecondaryRecnoDatabase.Open(
                        dbSecFileName, secDBConfig);
                }
                else
                {
                    secDB = SecondaryRecnoDatabase.Open(
                        dbSecFileName, "secondary", secDBConfig);
                }

                // Close secondary database.
                secDB.Close();
            }
            catch (DatabaseException)
            {
                throw new TestException();
            }
            finally
            {
                // Close primary database.
                primaryDB.Close();
            }
        }
Exemplo n.º 27
0
        public void OpenSecQueueDBWithinTxn(string className,
                                            string funName, string home, string dbFileName,
                                            string dbSecFileName)
        {
            XmlElement xmlElem = Configuration.TestSetUp(
                className, funName);

            // Open an environment.
            DatabaseEnvironmentConfig envConfig =
                new DatabaseEnvironmentConfig();

            envConfig.Create     = true;
            envConfig.UseTxns    = true;
            envConfig.UseMPool   = true;
            envConfig.UseLogging = true;
            DatabaseEnvironment env = DatabaseEnvironment.Open(
                home, envConfig);

            // Open a primary queue database.
            Transaction         openDBTxn = env.BeginTransaction();
            QueueDatabaseConfig dbConfig  =
                new QueueDatabaseConfig();

            dbConfig.Creation = CreatePolicy.IF_NEEDED;
            dbConfig.Env      = env;
            QueueDatabase db = QueueDatabase.Open(
                dbFileName, dbConfig, openDBTxn);

            openDBTxn.Commit();

            // Open a secondary queue database.
            Transaction openSecTxn = env.BeginTransaction();
            SecondaryQueueDatabaseConfig secDBConfig =
                new SecondaryQueueDatabaseConfig(db,
                                                 new SecondaryKeyGenDelegate(SecondaryKeyGen));

            SecondaryQueueDatabaseConfigTest.Config(xmlElem,
                                                    ref secDBConfig, true);
            secDBConfig.Env = env;
            SecondaryQueueDatabase secDB;

            secDB = SecondaryQueueDatabase.Open(
                dbSecFileName, secDBConfig, openSecTxn);

            openSecTxn.Commit();

            // Confirm its flags configured in secDBConfig.
            Confirm(xmlElem, secDB, true);
            secDB.Close();

            // Open the existing secondary database.
            Transaction             secTxn    = env.BeginTransaction();
            SecondaryDatabaseConfig secConfig =
                new SecondaryDatabaseConfig(db,
                                            new SecondaryKeyGenDelegate(SecondaryKeyGen));

            secConfig.Env = env;

            SecondaryDatabase secExDB;

            secExDB = SecondaryQueueDatabase.Open(
                dbSecFileName, secConfig, secTxn);

            secExDB.Close();
            secTxn.Commit();

            db.Close();
            env.Close();
        }