### Question:
MetricsReportingBoltConnection extends DefaultBoltConnection { @Override public void start() { super.start(); metricsMonitor.connectionOpened(); } MetricsReportingBoltConnection( BoltChannel channel, PackOutput output, BoltStateMachine machine, LogService logService,
            BoltConnectionLifetimeListener listener, BoltConnectionQueueMonitor queueMonitor, BoltConnectionMetricsMonitor metricsMonitor, Clock clock );   MetricsReportingBoltConnection( BoltChannel channel, PackOutput output, BoltStateMachine machine, LogService logService,
            BoltConnectionLifetimeListener listener,
            BoltConnectionQueueMonitor queueMonitor, int maxBatchSize, BoltConnectionMetricsMonitor metricsMonitor,
            Clock clock ); @Override void start(); @Override void enqueue( Job job ); @Override boolean processNextBatch( int batchCount, boolean exitIfNoJobsAvailable );  }### Answer:
@Test public void shouldNotifyConnectionOpened() { BoltConnectionMetricsMonitor metricsMonitor = mock( BoltConnectionMetricsMonitor.class ); BoltConnection connection = newConnection( metricsMonitor ); connection.start(); verify( metricsMonitor ).connectionOpened(); }