Skip to content

Commit f9f6fc0

Browse files
rstamcraiggwilson
authored andcommitted
Moved more classes to Legacy.
1 parent 22245c8 commit f9f6fc0

38 files changed

+271
-235
lines changed

src/MongoDB.Driver.Legacy.Tests/MongoDB.Driver.Legacy.Tests/MongoDB.Driver.Legacy.Tests.csproj

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,15 @@
4949
<Reference Include="System.Xml" />
5050
</ItemGroup>
5151
<ItemGroup>
52+
<Compile Include="Builders\CollectionOptionsBuilderTests.cs" />
5253
<Compile Include="Builders\FieldsBuilderTests.cs" />
5354
<Compile Include="Builders\FieldsBuilderTypedTests.cs" />
55+
<Compile Include="Builders\GeoNearOptionsBuilderTests.cs" />
56+
<Compile Include="Builders\GroupByBuilderTests.cs" />
5457
<Compile Include="Builders\IndexKeysBuilderTests.cs" />
5558
<Compile Include="Builders\IndexKeysBuilderTypedTests.cs" />
59+
<Compile Include="Builders\IndexOptionsBuilderTests.cs" />
60+
<Compile Include="Builders\IndexOptionsBuilderTypedTests.cs" />
5661
<Compile Include="Builders\QueryBuilderGeoJsonIntegrationTests.cs" />
5762
<Compile Include="Builders\QueryBuilderTests.cs" />
5863
<Compile Include="Builders\SortByBuilderTests.cs" />
@@ -136,7 +141,9 @@
136141
<Compile Include="MongoCollectionTests.cs" />
137142
<Compile Include="MongoDatabaseTests.cs" />
138143
<Compile Include="MongoServerBuildInfoTests.cs" />
144+
<Compile Include="MongoServerSettingsTests.cs" />
139145
<Compile Include="MongoServerTests.cs" />
146+
<Compile Include="MongoUserTests.cs" />
140147
<Compile Include="Operations\BulkWriteOperationTests.cs" />
141148
<Compile Include="Properties\AssemblyInfo.cs" />
142149
<Compile Include="Samples\AggregationSample.cs" />

src/MongoDB.Driver.Tests/MongoServerSettingsTests.cs renamed to src/MongoDB.Driver.Legacy.Tests/MongoDB.Driver.Legacy.Tests/MongoServerSettingsTests.cs

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
using System;
1717
using System.Linq;
1818
using System.Net.Sockets;
19+
using System.Security.Authentication;
20+
using FluentAssertions;
1921
using MongoDB.Bson;
2022
using MongoDB.Driver;
2123
using NUnit.Framework;
@@ -651,5 +653,59 @@ public void TestWriteConcern()
651653
Assert.AreEqual(writeConcern, settings.WriteConcern);
652654
Assert.Throws<InvalidOperationException>(() => { settings.WriteConcern = writeConcern; });
653655
}
656+
657+
[Test]
658+
public void ToClusterKey_should_copy_relevant_values()
659+
{
660+
var credentials = new[] { MongoCredential.CreateMongoCRCredential("source", "username", "password") };
661+
var servers = new[] { new MongoServerAddress("localhost") };
662+
var sslSettings = new SslSettings
663+
{
664+
CheckCertificateRevocation = true,
665+
EnabledSslProtocols = SslProtocols.Ssl3
666+
};
667+
668+
var subject = new MongoServerSettings
669+
{
670+
ConnectionMode = ConnectionMode.Direct,
671+
ConnectTimeout = TimeSpan.FromSeconds(1),
672+
Credentials = credentials,
673+
GuidRepresentation = GuidRepresentation.Standard,
674+
IPv6 = true,
675+
MaxConnectionIdleTime = TimeSpan.FromSeconds(2),
676+
MaxConnectionLifeTime = TimeSpan.FromSeconds(3),
677+
MaxConnectionPoolSize = 10,
678+
MinConnectionPoolSize = 5,
679+
ReplicaSetName = "rs",
680+
LocalThreshold = TimeSpan.FromMilliseconds(20),
681+
Servers = servers,
682+
SocketTimeout = TimeSpan.FromSeconds(4),
683+
SslSettings = sslSettings,
684+
UseSsl = true,
685+
VerifySslCertificate = true,
686+
WaitQueueSize = 20,
687+
WaitQueueTimeout = TimeSpan.FromSeconds(5)
688+
};
689+
690+
var result = subject.ToClusterKey();
691+
692+
result.ConnectionMode.Should().Be(subject.ConnectionMode);
693+
result.ConnectTimeout.Should().Be(subject.ConnectTimeout);
694+
result.Credentials.Should().Equal(subject.Credentials);
695+
result.IPv6.Should().Be(subject.IPv6);
696+
result.MaxConnectionIdleTime.Should().Be(subject.MaxConnectionIdleTime);
697+
result.MaxConnectionLifeTime.Should().Be(subject.MaxConnectionLifeTime);
698+
result.MaxConnectionPoolSize.Should().Be(subject.MaxConnectionPoolSize);
699+
result.MinConnectionPoolSize.Should().Be(subject.MinConnectionPoolSize);
700+
result.ReplicaSetName.Should().Be(subject.ReplicaSetName);
701+
result.LocalThreshold.Should().Be(subject.LocalThreshold);
702+
result.Servers.Should().Equal(subject.Servers);
703+
result.SocketTimeout.Should().Be(subject.SocketTimeout);
704+
result.SslSettings.Should().Be(subject.SslSettings);
705+
result.UseSsl.Should().Be(subject.UseSsl);
706+
result.VerifySslCertificate.Should().Be(subject.VerifySslCertificate);
707+
result.WaitQueueSize.Should().Be(subject.WaitQueueSize);
708+
result.WaitQueueTimeout.Should().Be(subject.WaitQueueTimeout);
709+
}
654710
}
655711
}

src/MongoDB.Driver.Legacy/MongoDB.Driver.Legacy/MongoDB.Driver.Legacy.csproj

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,11 @@
4343
<ItemGroup>
4444
<Compile Include="AggregateArgs.cs" />
4545
<Compile Include="AggregateEnumerable.cs" />
46+
<Compile Include="Builders\CollectionOptionsBuilder.cs" />
47+
<Compile Include="Builders\GeoHaystackSearchOptionsBuilder.cs" />
48+
<Compile Include="Builders\GeoNearOptionsBuilder.cs" />
49+
<Compile Include="Builders\GroupByBuilder.cs" />
50+
<Compile Include="Builders\IndexOptionsBuilder.cs" />
4651
<Compile Include="CommandResults\CollectionStatsResult.cs" />
4752
<Compile Include="CommandResults\CommandResult.cs" />
4853
<Compile Include="CommandResults\CommandResultSerializer.cs" />
@@ -75,6 +80,13 @@
7580
<Compile Include="GridFS\MongoGridFSSettings.cs" />
7681
<Compile Include="GridFS\MongoGridFSStream.cs" />
7782
<Compile Include="GroupArgs.cs" />
83+
<Compile Include="IMongoCollectionOptions.cs" />
84+
<Compile Include="IMongoCommand.cs" />
85+
<Compile Include="IMongoGeoHaystackSearchOptions.cs" />
86+
<Compile Include="IMongoGeoNearOptions.cs" />
87+
<Compile Include="IMongoGroupBy.cs" />
88+
<Compile Include="IMongoIndexOptions.cs" />
89+
<Compile Include="IMongoScope.cs" />
7890
<Compile Include="InsertFlags.cs" />
7991
<Compile Include="Linq\LinqExtensionMethods.cs" />
8092
<Compile Include="Linq\MongoQueryable.cs" />
@@ -90,7 +102,10 @@
90102
<Compile Include="MongoInsertOptions.cs" />
91103
<Compile Include="MongoServer.cs" />
92104
<Compile Include="MongoServerBuildInfo.cs" />
105+
<Compile Include="MongoServerSettings.cs" />
106+
<Compile Include="MongoServerState.cs" />
93107
<Compile Include="MongoUpdateOptions.cs" />
108+
<Compile Include="MongoUser.cs" />
94109
<Compile Include="Operations\AddUserOperation.cs" />
95110
<Compile Include="Operations\AddUserUsingSystemUsersCollectionOperation.cs" />
96111
<Compile Include="Operations\AddUserUsingUserManagementCommandsOperation.cs" />

src/MongoDB.Driver.Legacy/MongoDB.Driver.Legacy/MongoServer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ public MongoServer(MongoServerSettings settings)
9595
_sequentialId = Interlocked.Increment(ref __nextSequentialId);
9696
// Console.WriteLine("MongoServer[{0}]: {1}", sequentialId, settings);
9797

98-
_cluster = ClusterRegistry.Instance.GetOrCreateCluster(_settings);
98+
_cluster = ClusterRegistry.Instance.GetOrCreateCluster(_settings.ToClusterKey());
9999
StartTrackingServerInstances();
100100
}
101101

src/MongoDB.Driver/MongoServerSettings.cs renamed to src/MongoDB.Driver.Legacy/MongoDB.Driver.Legacy/MongoServerSettings.cs

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
using System.Text;
2222
using MongoDB.Bson;
2323
using MongoDB.Bson.IO;
24+
using MongoDB.Driver.Communication;
2425
using MongoDB.Driver.Core.Configuration;
2526
using MongoDB.Shared;
2627

@@ -29,7 +30,7 @@ namespace MongoDB.Driver
2930
/// <summary>
3031
/// The settings used to access a MongoDB server.
3132
/// </summary>
32-
public class MongoServerSettings : IEquatable<MongoServerSettings>
33+
public class MongoServerSettings : IEquatable<MongoServerSettings>, IInheritableMongoClientSettings
3334
{
3435
// private fields
3536
private Action<ClusterBuilder> _clusterConfigurator;
@@ -773,5 +774,29 @@ public override string ToString()
773774
}
774775
return string.Join(",", parts.ToArray());
775776
}
777+
778+
// internal methods
779+
internal ClusterKey ToClusterKey()
780+
{
781+
return new ClusterKey(
782+
_clusterConfigurator,
783+
_connectionMode,
784+
_connectTimeout,
785+
_credentials.ToList(),
786+
_ipv6,
787+
_localThreshold,
788+
_maxConnectionIdleTime,
789+
_maxConnectionLifeTime,
790+
_maxConnectionPoolSize,
791+
_minConnectionPoolSize,
792+
_replicaSetName,
793+
_servers.ToList(),
794+
_socketTimeout,
795+
_sslSettings,
796+
_useSsl,
797+
_verifySslCertificate,
798+
_waitQueueSize,
799+
_waitQueueTimeout);
800+
}
776801
}
777802
}

src/MongoDB.Driver.Tests/Communication/ClusterKeyTests.cs

Lines changed: 1 addition & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -28,116 +28,6 @@ namespace MongoDB.Driver.Tests.Communication.Security
2828
[TestFixture]
2929
public class ClusterKeyTests
3030
{
31-
[Test]
32-
public void Constructor_with_MongoClientSettings_parameter_should_copy_relevant_values()
33-
{
34-
var credentials = new[] { MongoCredential.CreateMongoCRCredential("source", "username", "password") };
35-
var servers = new[] { new MongoServerAddress("localhost") };
36-
37-
var sslSettings = new SslSettings
38-
{
39-
CheckCertificateRevocation = true,
40-
EnabledSslProtocols = SslProtocols.Ssl3
41-
};
42-
43-
var clientSettings = new MongoClientSettings
44-
{
45-
ConnectionMode = ConnectionMode.Direct,
46-
ConnectTimeout = TimeSpan.FromSeconds(1),
47-
Credentials = credentials,
48-
GuidRepresentation = GuidRepresentation.Standard,
49-
IPv6 = true,
50-
MaxConnectionIdleTime = TimeSpan.FromSeconds(2),
51-
MaxConnectionLifeTime = TimeSpan.FromSeconds(3),
52-
MaxConnectionPoolSize = 10,
53-
MinConnectionPoolSize = 5,
54-
ReplicaSetName = "rs",
55-
LocalThreshold = TimeSpan.FromMilliseconds(20),
56-
Servers = servers,
57-
SocketTimeout = TimeSpan.FromSeconds(4),
58-
SslSettings = sslSettings,
59-
UseSsl = true,
60-
VerifySslCertificate = true,
61-
WaitQueueSize = 20,
62-
WaitQueueTimeout = TimeSpan.FromSeconds(5)
63-
};
64-
65-
var subject = new ClusterKey(clientSettings);
66-
67-
subject.ConnectionMode.Should().Be(clientSettings.ConnectionMode);
68-
subject.ConnectTimeout.Should().Be(clientSettings.ConnectTimeout);
69-
subject.Credentials.Should().Equal(clientSettings.Credentials);
70-
subject.IPv6.Should().Be(clientSettings.IPv6);
71-
subject.MaxConnectionIdleTime.Should().Be(clientSettings.MaxConnectionIdleTime);
72-
subject.MaxConnectionLifeTime.Should().Be(clientSettings.MaxConnectionLifeTime);
73-
subject.MaxConnectionPoolSize.Should().Be(clientSettings.MaxConnectionPoolSize);
74-
subject.MinConnectionPoolSize.Should().Be(clientSettings.MinConnectionPoolSize);
75-
subject.ReplicaSetName.Should().Be(clientSettings.ReplicaSetName);
76-
subject.LocalThreshold.Should().Be(clientSettings.LocalThreshold);
77-
subject.Servers.Should().Equal(clientSettings.Servers);
78-
subject.SocketTimeout.Should().Be(clientSettings.SocketTimeout);
79-
subject.SslSettings.Should().Be(clientSettings.SslSettings);
80-
subject.UseSsl.Should().Be(clientSettings.UseSsl);
81-
subject.VerifySslCertificate.Should().Be(clientSettings.VerifySslCertificate);
82-
subject.WaitQueueSize.Should().Be(clientSettings.WaitQueueSize);
83-
subject.WaitQueueTimeout.Should().Be(clientSettings.WaitQueueTimeout);
84-
}
85-
86-
[Test]
87-
public void Constructor_with_MongoServerSettings_parameter_should_copy_relevant_values()
88-
{
89-
var credentials = new[] { MongoCredential.CreateMongoCRCredential("source", "username", "password") };
90-
var servers = new[] { new MongoServerAddress("localhost") };
91-
92-
var sslSettings = new SslSettings
93-
{
94-
CheckCertificateRevocation = true,
95-
EnabledSslProtocols = SslProtocols.Ssl3
96-
};
97-
98-
var serverSettings = new MongoServerSettings
99-
{
100-
ConnectionMode = ConnectionMode.Direct,
101-
ConnectTimeout = TimeSpan.FromSeconds(1),
102-
Credentials = credentials,
103-
GuidRepresentation = GuidRepresentation.Standard,
104-
IPv6 = true,
105-
MaxConnectionIdleTime = TimeSpan.FromSeconds(2),
106-
MaxConnectionLifeTime = TimeSpan.FromSeconds(3),
107-
MaxConnectionPoolSize = 10,
108-
MinConnectionPoolSize = 5,
109-
ReplicaSetName = "rs",
110-
LocalThreshold = TimeSpan.FromMilliseconds(20),
111-
Servers = servers,
112-
SocketTimeout = TimeSpan.FromSeconds(4),
113-
SslSettings = sslSettings,
114-
UseSsl = true,
115-
VerifySslCertificate = true,
116-
WaitQueueSize = 20,
117-
WaitQueueTimeout = TimeSpan.FromSeconds(5)
118-
};
119-
120-
var subject = new ClusterKey(serverSettings);
121-
122-
subject.ConnectionMode.Should().Be(serverSettings.ConnectionMode);
123-
subject.ConnectTimeout.Should().Be(serverSettings.ConnectTimeout);
124-
subject.Credentials.Should().Equal(serverSettings.Credentials);
125-
subject.IPv6.Should().Be(serverSettings.IPv6);
126-
subject.MaxConnectionIdleTime.Should().Be(serverSettings.MaxConnectionIdleTime);
127-
subject.MaxConnectionLifeTime.Should().Be(serverSettings.MaxConnectionLifeTime);
128-
subject.MaxConnectionPoolSize.Should().Be(serverSettings.MaxConnectionPoolSize);
129-
subject.MinConnectionPoolSize.Should().Be(serverSettings.MinConnectionPoolSize);
130-
subject.ReplicaSetName.Should().Be(serverSettings.ReplicaSetName);
131-
subject.LocalThreshold.Should().Be(serverSettings.LocalThreshold);
132-
subject.Servers.Should().Equal(serverSettings.Servers);
133-
subject.SocketTimeout.Should().Be(serverSettings.SocketTimeout);
134-
subject.SslSettings.Should().Be(serverSettings.SslSettings);
135-
subject.UseSsl.Should().Be(serverSettings.UseSsl);
136-
subject.VerifySslCertificate.Should().Be(serverSettings.VerifySslCertificate);
137-
subject.WaitQueueSize.Should().Be(serverSettings.WaitQueueSize);
138-
subject.WaitQueueTimeout.Should().Be(serverSettings.WaitQueueTimeout);
139-
}
140-
14131
[Test]
14232
public void Equals_should_return_true_if_all_fields_are_equal()
14333
{
@@ -242,7 +132,7 @@ private ClusterKey CreateSubject(string notEqualFieldName = null)
242132
WaitQueueTimeout = waitQueueTimeout
243133
};
244134

245-
return new ClusterKey(clientSettings);
135+
return clientSettings.ToClusterKey();
246136
}
247137
}
248138
}

src/MongoDB.Driver.Tests/Communication/ClusterRegistryTests.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ public void GetOrCreateCluster_should_return_a_cluster_with_the_correct_settings
7575

7676
var subject = new ClusterRegistry();
7777

78-
using (var cluster = subject.GetOrCreateCluster(clientSettings))
78+
using (var cluster = subject.GetOrCreateCluster(clientSettings.ToClusterKey()))
7979
{
8080
var address = clientSettings.Servers.Single();
8181
var endPoints = new[] { new DnsEndPoint(address.Host, address.Port) };
@@ -99,8 +99,8 @@ public void GetOrCreateCluster_should_return_a_different_cluster_if_client_setti
9999

100100
var subject = new ClusterRegistry();
101101

102-
using (var cluster1 = subject.GetOrCreateCluster(clientSettings1))
103-
using (var cluster2 = subject.GetOrCreateCluster(clientSettings2))
102+
using (var cluster1 = subject.GetOrCreateCluster(clientSettings1.ToClusterKey()))
103+
using (var cluster2 = subject.GetOrCreateCluster(clientSettings2.ToClusterKey()))
104104
{
105105
cluster2.Should().NotBeSameAs(cluster1);
106106
}
@@ -114,8 +114,8 @@ public void GetOrCreateCluster_should_return_the_same_cluster_if_client_settings
114114

115115
var subject = new ClusterRegistry();
116116

117-
using (var cluster1 = subject.GetOrCreateCluster(clientSettings1))
118-
using (var cluster2 = subject.GetOrCreateCluster(clientSettings2))
117+
using (var cluster1 = subject.GetOrCreateCluster(clientSettings1.ToClusterKey()))
118+
using (var cluster2 = subject.GetOrCreateCluster(clientSettings2.ToClusterKey()))
119119
{
120120
cluster2.Should().BeSameAs(cluster1);
121121
}

0 commit comments

Comments
 (0)