[DRIVERS-382] Automate Atlas connectivity tests Created: 15/May/17  Updated: 28/Oct/23  Resolved: 02/Apr/20

Status: Closed
Project: Drivers
Component/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: David Golden Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: newdriver
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on RUST-91 Automate Atlas connectivity tests Closed
depends on CSHARP-2124 Automate Atlas connectivity tests Closed
depends on CXX-1480 Automate Atlas connectivity tests Closed
depends on NODE-1221 Automate Atlas connectivity tests Closed
depends on PHPC-1060 Automate Atlas connectivity tests Closed
depends on PYTHON-1436 Automate Atlas connectivity tests Closed
depends on RUBY-1267 Automate Atlas connectivity tests Closed
depends on GODRIVER-145 Automate Atlas connectivity tests Closed
depends on JAVA-2699 Automate Atlas connectivity tests Closed
Related
related to DRIVERS-431 Test with authentication and mongodb+... Closed
related to DRIVERS-302 Test connections to Mango Closed
related to DRIVERS-338 Test SNI support Closed
related to DRIVERS-362 Test Atlas Free Tier Proxy Closed
related to DRIVERS-627 Atlas Connectivity tests should inclu... Closed
related to DRIVERS-607 Add mongodb+srv URIs to Atlas Connect... Implementing
related to CDRIVER-2162 Automate Atlas connectivity tests Closed
Driver Compliance:
Key Status/Resolution FixVersion
NODE-1221 Fixed 3.1.0
SCALA-363 Won't Fix
PYTHON-1436 Fixed 3.7
CSHARP-2124 Fixed 2.7.1
PERL-834 Fixed Perl CI 2018
RUBY-1267 Fixed 2.6.0
JAVA-2699 Fixed
CXX-1480 Won't Fix
PHPC-1060 Fixed 1.8.0-beta1, 1.8.0
GODRIVER-145 Fixed 1.1.0
RUST-91 Fixed 0.9.0-alpha
SWIFT-445 Fixed 0.2.0

 Description   

In order to ensure that drivers can connect to both regular and free tier Atlas instances, all drivers need to add automated connectivity tests to Evergreen. These tests only need to verify connectivity – drivers MUST NOT attempt integration tests.

Approach:

  • Create a new private Evergreen project. (A private project ensures that URIs that leak into logs are not publicly visible)
  • Create a task that connects to five URIs (provided separately):
    • Atlas replica set
    • Atlas sharded cluster
    • Atlas free tier replica set
    • Atlas replica set with only TLS 1.1 enabled
    • Atlas replica set with only TLS 1.2 enabled
  • For each URI, construct a client, run ismaster manually, run a findOne against the test.test namespace, and verify that no error occurred.
  • The provided URIs MUST NOT be hardcoded in your test suite or committed to public github projects. Use Evergreen project variables instead.

The ismaster command succeeding ensures that there are no TLS issues. The findOne succeeding ensures there are no authentication issues.



 Comments   
Comment by Bernie Hackett [ 26/Apr/18 ]

I've changed my mind about private evergreen projects. David is right, it's far too easy to accidentally leak secrets. Let's use separate private evergreen projects for this.

Generated at Thu Feb 08 08:21:23 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.