diff options
author | Jesse Morgan <jesse@jesterpm.net> | 2016-12-17 21:28:53 -0800 |
---|---|---|
committer | Jesse Morgan <jesse@jesterpm.net> | 2016-12-17 21:28:53 -0800 |
commit | 54df2afaa61c6a03cbb4a33c9b90fa572b6d07b8 (patch) | |
tree | 18147b92b969d25ffbe61935fb63035cac820dd0 /db-4.8.30/test/scr037/DatabaseEnvironmentConfigTest.cs |
Berkeley DB 4.8 with rust build script for linux.
Diffstat (limited to 'db-4.8.30/test/scr037/DatabaseEnvironmentConfigTest.cs')
-rw-r--r-- | db-4.8.30/test/scr037/DatabaseEnvironmentConfigTest.cs | 299 |
1 files changed, 299 insertions, 0 deletions
diff --git a/db-4.8.30/test/scr037/DatabaseEnvironmentConfigTest.cs b/db-4.8.30/test/scr037/DatabaseEnvironmentConfigTest.cs new file mode 100644 index 0000000..f092ae4 --- /dev/null +++ b/db-4.8.30/test/scr037/DatabaseEnvironmentConfigTest.cs @@ -0,0 +1,299 @@ +/*- + * See the file LICENSE for redistribution information. + * + * Copyright (c) 2009 Oracle. All rights reserved. + * + */ +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; +using System.Xml; +using System.Xml.XPath; +using BerkeleyDB; +using NUnit.Framework; + +namespace CsharpAPITest +{ + [TestFixture] + public class DatabaseEnvironmentConfigTest + { + private string testFixtureHome; + private string testFixtureName; + private string testName; + private string testHome; + + [TestFixtureSetUp] + public void RunBeforeTests() + { + testFixtureName = "DatabaseEnvironmentConfigTest"; + testFixtureHome = "./TestOut/" + testFixtureName; + + Configuration.ClearDir(testFixtureHome); + } + + [Test] + public void TestConfig() + { + testName = "TestConfig"; + XmlElement xmlElem = Configuration.TestSetUp( + testFixtureName, testName); + DatabaseEnvironmentConfig envConfig = + new DatabaseEnvironmentConfig(); + Config(xmlElem, ref envConfig, true); + Confirm(xmlElem, envConfig, true); + } + + public static void Confirm(XmlElement xmlElement, + DatabaseEnvironmentConfig envConfig, bool compulsory) + { + Configuration.ConfirmBool(xmlElement, "AutoCommit", + envConfig.AutoCommit, compulsory); + Configuration.ConfirmBool(xmlElement, "CDB_ALLDB", + envConfig.CDB_ALLDB, compulsory); + Configuration.ConfirmBool(xmlElement, "Create", + envConfig.Create, compulsory); + Configuration.ConfirmStringList(xmlElement, "DataDirs", + envConfig.DataDirs, compulsory); + Configuration.ConfirmString(xmlElement, "ErrorPrefix", + envConfig.ErrorPrefix, compulsory); + Configuration.ConfirmBool(xmlElement, "ForceFlush", + envConfig.ForceFlush, compulsory); + Configuration.ConfirmBool(xmlElement, "FreeThreaded", + envConfig.FreeThreaded, compulsory); + Configuration.ConfirmBool(xmlElement, "InitRegions", + envConfig.InitRegions, compulsory); + Configuration.ConfirmString(xmlElement, + "IntermediateDirMode", + envConfig.IntermediateDirMode, compulsory); + Configuration.ConfirmBool(xmlElement, "Lockdown", + envConfig.Lockdown, compulsory); + Configuration.ConfirmUint(xmlElement, "LockTimeout", + envConfig.LockTimeout, compulsory); + Configuration.ConfirmUint(xmlElement, "MaxTransactions", + envConfig.MaxTransactions, compulsory); + Configuration.ConfirmBool(xmlElement, "NoBuffer", + envConfig.NoBuffer, compulsory); + Configuration.ConfirmBool(xmlElement, "NoLocking", + envConfig.NoLocking, compulsory); + Configuration.ConfirmBool(xmlElement, "NoMMap", + envConfig.NoMMap, compulsory); + Configuration.ConfirmBool(xmlElement, "NoLocking", + envConfig.NoLocking, compulsory); + Configuration.ConfirmBool(xmlElement, "NoPanic", + envConfig.NoPanic, compulsory); + Configuration.ConfirmBool(xmlElement, "Overwrite", + envConfig.Overwrite, compulsory); + Configuration.ConfirmBool(xmlElement, "Private", + envConfig.Private, compulsory); + Configuration.ConfirmBool(xmlElement, "Register", + envConfig.Register, compulsory); + Configuration.ConfirmBool(xmlElement, "RunFatalRecovery", + envConfig.RunFatalRecovery, compulsory); + Configuration.ConfirmBool(xmlElement, "RunRecovery", + envConfig.RunRecovery, compulsory); + Configuration.ConfirmBool(xmlElement, "SystemMemory", + envConfig.SystemMemory, compulsory); + Configuration.ConfirmString(xmlElement, "TempDir", + envConfig.TempDir, compulsory); + Configuration.ConfirmBool(xmlElement, "TimeNotGranted", + envConfig.TimeNotGranted, compulsory); + Configuration.ConfirmBool(xmlElement, "TxnNoSync", + envConfig.TxnNoSync, compulsory); + Configuration.ConfirmBool(xmlElement, "TxnNoWait", + envConfig.TxnNoWait, compulsory); + Configuration.ConfirmBool(xmlElement, "TxnSnapshot", + envConfig.TxnSnapshot, compulsory); + Configuration.ConfirmDateTime(xmlElement,"TxnTimestamp", + envConfig.TxnTimestamp, compulsory); + Configuration.ConfirmBool(xmlElement, "TxnWriteNoSync", + envConfig.TxnWriteNoSync, compulsory); + Configuration.ConfirmBool(xmlElement, "UseCDB", + envConfig.UseCDB, compulsory); + Configuration.ConfirmBool(xmlElement, "UseLocking", + envConfig.UseLocking, compulsory); + Configuration.ConfirmBool(xmlElement, "UseLogging", + envConfig.UseLogging, compulsory); + Configuration.ConfirmBool(xmlElement, "UseMPool", + envConfig.UseMPool, compulsory); + Configuration.ConfirmBool(xmlElement, "UseMVCC", + envConfig.UseMVCC, compulsory); + Configuration.ConfirmBool(xmlElement, "UseReplication", + envConfig.UseReplication, compulsory); + Configuration.ConfirmBool(xmlElement, "UseTxns", + envConfig.UseTxns, compulsory); + envConfig.Verbosity = new VerboseMessages(); + Configuration.ConfirmVerboseMessages(xmlElement, + "Verbosity", envConfig.Verbosity, compulsory); + Configuration.ConfirmBool(xmlElement, "YieldCPU", + envConfig.YieldCPU, compulsory); + } + + public static void Config(XmlElement xmlElement, + ref DatabaseEnvironmentConfig envConfig, bool compulsory) + { + uint value = new uint(); + DateTime time = new DateTime(); + + Configuration.ConfigBool(xmlElement, "AutoCommit", + ref envConfig.AutoCommit, compulsory); + Configuration.ConfigBool(xmlElement, "CDB_ALLDB", + ref envConfig.CDB_ALLDB, compulsory); + Configuration.ConfigBool(xmlElement, "Create", + ref envConfig.Create, compulsory); + Configuration.ConfigString(xmlElement, "CreationDir", + ref envConfig.CreationDir, compulsory); + Configuration.ConfigStringList(xmlElement, "DataDirs", + ref envConfig.DataDirs, compulsory); + Configuration.ConfigString(xmlElement, "ErrorPrefix", + ref envConfig.ErrorPrefix, compulsory); + Configuration.ConfigBool(xmlElement, "ForceFlush", + ref envConfig.ForceFlush, compulsory); + Configuration.ConfigBool(xmlElement, "FreeThreaded", + ref envConfig.FreeThreaded, compulsory); + Configuration.ConfigBool(xmlElement, "InitRegions", + ref envConfig.InitRegions, compulsory); + Configuration.ConfigString(xmlElement, "IntermediateDirMode", + ref envConfig.IntermediateDirMode, compulsory); + Configuration.ConfigBool(xmlElement, "Lockdown", + ref envConfig.Lockdown, compulsory); + if (Configuration.ConfigUint(xmlElement, "LockTimeout", + ref value, compulsory)) + envConfig.LockTimeout = value; + if (Configuration.ConfigUint(xmlElement, "MaxTransactions", + ref value, compulsory)) + envConfig.MaxTransactions = value; + Configuration.ConfigBool(xmlElement, "NoBuffer", + ref envConfig.NoBuffer, compulsory); + Configuration.ConfigBool(xmlElement, "NoLocking", + ref envConfig.NoLocking, compulsory); + Configuration.ConfigBool(xmlElement, "NoMMap", + ref envConfig.NoMMap, compulsory); + Configuration.ConfigBool(xmlElement, "NoLocking", + ref envConfig.NoLocking, compulsory); + Configuration.ConfigBool(xmlElement, "NoPanic", + ref envConfig.NoPanic, compulsory); + Configuration.ConfigBool(xmlElement, "Overwrite", + ref envConfig.Overwrite, compulsory); + Configuration.ConfigBool(xmlElement, "Private", + ref envConfig.Private, compulsory); + Configuration.ConfigBool(xmlElement, "Register", + ref envConfig.Register, compulsory); + Configuration.ConfigBool(xmlElement, "RunFatalRecovery", + ref envConfig.RunFatalRecovery, compulsory); + Configuration.ConfigBool(xmlElement, "RunRecovery", + ref envConfig.RunRecovery, compulsory); + Configuration.ConfigBool(xmlElement, "SystemMemory", + ref envConfig.SystemMemory, compulsory); + Configuration.ConfigString(xmlElement, "TempDir", + ref envConfig.TempDir, compulsory); + Configuration.ConfigBool(xmlElement, "TimeNotGranted", + ref envConfig.TimeNotGranted, compulsory); + Configuration.ConfigBool(xmlElement, "TxnNoSync", + ref envConfig.TxnNoSync, compulsory); + Configuration.ConfigBool(xmlElement, "TxnNoWait", + ref envConfig.TxnNoWait, compulsory); + Configuration.ConfigBool(xmlElement, "TxnSnapshot", + ref envConfig.TxnSnapshot, compulsory); + if (Configuration.ConfigDateTime(xmlElement, "TxnTimestamp", + ref time, compulsory)) + envConfig.TxnTimestamp = time; + Configuration.ConfigBool(xmlElement, "TxnWriteNoSync", + ref envConfig.TxnWriteNoSync, compulsory); + Configuration.ConfigBool(xmlElement, "UseLocking", + ref envConfig.UseLocking, compulsory); + Configuration.ConfigBool(xmlElement, "UseLogging", + ref envConfig.UseLogging, compulsory); + Configuration.ConfigBool(xmlElement, "UseMPool", + ref envConfig.UseMPool, compulsory); + Configuration.ConfigBool(xmlElement, "UseMVCC", + ref envConfig.UseMVCC, compulsory); + Configuration.ConfigBool(xmlElement, "UseReplication", + ref envConfig.UseReplication, compulsory); + Configuration.ConfigBool(xmlElement, "UseTxns", + ref envConfig.UseTxns, compulsory); + envConfig.Verbosity = new VerboseMessages(); + Configuration.ConfigVerboseMessages(xmlElement, + "Verbosity", ref envConfig.Verbosity, compulsory); + Configuration.ConfigBool(xmlElement, "YieldCPU", + ref envConfig.YieldCPU, compulsory); + } + + [Test] + public void TestConfigLock() + { + testName = "TestConfigLock"; + XmlElement xmlElem = Configuration.TestSetUp( + testFixtureName, testName); + DatabaseEnvironmentConfig cfg = + new DatabaseEnvironmentConfig(); + cfg.LockSystemCfg = new LockingConfig(); + LockingConfigTest.Config(xmlElem, + ref cfg.LockSystemCfg, true); + LockingConfigTest.Confirm(xmlElem, + cfg.LockSystemCfg, true); + } + + [Test] + public void TestConfigLog() + { + testName = "TestConfigLog"; + 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); + } + + [Test] + 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); + } + + [Test] + 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); + } + + [Test] + public void TestSetEncryption() + { + testName = "TestSetEncryption"; + testHome = testFixtureHome + "/" + testName; + + Configuration.ClearDir(testHome); + DatabaseEnvironmentConfig envConfig = + new DatabaseEnvironmentConfig(); + envConfig.Create = true; + envConfig.SetEncryption("key", EncryptionAlgorithm.AES); + Assert.AreEqual("key", envConfig.EncryptionPassword); + Assert.AreEqual(EncryptionAlgorithm.AES, envConfig.EncryptAlgorithm); + DatabaseEnvironment env = DatabaseEnvironment.Open( + testHome, envConfig); + Assert.AreEqual(EncryptionAlgorithm.AES, env.EncryptAlgorithm); + env.Close(); + } + + } +} + |