Skip to content

Commit

Permalink
Add test for MongoClientConfig
Browse files Browse the repository at this point in the history
  • Loading branch information
ebyhr authored and mbasmanova committed Sep 3, 2019
1 parent 990545d commit 70545f4
Showing 1 changed file with 88 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
/*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.facebook.presto.mongodb;

import com.google.common.collect.ImmutableMap;
import io.airlift.configuration.testing.ConfigAssertions;
import org.testng.annotations.Test;

import java.util.Map;

public class TestMongoClientConfig
{
@Test
public void testDefaults()
{
ConfigAssertions.assertRecordedDefaults(ConfigAssertions.recordDefaults(MongoClientConfig.class)
.setSchemaCollection("_schema")
.setSeeds("")
.setCredentials("")
.setMinConnectionsPerHost(0)
.setConnectionsPerHost(100)
.setMaxWaitTime(120_000)
.setConnectionTimeout(10_000)
.setSocketTimeout(0)
.setSocketKeepAlive(false)
.setSslEnabled(false)
.setCursorBatchSize(0)
.setReadPreference(ReadPreferenceType.PRIMARY)
.setReadPreferenceTags("")
.setWriteConcern(WriteConcernType.ACKNOWLEDGED)
.setRequiredReplicaSetName(null)
.setImplicitRowFieldPrefix("_pos"));
}

@Test
public void testExplicitPropertyMappings()
{
Map<String, String> properties = new ImmutableMap.Builder<String, String>()
.put("mongodb.schema-collection", "_my_schema")
.put("mongodb.seeds", "host1,host2:27016")
.put("mongodb.credentials", "username:password@collection")
.put("mongodb.min-connections-per-host", "1")
.put("mongodb.connections-per-host", "99")
.put("mongodb.max-wait-time", "120001")
.put("mongodb.connection-timeout", "9999")
.put("mongodb.socket-timeout", "1")
.put("mongodb.socket-keep-alive", "true")
.put("mongodb.ssl.enabled", "true")
.put("mongodb.cursor-batch-size", "1")
.put("mongodb.read-preference", "NEAREST")
.put("mongodb.read-preference-tags", "tag_name:tag_value")
.put("mongodb.write-concern", "UNACKNOWLEDGED")
.put("mongodb.required-replica-set", "replica_set")
.put("mongodb.implicit-row-field-prefix", "_prefix")
.build();

MongoClientConfig expected = new MongoClientConfig()
.setSchemaCollection("_my_schema")
.setSeeds("host1", "host2:27016")
.setCredentials("username:password@collection")
.setMinConnectionsPerHost(1)
.setConnectionsPerHost(99)
.setMaxWaitTime(120_001)
.setConnectionTimeout(9_999)
.setSocketTimeout(1)
.setSocketKeepAlive(true)
.setSslEnabled(true)
.setCursorBatchSize(1)
.setReadPreference(ReadPreferenceType.NEAREST)
.setReadPreferenceTags("tag_name:tag_value")
.setWriteConcern(WriteConcernType.UNACKNOWLEDGED)
.setRequiredReplicaSetName("replica_set")
.setImplicitRowFieldPrefix("_prefix");

ConfigAssertions.assertFullMapping(properties, expected);
}
}

0 comments on commit 70545f4

Please sign in to comment.