### Question:
SpannerConnection implements Connection, StatementExecutionContext { @Override public String getSessionName() { return this.session == null ? null : this.session.getName(); } SpannerConnection(Client client, Session session, SpannerConnectionConfiguration config); @Override Mono<Void> beginTransaction(); Mono<Void> beginTransaction(TransactionOptions transactionOptions); @Override Mono<Void> commitTransaction(); @Override Mono<Void> rollbackTransaction(); @Override Mono<Void> close(); @Override Batch createBatch(); @Override Publisher<Void> createSavepoint(String s); @Override SpannerStatement createStatement(String sql); @Override Publisher<Void> releaseSavepoint(String s); @Override Publisher<Void> rollbackTransactionToSavepoint(String s); @Override Publisher<Void> setTransactionIsolationLevel(IsolationLevel isolationLevel); @Override IsolationLevel getTransactionIsolationLevel(); @Override ByteString getTransactionId(); @Override String getSessionName(); @Override long nextSeqNum(); boolean isTransactionReadWrite(); boolean isTransactionPartitionedDml(); @Override Publisher<Boolean> validate(ValidationDepth validationDepth); @Override Publisher<Void> setAutoCommit(boolean newAutoCommit); @Override boolean isAutoCommit(); @Override SpannerConnectionMetadata getMetadata();  }### Answer:
@Test public void executionContextHasCorrectSessionName() { SpannerConnection connection = new SpannerConnection( this.mockClient, Session.newBuilder().setName("session-name").build(), null); assertThat(connection.getSessionName()).isEqualTo("session-name"); }