public void SystemNamespacesCollection_should_return_the_system_namespaces_collection() { var subject = new DatabaseNamespace("test"); var commandCollection = subject.SystemNamespacesCollection; commandCollection.FullName.Should().Be("test.system.namespaces"); }
// static constructor static DriverTestConfiguration() { var connectionString = CoreTestConfiguration.ConnectionString.ToString(); var mongoUrl = new MongoUrl(connectionString); var clientSettings = MongoClientSettings.FromUrl(mongoUrl); if (!clientSettings.WriteConcern.IsAcknowledged) { clientSettings.WriteConcern = WriteConcern.Acknowledged; // ensure WriteConcern is enabled regardless of what the URL says } var serverSelectionTimeoutString = Environment.GetEnvironmentVariable("MONGO_SERVER_SELECTION_TIMEOUT_MS"); if (serverSelectionTimeoutString == null) { serverSelectionTimeoutString = "10000"; } clientSettings.ServerSelectionTimeout = TimeSpan.FromMilliseconds(int.Parse(serverSelectionTimeoutString)); clientSettings.ClusterConfigurator = cb => { var traceSource = new TraceSource("mongodb-tests", SourceLevels.Information); traceSource.Listeners.Clear(); // remove the default listener var listener = new ConsoleTraceListener(); traceSource.Listeners.Add(listener); cb.TraceWith(traceSource); }; __client = new MongoClient(clientSettings); __databaseNamespace = mongoUrl.DatabaseName == null ? CoreTestConfiguration.DatabaseNamespace : new DatabaseNamespace(mongoUrl.DatabaseName); __collectionNamespace = new CollectionNamespace(__databaseNamespace, "testcollection"); }
public void CommandCollection_should_return_the_command_collection() { var subject = new DatabaseNamespace("test"); var commandCollection = subject.CommandCollection; commandCollection.FullName.Should().Be("test.$cmd"); }
public override void TestFixtureSetUp() { base.TestFixtureSetUp(); // override this database and collection using special ones for this... _databaseNamespace = new DatabaseNamespace("DatabaseExistsOperationTests"); _collectionNamespace = new CollectionNamespace(_databaseNamespace, "DatabaseExistsOperationTests"); }
/// <summary> /// Initializes a new instance of the <see cref="CommandStartedEvent" /> class. /// </summary> /// <param name="commandName">Name of the command.</param> /// <param name="command">The command.</param> /// <param name="databaseNamespace">The database namespace.</param> /// <param name="operationId">The operation identifier.</param> /// <param name="requestId">The request identifier.</param> /// <param name="connectionId">The connection identifier.</param> public CommandStartedEvent(string commandName, BsonDocument command, DatabaseNamespace databaseNamespace, long? operationId, int requestId, ConnectionId connectionId) { _commandName = Ensure.IsNotNullOrEmpty(commandName, "commandName"); _command = Ensure.IsNotNull(command, "command"); _databaseNamespace = Ensure.IsNotNull(databaseNamespace, "databaseNamespace"); _connectionId = Ensure.IsNotNull(connectionId, "connectionId"); _operationId = operationId; _requestId = requestId; }
public void CollectionNamespace_get_should_return_expected_result( [Values("a", "b")] string collectionName) { var databaseNamespace = new DatabaseNamespace("test"); var collectionNamespace = new CollectionNamespace(databaseNamespace, collectionName); var subject = new FindOpcodeOperation<BsonDocument>(collectionNamespace, BsonDocumentSerializer.Instance, _messageEncoderSettings); var result = subject.CollectionNamespace; result.Should().Be(collectionNamespace); }
// static constructor static DriverTestConfiguration() { var connectionString = CoreTestConfiguration.ConnectionString.ToString(); var mongoUrl = new MongoUrl(connectionString); var clientSettings = MongoClientSettings.FromUrl(mongoUrl); if (!clientSettings.WriteConcern.IsAcknowledged) { clientSettings.WriteConcern = WriteConcern.Acknowledged; // ensure WriteConcern is enabled regardless of what the URL says } clientSettings.ServerSelectionTimeout = TimeSpan.FromMilliseconds(500); __client = new MongoClient(clientSettings); __databaseNamespace = mongoUrl.DatabaseName == null ? CoreTestConfiguration.DatabaseNamespace : new DatabaseNamespace(mongoUrl.DatabaseName); __collectionNamespace = new CollectionNamespace(__databaseNamespace, "testcollection"); }
// static constructor static DriverTestConfiguration() { var connectionString = CoreTestConfiguration.ConnectionString.ToString(); var clientSettings = MongoClientSettings.FromUrl(new MongoUrl(connectionString)); var serverSelectionTimeoutString = Environment.GetEnvironmentVariable("MONGO_SERVER_SELECTION_TIMEOUT_MS"); if (serverSelectionTimeoutString == null) { serverSelectionTimeoutString = "30000"; } clientSettings.ServerSelectionTimeout = TimeSpan.FromMilliseconds(int.Parse(serverSelectionTimeoutString)); clientSettings.ClusterConfigurator = cb => CoreTestConfiguration.ConfigureLogging(cb); __client = new Lazy<MongoClient>(() => new MongoClient(clientSettings), true); __databaseNamespace = CoreTestConfiguration.DatabaseNamespace; __collectionNamespace = new CollectionNamespace(__databaseNamespace, "testcollection"); }
public void constructor_should_initialize_instance() { var channelSource = Substitute.For<IChannelSource>(); var databaseNamespace = new DatabaseNamespace("test"); var collectionNamespace = new CollectionNamespace(databaseNamespace, "test"); var query = new BsonDocument("x", 1); var firstBatch = new BsonDocument[] { new BsonDocument("y", 2) }; var cursorId = 1L; var batchSize = 2; var limit = 3; var serializer = BsonDocumentSerializer.Instance; var messageEncoderSettings = new MessageEncoderSettings(); var maxTime = TimeSpan.FromSeconds(1); var result = new AsyncCursor<BsonDocument>( channelSource, collectionNamespace, query, firstBatch, cursorId, batchSize, limit, serializer, messageEncoderSettings, maxTime); var reflector = new Reflector(result); reflector.BatchSize.Should().Be(batchSize); reflector.ChannelSource.Should().Be(channelSource); reflector.CollectionNamespace.Should().Be(collectionNamespace); reflector.Count.Should().Be(firstBatch.Length); reflector.CurrentBatch.Should().BeNull(); reflector.CursorId.Should().Be(cursorId); reflector.Disposed.Should().BeFalse(); reflector.FirstBatch.Should().Equal(firstBatch); reflector.Limit.Should().Be(limit); reflector.MaxTime.Should().Be(maxTime); reflector.MessageEncoderSettings.Should().BeEquivalentTo(messageEncoderSettings); reflector.Query.Should().Be(query); reflector.Serializer.Should().Be(serializer); }
// constructors public WriteCommandOperation(DatabaseNamespace databaseNamespace, BsonDocument command, MessageEncoderSettings messageEncoderSettings) : base(databaseNamespace, command, BsonDocumentSerializer.Instance, messageEncoderSettings) { }
public OperationTestBase() { _databaseNamespace = CoreTestConfiguration.DatabaseNamespace; _collectionNamespace = new CollectionNamespace(_databaseNamespace, GetType().Name); _messageEncoderSettings = CoreTestConfiguration.MessageEncoderSettings; }
public virtual void TestFixtureSetUp() { _databaseNamespace = SuiteConfiguration.DatabaseNamespace; _collectionNamespace = new CollectionNamespace(_databaseNamespace, GetType().Name); _messageEncoderSettings = SuiteConfiguration.MessageEncoderSettings; }
public DatabaseExistsOperationTests() { // override this database and collection using special ones for this... _databaseNamespace = new DatabaseNamespace("DatabaseExistsOperationTests"); _collectionNamespace = new CollectionNamespace(_databaseNamespace, "DatabaseExistsOperationTests"); }
public void OneTimeSetUp() { _databaseNamespace = CoreTestConfiguration.GetDatabaseNamespaceForTestFixture(); _messageEncoderSettings = CoreTestConfiguration.MessageEncoderSettings; }
public void Setup() { _databaseNamespace = CoreTestConfiguration.DatabaseNamespace; _messageEncoderSettings = CoreTestConfiguration.MessageEncoderSettings; }
// public methods public CurrentOpUsingFindOperationTests() { _adminDatabaseNamespace = new DatabaseNamespace("admin"); _messageEncoderSettings = CoreTestConfiguration.MessageEncoderSettings; }
public async Task ExecuteAsync_should_return_the_expected_result_when_the_database_does_not_exist() { var databaseNamespace = new DatabaseNamespace(_databaseNamespace.DatabaseName + "-does-not-exist"); var subject = new ListCollectionsOperation(databaseNamespace, _messageEncoderSettings); var result = await ExecuteOperationAsync(subject); var list = await result.ToListAsync(); list.Should().HaveCount(0); }
public virtual void OneTimeSetUp() { _adminDatabaseNamespace = new DatabaseNamespace("admin"); _messageEncoderSettings = CoreTestConfiguration.MessageEncoderSettings; }
// constructors public DropDatabaseOperationTests() { _databaseNamespace = CoreTestConfiguration.GetDatabaseNamespaceForTestClass(typeof(DropDatabaseOperationTests)); _messageEncoderSettings = CoreTestConfiguration.MessageEncoderSettings; }
public void Execute_should_return_the_expected_result_when_the_database_does_not_exist( [Values(false, true)] bool async) { RequireServer.Where(clusterTypes: ClusterTypes.StandaloneOrReplicaSet, storageEngines: "mmapv1"); var databaseNamespace = new DatabaseNamespace(_databaseNamespace.DatabaseName + "-not"); var subject = new ListCollectionsUsingQueryOperation(databaseNamespace, _messageEncoderSettings); var result = ExecuteOperation(subject, async); var list = ReadCursorToEnd(result, async); list.Should().HaveCount(0); }
public void TestFixtureSetUp() { _databaseNamespace = CoreTestConfiguration.GetDatabaseNamespaceForTestFixture(); _messageEncoderSettings = CoreTestConfiguration.MessageEncoderSettings; }
// static constructor static DriverTestConfiguration() { __client = new Lazy<MongoClient>(() => new MongoClient(CoreTestConfiguration.Cluster), true); __databaseNamespace = CoreTestConfiguration.DatabaseNamespace; __collectionNamespace = new CollectionNamespace(__databaseNamespace, "testcollection"); }
public void Equals_should_be_correct(string a, string b, bool equals) { var subject = new DatabaseNamespace(a); var compared = new DatabaseNamespace(b); subject.Equals(compared).Should().Be(equals); }
public EvalOperationTests() { _adminDatabaseNamespace = DatabaseNamespace.Admin; _messageEncoderSettings = CoreTestConfiguration.MessageEncoderSettings; }
// constructors /// <summary> /// Initializes a new instance of the <see cref="DatabaseExistsOperation"/> class. /// </summary> /// <param name="databaseNamespace">The database namespace.</param> /// <param name="messageEncoderSettings">The message encoder settings.</param> public DatabaseExistsOperation(DatabaseNamespace databaseNamespace, MessageEncoderSettings messageEncoderSettings) { _databaseNamespace = Ensure.IsNotNull(databaseNamespace, "databaseNamespace"); _messageEncoderSettings = Ensure.IsNotNull(messageEncoderSettings, "messageEncoderSettings"); }
public void TestFixtureSetUp() { _databaseNamespace = SuiteConfiguration.GetDatabaseNamespaceForTestFixture(); _messageEncoderSettings = SuiteConfiguration.MessageEncoderSettings; }
// constructors public CurrentOpOperation(DatabaseNamespace databaseNamespace, MessageEncoderSettings messageEncoderSettings) { _databaseNamespace = Ensure.IsNotNull(databaseNamespace, nameof(databaseNamespace)); _messageEncoderSettings = messageEncoderSettings; }
public Profiler(OperationTestBase testBase, DatabaseNamespace databaseNamespace) { _testBase = testBase; _databaseNamespace = databaseNamespace; }
public virtual void TestFixtureSetUp() { _adminDatabaseNamespace = new DatabaseNamespace("admin"); _messageEncoderSettings = CoreTestConfiguration.MessageEncoderSettings; }
public FakeMongoDatabase(IMongoClient client, string name, MongoDatabaseSettings settings) { Client = client; DatabaseNamespace = new DatabaseNamespace(name); Settings = settings ?? new MongoDatabaseSettings(); }
private static string TruncateCollectionNameIfTooLong(DatabaseNamespace databaseNamespace, string collectionName) { var fullNameLength = databaseNamespace.DatabaseName.Length + 1 + collectionName.Length; if (fullNameLength < 123) { return collectionName; } else { var maxCollectionNameLength = 123 - (databaseNamespace.DatabaseName.Length + 1); return collectionName.Substring(0, maxCollectionNameLength); } }
// public methods public CurrentOpUsingCommandOperationTests() { _adminDatabaseNamespace = new DatabaseNamespace("admin"); _messageEncoderSettings = CoreTestConfiguration.MessageEncoderSettings; }
public EvalOperationTests() { _adminDatabaseNamespace = DatabaseNamespace.Admin; }
public void Execute_should_return_the_expected_result_when_the_database_does_not_exist( [Values(false, true)] bool async) { var databaseNamespace = new DatabaseNamespace(_databaseNamespace.DatabaseName + "-not"); var subject = new ListCollectionsUsingQueryOperation(databaseNamespace, _messageEncoderSettings); var result = ExecuteOperation(subject, async); var list = ReadCursorToEnd(result, async); list.Should().HaveCount(0); }
// constructors /// <summary> /// Initializes a new instance of the <see cref="WriteCommandOperation{TCommandResult}"/> class. /// </summary> /// <param name="databaseNamespace">The database namespace.</param> /// <param name="command">The command.</param> /// <param name="resultSerializer">The result serializer.</param> /// <param name="messageEncoderSettings">The message encoder settings.</param> public WriteCommandOperation(DatabaseNamespace databaseNamespace, BsonDocument command, IBsonSerializer <TCommandResult> resultSerializer, MessageEncoderSettings messageEncoderSettings) : base(databaseNamespace, command, resultSerializer, messageEncoderSettings) { }
// static constructor static DriverConfiguration() { __client = new Lazy<MongoClient>(() => new MongoClient(GetClientSettings(string.Empty)), true); __databaseNamespace = CoreConfiguration.DatabaseNamespace; __collectionNamespace = new CollectionNamespace(__databaseNamespace, "testcollection"); }
// static constructor static DriverTestConfiguration() { __client = new Lazy <MongoClient>(() => new MongoClient(CoreTestConfiguration.Cluster), true); __databaseNamespace = CoreTestConfiguration.DatabaseNamespace; __collectionNamespace = new CollectionNamespace(__databaseNamespace, "testcollection"); }
public void Setup() { _databaseNamespace = SuiteConfiguration.DatabaseNamespace; _messageEncoderSettings = SuiteConfiguration.MessageEncoderSettings; }
public void ToString_should_return_the_name() { var subject = new DatabaseNamespace("test"); subject.ToString().Should().Be("test"); }
// constructors /// <summary> /// Initializes a new instance of the <see cref="AggregateOperation{TResult}"/> class. /// </summary> /// <param name="databaseNamespace">The database namespace.</param> /// <param name="pipeline">The pipeline.</param> /// <param name="resultSerializer">The result value serializer.</param> /// <param name="messageEncoderSettings">The message encoder settings.</param> public AggregateOperation(DatabaseNamespace databaseNamespace, IEnumerable <BsonDocument> pipeline, IBsonSerializer <TResult> resultSerializer, MessageEncoderSettings messageEncoderSettings) : this(pipeline, resultSerializer, messageEncoderSettings) { _databaseNamespace = Ensure.IsNotNull(databaseNamespace, nameof(databaseNamespace)); }
public void DatabaseName_should_report_the_provided_database_name() { var subject = new DatabaseNamespace("test"); subject.DatabaseName.Should().Be("test"); }
public void GetMore_should_use_same_session( [Values(false, true)] bool async) { var mockChannelSource = new Mock <IChannelSource>(); var channelSource = mockChannelSource.Object; var mockChannel = new Mock <IChannelHandle>(); var channel = mockChannel.Object; var mockSession = new Mock <ICoreSessionHandle>(); var session = mockSession.Object; var databaseNamespace = new DatabaseNamespace("database"); var collectionNamespace = new CollectionNamespace(databaseNamespace, "collection"); var cursorId = 1; var subject = CreateSubject(collectionNamespace: collectionNamespace, cursorId: cursorId, channelSource: Optional.Create(channelSource)); var cancellationToken = new CancellationTokenSource().Token; var connectionDescription = CreateConnectionDescriptionSupportingSession(); mockChannelSource.SetupGet(m => m.Session).Returns(session); mockChannel.SetupGet(m => m.ConnectionDescription).Returns(connectionDescription); var nextBatchBytes = new byte[] { 5, 0, 0, 0, 0 }; var nextBatchSlice = new ByteArrayBuffer(nextBatchBytes, isReadOnly: true); var secondBatch = new BsonDocument { { "cursor", new BsonDocument { { "id", 0 }, { "nextBatch", new RawBsonArray(nextBatchSlice) } } } }; subject.MoveNext(cancellationToken); // skip empty first batch var sameSessionWasUsed = false; if (async) { mockChannelSource.Setup(m => m.GetChannelAsync(cancellationToken)).Returns(Task.FromResult(channel)); mockChannel .Setup(m => m.CommandAsync( session, null, databaseNamespace, It.IsAny <BsonDocument>(), NoOpElementNameValidator.Instance, null, It.IsAny <Func <CommandResponseHandling> >(), It.IsAny <IBsonSerializer <BsonDocument> >(), It.IsAny <MessageEncoderSettings>(), cancellationToken)) .Callback(() => sameSessionWasUsed = true) .Returns(Task.FromResult(secondBatch)); subject.MoveNextAsync(cancellationToken).GetAwaiter().GetResult(); } else { mockChannelSource.Setup(m => m.GetChannel(cancellationToken)).Returns(channel); mockChannel .Setup(m => m.Command( session, null, databaseNamespace, It.IsAny <BsonDocument>(), NoOpElementNameValidator.Instance, null, It.IsAny <Func <CommandResponseHandling> >(), It.IsAny <IBsonSerializer <BsonDocument> >(), It.IsAny <MessageEncoderSettings>(), cancellationToken)) .Callback(() => sameSessionWasUsed = true) .Returns(secondBatch); subject.MoveNext(cancellationToken); } sameSessionWasUsed.Should().BeTrue(); }
/// <summary> /// Initializes a new instance of the <see cref="CommandStartedEvent" /> class. /// </summary> /// <param name="commandName">Name of the command.</param> /// <param name="command">The command.</param> /// <param name="databaseNamespace">The database namespace.</param> /// <param name="operationId">The operation identifier.</param> /// <param name="requestId">The request identifier.</param> /// <param name="connectionId">The connection identifier.</param> public CommandStartedEvent(string commandName, BsonDocument command, DatabaseNamespace databaseNamespace, long?operationId, int requestId, ConnectionId connectionId) : this(commandName, command, databaseNamespace, operationId, requestId, connectionId, serviceId : null) { }