public IClientSessionHandle StartImplicitSession(CancellationToken cancellationToken) { var options = new ClientSessionOptions(); var coreServerSession = new CoreServerSession(); var coreSession = new CoreSession(coreServerSession, options.ToCore(isImplicit: true)); var coreSessionHandle = new CoreSessionHandle(coreSession); return(new ClientSessionHandle(_client, options, coreSessionHandle)); }
private ClientSessionHandle CreateSubject( IMongoClient client = null, ClientSessionOptions options = null, ICoreSessionHandle coreSession = null) { client = client ?? Mock.Of <IMongoClient>(); options = options ?? new ClientSessionOptions(); coreSession = coreSession ?? CreateCoreSession(options: options.ToCore()); return(new ClientSessionHandle(client, options, coreSession)); }
// private methods private IClientSessionHandle CreateClientSession() { var client = new Mock <IMongoClient>().Object; var options = new ClientSessionOptions(); var coreServerSession = new CoreServerSession(); var coreSession = new CoreSession(coreServerSession, options.ToCore()); var coreSessionHandle = new CoreSessionHandle(coreSession); return(new ClientSessionHandle(client, options, coreSessionHandle)); }
public IClientSessionHandle StartImplicitSession(CancellationToken cancellationToken) { var cluster = Mock.Of <ICluster>(); var options = new ClientSessionOptions(); var coreServerSession = new CoreServerSession(); #pragma warning disable CS0618 // Type or member is obsolete var coreSession = new CoreSession(cluster, coreServerSession, options.ToCore(isImplicit: true)); #pragma warning restore CS0618 // Type or member is obsolete var coreSessionHandle = new CoreSessionHandle(coreSession); return(new ClientSessionHandle(_client, options, coreSessionHandle)); }
// private methods private IClientSessionHandle CreateClientSession() { var client = new Mock <IMongoClient>().Object; var options = new ClientSessionOptions(); var cluster = Mock.Of <ICluster>(); var coreServerSession = new CoreServerSession(); #pragma warning disable CS0618 // Type or member is obsolete var coreSession = new CoreSession(cluster, coreServerSession, options.ToCore()); #pragma warning restore CS0618 // Type or member is obsolete var coreSessionHandle = new CoreSessionHandle(coreSession); return(new ClientSessionHandle(client, options, coreSessionHandle)); }
public void Fork_should_return_expected_result() { var coreServerSession = new CoreServerSession(); var options = new ClientSessionOptions(); var coreSession = new CoreSession(coreServerSession, options.ToCore()); var coreSessionHandle = new CoreSessionHandle(coreSession); var subject = CreateSubject(coreSession: coreSessionHandle); coreSessionHandle.ReferenceCount().Should().Be(1); var result = subject.Fork(); result.Client.Should().BeSameAs(subject.Client); result.Options.Should().BeSameAs(subject.Options); result.WrappedCoreSession.Should().NotBeSameAs(subject.WrappedCoreSession); var coreSessionHandle1 = (CoreSessionHandle)subject.WrappedCoreSession; var coreSessionHandle2 = (CoreSessionHandle)result.WrappedCoreSession; coreSessionHandle2.Wrapped.Should().BeSameAs(coreSessionHandle1.Wrapped); coreSessionHandle.ReferenceCount().Should().Be(2); }
public void Fork_should_return_expected_result() { var cluster = Mock.Of <ICluster>(); var coreServerSession = new CoreServerSession(); var options = new ClientSessionOptions(); #pragma warning disable CS0618 // Type or member is obsolete var coreSession = new CoreSession(cluster, coreServerSession, options.ToCore()); #pragma warning restore CS0618 // Type or member is obsolete var coreSessionHandle = new CoreSessionHandle(coreSession); var subject = CreateSubject(coreSession: coreSessionHandle); coreSessionHandle.ReferenceCount().Should().Be(1); var result = subject.Fork(); result.Client.Should().BeSameAs(subject.Client); result.Options.Should().BeSameAs(subject.Options); result.WrappedCoreSession.Should().NotBeSameAs(subject.WrappedCoreSession); var coreSessionHandle1 = (CoreSessionHandle)subject.WrappedCoreSession; var coreSessionHandle2 = (CoreSessionHandle)result.WrappedCoreSession; coreSessionHandle2.Wrapped.Should().BeSameAs(coreSessionHandle1.Wrapped); coreSessionHandle.ReferenceCount().Should().Be(2); }