version: 1
style: unit
description: must destroy and must not check out an idle connection if found while iterating available connections
poolOptions:
  maxIdleTimeMS: 10
  backgroundThreadIntervalMS: -1
operations:
  - name: ready
  - name: checkOut
    label: conn
  - name: checkIn
    connection: conn
  - name: wait
    ms: 50
  - name: checkOut
  - name: waitForEvent
    event: ConnectionCheckedOut
    count: 2
events:
  - type: ConnectionPoolCreated
    address: 42
    options: 42
  - type: ConnectionCheckedOut
    connectionId: 1
    address: 42
  - type: ConnectionCheckedIn
    connectionId: 1
    address: 42
  # In between these, wait so connection becomes idle
  - type: ConnectionClosed
    connectionId: 1
    reason: idle
    address: 42
  - type: ConnectionCheckedOut
    connectionId: 2
    address: 42
ignore:
  - ConnectionReady
  - ConnectionPoolReady
  - ConnectionCreated
  - ConnectionCheckOutStarted
