示例#1
0
        public void constructor_should_initialize_subject()
        {
            var subject = new DropDatabaseOperation(_databaseNamespace, _messageEncoderSettings);

            subject.DatabaseNamespace.Should().BeSameAs(_databaseNamespace);
            subject.MessageEncoderSettings.Should().BeSameAs(_messageEncoderSettings);
        }
示例#2
0
        public void MessageEncoderSettings_get_should_return_expected_result()
        {
            var subject = new DropDatabaseOperation(_databaseNamespace, _messageEncoderSettings);

            var result = subject.MessageEncoderSettings;

            result.Should().BeSameAs(_messageEncoderSettings);
        }
        public void ExecuteAsync_should_throw_when_binding_is_null()
        {
            var subject = new DropDatabaseOperation(_databaseNamespace, _messageEncoderSettings);

            Func <Task> action = () => subject.ExecuteAsync(null, Timeout.InfiniteTimeSpan, CancellationToken.None);

            action.ShouldThrow <ArgumentNullException>().And.ParamName.Should().Be("binding");
        }
        public void Execute_should_send_session_id_when_supported(
            [Values(false, true)] bool async)
        {
            RequireServer.Check();
            EnsureDatabaseExists();
            var subject = new DropDatabaseOperation(_databaseNamespace, _messageEncoderSettings);

            VerifySessionIdWasSentWhenSupported(subject, "dropDatabase", async);
        }
示例#5
0
        public void Execute_should_throw_when_binding_is_null(
            [Values(false, true)]
            bool async)
        {
            var subject = new DropDatabaseOperation(_databaseNamespace, _messageEncoderSettings);

            Action action = () => ExecuteOperation(subject, null, async);

            action.ShouldThrow <ArgumentNullException>().And.ParamName.Should().Be("binding");
        }
示例#6
0
        public void CreateCommand_should_return_expected_result()
        {
            var subject        = new DropDatabaseOperation(_databaseNamespace, _messageEncoderSettings);
            var expectedResult = new BsonDocument
            {
                { "dropDatabase", 1 }
            };

            var result = subject.CreateCommand();

            result.Should().Be(expectedResult);
        }
        public void WriteConcern_get_and_set_should_work(
            [Values(null, 1, 2)]
            int?w)
        {
            var subject = new DropDatabaseOperation(_databaseNamespace, _messageEncoderSettings);
            var value   = w.HasValue ? new WriteConcern(w.Value) : null;

            subject.WriteConcern = value;
            var result = subject.WriteConcern;

            result.Should().BeSameAs(value);
        }
示例#8
0
 public virtual void TestFixtureTearDown()
 {
     try
     {
         var dropDatabaseOperation = new DropDatabaseOperation(_databaseNamespace, _messageEncoderSettings);
         ExecuteOperation(dropDatabaseOperation);
     }
     catch
     {
         // ignore exceptions
     }
 }
        public async Task ExecuteAsync_should_return_expected_result()
        {
            using (var binding = SuiteConfiguration.GetReadWriteBinding())
            {
                EnsureDatabaseExists(binding);
                var subject = new DropDatabaseOperation(_databaseNamespace, _messageEncoderSettings);

                var result = await subject.ExecuteAsync(binding, Timeout.InfiniteTimeSpan, CancellationToken.None);

                result["ok"].ToBoolean().Should().BeTrue();
                result["dropped"].ToString().Should().Be(_databaseNamespace.DatabaseName);
            }
        }
示例#10
0
        public void Execute_should_return_expected_result(
            [Values(false, true)]
            bool async)
        {
            using (var binding = CoreTestConfiguration.GetReadWriteBinding())
            {
                EnsureDatabaseExists(binding);
                var subject = new DropDatabaseOperation(_databaseNamespace, _messageEncoderSettings);

                var result = ExecuteOperation(subject, binding, async);

                result["ok"].ToBoolean().Should().BeTrue();
            }
        }
        public void Execute_should_return_expected_result(
            [Values(false, true)]
            bool async)
        {
            RequireServer.Check();
            EnsureDatabaseExists();

            using (var binding = CreateReadWriteBinding())
            {
                var subject = new DropDatabaseOperation(_databaseNamespace, _messageEncoderSettings);

                var result = ExecuteOperation(subject, binding, async);

                result["ok"].ToBoolean().Should().BeTrue();
            }
        }
        public void Execute_should_throw_when_a_write_concern_error_occurs(
            [Values(false, true)]
            bool async)
        {
            RequireServer.Check().Supports(Feature.CommandsThatWriteAcceptWriteConcern).ClusterType(ClusterType.ReplicaSet);
            var subject = new DropDatabaseOperation(_databaseNamespace, _messageEncoderSettings)
            {
                WriteConcern = new WriteConcern(9)
            };

            var exception = Record.Exception(() =>
            {
                using (var binding = CreateReadWriteBinding())
                {
                    ExecuteOperation(subject, binding, async);
                }
            });

            exception.Should().BeOfType <MongoWriteConcernException>();
        }
        public void CreateCommand_should_return_expected_result_when_WriteConcern_is_set(
            [Values(null, 1, 2)]
            int?w)
        {
            var writeConcern = w.HasValue ? new WriteConcern(w.Value) : null;
            var subject      = new DropDatabaseOperation(_databaseNamespace, _messageEncoderSettings)
            {
                WriteConcern = writeConcern
            };

            var result = subject.CreateCommand(Feature.CommandsThatWriteAcceptWriteConcern.FirstSupportedVersion);

            var expectedResult = new BsonDocument
            {
                { "dropDatabase", 1 },
                { "writeConcern", () => writeConcern.ToBsonDocument(), writeConcern != null }
            };

            result.Should().Be(expectedResult);
        }
示例#14
0
        protected Task DropDatabaseAsync()
        {
            var dropDatabaseOperation = new DropDatabaseOperation(_databaseNamespace, _messageEncoderSettings);

            return(ExecuteOperationAsync(dropDatabaseOperation));
        }
示例#15
0
        public Task DropDatabaseAsync(IWriteBinding binding)
        {
            var operation = new DropDatabaseOperation(_collectionNamespace.DatabaseNamespace, _messageEncoderSettings);

            return(operation.ExecuteAsync(binding, CancellationToken.None));
        }
示例#16
0
        protected void DropDatabase()
        {
            var dropDatabaseOperation = new DropDatabaseOperation(_databaseNamespace, _messageEncoderSettings);

            ExecuteOperation(dropDatabaseOperation);
        }
        public void DropDatabase(bool async)
        {
            var operation = new DropDatabaseOperation(_collectionNamespace.DatabaseNamespace, _messageEncoderSettings);

            ExecuteOperation(operation, async);
        }