Beispiel #1
0
        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));
        }
Beispiel #2
0
 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));
 }
Beispiel #3
0
        // 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));
        }
Beispiel #4
0
        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));
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
        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);
        }