version: 1
style: unit
description: must be able to start a pool with minPoolSize connections
# Remove the topology runOn requirement when cmap specs are adjusted for lbs
runOn:
  - topology: [ "single", "replicaset", "sharded" ]
poolOptions:
  minPoolSize: 3
operations:
  # ensure no connections are created until this pool is ready
  - name: wait
    ms: 200
  - name: ready
  - name: waitForEvent
    event: ConnectionCreated
    count: 3
  - name: waitForEvent
    event: ConnectionReady
    count: 3
  - name: checkOut
events:
  - type: ConnectionPoolCreated
    address: 42
    options: 42
  - type: ConnectionPoolReady
    address: 42
  - type: ConnectionCreated
    connectionId: 42
    address: 42
  - type: ConnectionCreated
    connectionId: 42
    address: 42
  - type: ConnectionCreated
    connectionId: 42
    address: 42
  # Ensures that by the time pool is closed, there are at least 3 connections
  - type: ConnectionCheckedOut
    connectionId: 42
    address: 42
ignore:
  - ConnectionReady
  - ConnectionClosed
  - ConnectionCheckOutStarted
