From 7fce29af404f0623b483ca6d6f2af4c726105fa6 Mon Sep 17 00:00:00 2001 From: Hengfeng Li Date: Thu, 3 Jun 2021 16:02:48 +1000 Subject: [PATCH] feat(spanner): add a database name getter to client (#4190) --- spanner/client.go | 6 ++++++ spanner/client_test.go | 13 +++++++++++++ 2 files changed, 19 insertions(+) diff --git a/spanner/client.go b/spanner/client.go index e201852256d..18f136cfa90 100644 --- a/spanner/client.go +++ b/spanner/client.go @@ -82,6 +82,12 @@ type Client struct { qo QueryOptions } +// DatabaseName returns the full name of a database, e.g., +// "projects/spanner-cloud-test/instances/foo/databases/foodb". +func (c *Client) DatabaseName() string { + return c.sc.database +} + // ClientConfig has configurations for the client. type ClientConfig struct { // NumChannels is the number of gRPC channels. diff --git a/spanner/client_test.go b/spanner/client_test.go index 1ffffceca57..d1e271c7319 100644 --- a/spanner/client_test.go +++ b/spanner/client_test.go @@ -416,6 +416,19 @@ func TestClient_Single_QueryOptions(t *testing.T) { } } +func TestClient_ReturnDatabaseName(t *testing.T) { + t.Parallel() + + _, client, teardown := setupMockedTestServer(t) + defer teardown() + + got := client.DatabaseName() + want := "projects/[PROJECT]/instances/[INSTANCE]/databases/[DATABASE]" + if got != want { + t.Fatalf("Incorrect database name returned, got: %s, want: %s", got, want) + } +} + func testQueryOptions(t *testing.T, iter *RowIterator, server InMemSpannerServer, qo QueryOptions) { defer iter.Stop()