|
1 | 1 | /*
|
2 |
| - * Copyright 2012-2015 the original author or authors. |
| 2 | + * Copyright 2012-2016 the original author or authors. |
3 | 3 | *
|
4 | 4 | * Licensed under the Apache License, Version 2.0 (the "License");
|
5 | 5 | * you may not use this file except in compliance with the License.
|
|
20 | 20 | import java.util.List;
|
21 | 21 |
|
22 | 22 | import com.mongodb.MongoClient;
|
| 23 | +import com.mongodb.MongoClientOptions; |
23 | 24 | import com.mongodb.MongoCredential;
|
24 | 25 | import com.mongodb.ServerAddress;
|
25 | 26 | import org.junit.Test;
|
@@ -120,6 +121,54 @@ public void uriCanBeCustomized() throws UnknownHostException {
|
120 | 121 | assertMongoCredential(credentialsList.get(0), "user", "secret", "test");
|
121 | 122 | }
|
122 | 123 |
|
| 124 | + @Test |
| 125 | + public void allMongoClientOptionsCanBeSet() throws UnknownHostException { |
| 126 | + MongoClientOptions mco = MongoClientOptions.builder() |
| 127 | + .alwaysUseMBeans(true) |
| 128 | + .connectionsPerHost(101) |
| 129 | + .connectTimeout(10001) |
| 130 | + .cursorFinalizerEnabled(false) |
| 131 | + .description("test") |
| 132 | + .maxWaitTime(120001) |
| 133 | + .socketKeepAlive(true) |
| 134 | + .socketTimeout(1000) |
| 135 | + .threadsAllowedToBlockForConnectionMultiplier(6) |
| 136 | + .minConnectionsPerHost(0) |
| 137 | + .maxConnectionIdleTime(60000) |
| 138 | + .maxConnectionLifeTime(60000) |
| 139 | + .heartbeatFrequency(10001) |
| 140 | + .minHeartbeatFrequency(501) |
| 141 | + .heartbeatConnectTimeout(20001) |
| 142 | + .heartbeatSocketTimeout(20001) |
| 143 | + .localThreshold(20) |
| 144 | + .requiredReplicaSetName("testReplicaSetName") |
| 145 | + .build(); |
| 146 | + |
| 147 | + MongoProperties properties = new MongoProperties(); |
| 148 | + MongoClient client = properties.createMongoClient(mco, null); |
| 149 | + MongoClientOptions wrappedMco = client.getMongoClientOptions(); |
| 150 | + |
| 151 | + assertThat(wrappedMco.isAlwaysUseMBeans(), equalTo(mco.isAlwaysUseMBeans())); |
| 152 | + assertThat(wrappedMco.getConnectionsPerHost(), equalTo(mco.getConnectionsPerHost())); |
| 153 | + assertThat(wrappedMco.getConnectTimeout(), equalTo(mco.getConnectTimeout())); |
| 154 | + assertThat(wrappedMco.isCursorFinalizerEnabled(), equalTo(mco.isCursorFinalizerEnabled())); |
| 155 | + assertThat(wrappedMco.getDescription(), equalTo(mco.getDescription())); |
| 156 | + assertThat(wrappedMco.getMaxWaitTime(), equalTo(mco.getMaxWaitTime())); |
| 157 | + assertThat(wrappedMco.getSocketTimeout(), equalTo(mco.getSocketTimeout())); |
| 158 | + assertThat(wrappedMco.isSocketKeepAlive(), equalTo(mco.isSocketKeepAlive())); |
| 159 | + assertThat(wrappedMco.getThreadsAllowedToBlockForConnectionMultiplier(), equalTo( |
| 160 | + mco.getThreadsAllowedToBlockForConnectionMultiplier())); |
| 161 | + assertThat(wrappedMco.getMinConnectionsPerHost(), equalTo(mco.getMinConnectionsPerHost())); |
| 162 | + assertThat(wrappedMco.getMaxConnectionIdleTime(), equalTo(mco.getMaxConnectionIdleTime())); |
| 163 | + assertThat(wrappedMco.getMaxConnectionLifeTime(), equalTo(mco.getMaxConnectionLifeTime())); |
| 164 | + assertThat(wrappedMco.getHeartbeatFrequency(), equalTo(mco.getHeartbeatFrequency())); |
| 165 | + assertThat(wrappedMco.getMinHeartbeatFrequency(), equalTo(mco.getMinHeartbeatFrequency())); |
| 166 | + assertThat(wrappedMco.getHeartbeatConnectTimeout(), equalTo(mco.getHeartbeatConnectTimeout())); |
| 167 | + assertThat(wrappedMco.getHeartbeatSocketTimeout(), equalTo(mco.getHeartbeatSocketTimeout())); |
| 168 | + assertThat(wrappedMco.getLocalThreshold(), equalTo(mco.getLocalThreshold())); |
| 169 | + assertThat(wrappedMco.getRequiredReplicaSetName(), equalTo(mco.getRequiredReplicaSetName())); |
| 170 | + } |
| 171 | + |
123 | 172 | private void assertServerAddress(ServerAddress serverAddress, String expectedHost,
|
124 | 173 | int expectedPort) {
|
125 | 174 | assertThat(serverAddress.getHost(), equalTo(expectedHost));
|
|
0 commit comments