Ejemplo n.º 1
0
        public void TestSlaveOk()
        {
#pragma warning disable 618
            var settings = new MongoDatabaseSettings(_server, "database");
            Assert.AreEqual(false, settings.SlaveOk);

            var slaveOk = true;
            settings.SlaveOk = slaveOk;
            Assert.AreEqual(slaveOk, settings.SlaveOk);

            settings.Freeze();
            Assert.AreEqual(slaveOk, settings.SlaveOk);
            Assert.Throws <InvalidOperationException>(() => { settings.SlaveOk = slaveOk; });
#pragma warning restore
        }
Ejemplo n.º 2
0
        public void TestWriteConcern()
        {
            var settings = new MongoDatabaseSettings(_server, "database");

            Assert.AreEqual(WriteConcern.Acknowledged, settings.WriteConcern);

            var writeConcern = WriteConcern.W2;

            settings.WriteConcern = writeConcern;
            Assert.AreEqual(writeConcern, settings.WriteConcern);

            settings.Freeze();
            Assert.AreEqual(writeConcern, settings.WriteConcern);
            Assert.Throws <InvalidOperationException>(() => { settings.WriteConcern = writeConcern; });
        }
Ejemplo n.º 3
0
        public void TestSafeMode()
        {
#pragma warning disable 618
            var settings = new MongoDatabaseSettings(_server, "database");
            Assert.AreEqual(SafeMode.True, settings.SafeMode);

            var safeMode = SafeMode.W2;
            settings.SafeMode = safeMode;
            Assert.AreEqual(safeMode, settings.SafeMode);

            settings.Freeze();
            Assert.AreEqual(safeMode, settings.SafeMode);
            Assert.Throws <InvalidOperationException>(() => { settings.SafeMode = safeMode; });
#pragma warning restore
        }
Ejemplo n.º 4
0
        public void TestReadPreference()
        {
            var settings = new MongoDatabaseSettings(_server, "database");

            Assert.AreEqual(ReadPreference.Primary, settings.ReadPreference);

            var readPreference = ReadPreference.Secondary;

            settings.ReadPreference = readPreference;
            Assert.AreEqual(readPreference, settings.ReadPreference);

            settings.Freeze();
            Assert.AreEqual(readPreference, settings.ReadPreference);
            Assert.Throws <InvalidOperationException>(() => { settings.ReadPreference = readPreference; });
        }
Ejemplo n.º 5
0
        public void TestGuidRepresentation()
        {
            var settings = new MongoDatabaseSettings(_server, "database");

            Assert.AreEqual(MongoDefaults.GuidRepresentation, settings.GuidRepresentation);

            var guidRepresentation = GuidRepresentation.PythonLegacy;

            settings.GuidRepresentation = guidRepresentation;
            Assert.AreEqual(guidRepresentation, settings.GuidRepresentation);

            settings.Freeze();
            Assert.AreEqual(guidRepresentation, settings.GuidRepresentation);
            Assert.Throws <InvalidOperationException>(() => { settings.GuidRepresentation = guidRepresentation; });
        }
Ejemplo n.º 6
0
        public void TestCredentials()
        {
            var settings = new MongoDatabaseSettings(_server, "database");

            Assert.AreEqual(null, settings.Credentials);

            var credentials = new MongoCredentials("username", "password");

            settings.Credentials = credentials;
            Assert.AreEqual(credentials, settings.Credentials);

            settings.Freeze();
            Assert.AreEqual(credentials, settings.Credentials);
            Assert.Throws <InvalidOperationException>(() => { settings.Credentials = credentials; });
        }
Ejemplo n.º 7
0
        public void TestOperationTimeout()
        {
            var settings = new MongoDatabaseSettings();

            Assert.AreEqual(default(TimeSpan), settings.OperationTimeout);

            var operationTimeout = new TimeSpan(1, 2, 3);

            settings.OperationTimeout = operationTimeout;
            Assert.AreEqual(operationTimeout, settings.OperationTimeout);

            settings.Freeze();
            Assert.AreEqual(operationTimeout, settings.OperationTimeout);
            Assert.Throws <InvalidOperationException>(() => { settings.OperationTimeout = operationTimeout; });
        }
Ejemplo n.º 8
0
        public void TestFreeze()
        {
            var settings = new MongoDatabaseSettings
            {
                WriteConcern = new WriteConcern()
            };

            Assert.False(settings.IsFrozen);
            var hashCode             = settings.GetHashCode();
            var stringRepresentation = settings.ToString();

            settings.Freeze();
            Assert.True(settings.IsFrozen);
            Assert.Equal(hashCode, settings.GetHashCode());
            Assert.Equal(stringRepresentation, settings.ToString());
        }
Ejemplo n.º 9
0
        public void TestFeeze()
        {
            var settings = new MongoDatabaseSettings
            {
                ReadPreference = new ReadPreference(),
                WriteConcern   = new WriteConcern()
            };

            Assert.IsFalse(settings.IsFrozen);
            Assert.IsFalse(settings.ReadPreference.IsFrozen);
            Assert.IsFalse(settings.WriteConcern.IsFrozen);
            var hashCode             = settings.GetHashCode();
            var stringRepresentation = settings.ToString();

            settings.Freeze();
            Assert.IsTrue(settings.IsFrozen);
            Assert.IsTrue(settings.ReadPreference.IsFrozen);
            Assert.IsTrue(settings.WriteConcern.IsFrozen);
            Assert.AreEqual(hashCode, settings.GetHashCode());
            Assert.AreEqual(stringRepresentation, settings.ToString());
        }
        public void TestEquals()
        {
            var settings = new MongoDatabaseSettings();
            var clone    = settings.Clone();

            Assert.IsTrue(clone.Equals(settings));

            settings.Freeze();
            clone.Freeze();
            Assert.IsTrue(clone.Equals(settings));

            clone = settings.Clone();
            clone.GuidRepresentation = GuidRepresentation.PythonLegacy;
            Assert.IsFalse(clone.Equals(settings));

            clone = settings.Clone();
            clone.ReadPreference = ReadPreference.Secondary;
            Assert.IsFalse(clone.Equals(settings));

            clone = settings.Clone();
            clone.WriteConcern = WriteConcern.W2;
            Assert.IsFalse(clone.Equals(settings));
        }
        public void TestEquals()
        {
            var settings = new MongoDatabaseSettings();
            var clone    = settings.Clone();

            Assert.IsTrue(clone.Equals(settings));

            settings.Freeze();
            clone.Freeze();
            Assert.IsTrue(clone.Equals(settings));

            clone             = settings.Clone();
            clone.Credentials = new MongoCredentials("username", "password");
            Assert.IsFalse(clone.Equals(settings));

            clone = settings.Clone();
            clone.GuidRepresentation = GuidRepresentation.PythonLegacy;
            Assert.IsFalse(clone.Equals(settings));

            clone = settings.Clone();
            clone.ReadPreference = ReadPreference.Secondary;
            Assert.IsFalse(clone.Equals(settings));

#pragma warning disable 618
            clone          = settings.Clone();
            clone.SafeMode = SafeMode.W2;
            Assert.IsFalse(clone.Equals(settings));

            clone         = settings.Clone();
            clone.SlaveOk = !settings.SlaveOk;
            Assert.IsFalse(clone.Equals(settings));
#pragma warning restore

            clone = settings.Clone();
            clone.WriteConcern = WriteConcern.W2;
            Assert.IsFalse(clone.Equals(settings));
        }