|
20 | 20 | import static org.junit.Assert.assertEquals; |
21 | 21 | import static org.junit.Assert.assertNull; |
22 | 22 | import static org.junit.Assert.assertTrue; |
| 23 | +import static org.junit.Assert.fail; |
23 | 24 | import static org.mockito.ArgumentMatchers.any; |
24 | 25 | import static org.mockito.Mockito.doNothing; |
25 | 26 | import static org.mockito.Mockito.mock; |
|
30 | 31 | import com.google.cloud.grpc.GrpcTransportOptions; |
31 | 32 | import com.google.cloud.grpc.GrpcTransportOptions.ExecutorFactory; |
32 | 33 | import com.google.cloud.spanner.SessionClient.SessionConsumer; |
| 34 | +import com.google.cloud.spanner.SessionClient.SessionId; |
33 | 35 | import com.google.cloud.spanner.spi.v1.SpannerRpc; |
34 | 36 | import com.google.cloud.spanner.spi.v1.SpannerRpc.Option; |
35 | 37 | import com.google.common.collect.ImmutableMap; |
@@ -503,4 +505,21 @@ public void onSessionCreateFailure(Throwable t, int createFailureForSessionCount |
503 | 505 | } |
504 | 506 | assertThat(returnedSessionCount.get()).isEqualTo(numSessions); |
505 | 507 | } |
| 508 | + |
| 509 | + @SuppressWarnings("unchecked") |
| 510 | + @Test |
| 511 | + public void testSessionNamePatterns() { |
| 512 | + // Valid pattern for host session name |
| 513 | + String host = |
| 514 | + "projects/spanner-project/instances/spanner-instance/databases/test-db/sessions/abcd1234"; |
| 515 | + // Valid pattern for external host session name |
| 516 | + String externalHost = "instances/default/databases/test-db/sessions/abcd1234"; |
| 517 | + try { |
| 518 | + SessionId.of(host); |
| 519 | + SessionId.of(externalHost); |
| 520 | + // If no exceptions are thrown, the test will pass |
| 521 | + } catch (IllegalArgumentException e) { |
| 522 | + fail("Expected no exception to be thrown, but got: " + e.getMessage()); |
| 523 | + } |
| 524 | + } |
506 | 525 | } |
0 commit comments