@@ -17,39 +17,33 @@ package spannerdriver
17
17
import (
18
18
"context"
19
19
"fmt"
20
- "os"
21
20
22
21
"cloud.google.com/go/spanner"
23
22
database "cloud.google.com/go/spanner/admin/database/apiv1"
24
23
databasepb "cloud.google.com/go/spanner/admin/database/apiv1/databasepb"
25
24
instance "cloud.google.com/go/spanner/admin/instance/apiv1"
26
25
instancepb "cloud.google.com/go/spanner/admin/instance/apiv1/instancepb"
26
+ "google.golang.org/api/option"
27
27
"google.golang.org/grpc/codes"
28
28
)
29
29
30
- func autoConfigEmulator (ctx context.Context , host , project , instance , database string ) error {
31
- if host == "" {
32
- host = "localhost:9010"
33
- }
34
- if err := os .Setenv ("SPANNER_EMULATOR_HOST" , host ); err != nil {
35
- return err
36
- }
37
- if err := createInstance (project , instance ); err != nil {
30
+ func autoConfigEmulator (ctx context.Context , host , project , instance , database string , opts []option.ClientOption ) error {
31
+ if err := createInstance (project , instance , opts ); err != nil {
38
32
if spanner .ErrCode (err ) != codes .AlreadyExists {
39
33
return err
40
34
}
41
35
}
42
- if err := createDatabase (project , instance , database ); err != nil {
36
+ if err := createDatabase (project , instance , database , opts ); err != nil {
43
37
if spanner .ErrCode (err ) != codes .AlreadyExists {
44
38
return err
45
39
}
46
40
}
47
41
return nil
48
42
}
49
43
50
- func createInstance (projectId , instanceId string ) error {
44
+ func createInstance (projectId , instanceId string , opts []option. ClientOption ) error {
51
45
ctx := context .Background ()
52
- instanceAdmin , err := instance .NewInstanceAdminClient (ctx )
46
+ instanceAdmin , err := instance .NewInstanceAdminClient (ctx , opts ... )
53
47
if err != nil {
54
48
return err
55
49
}
@@ -73,9 +67,9 @@ func createInstance(projectId, instanceId string) error {
73
67
return nil
74
68
}
75
69
76
- func createDatabase (projectId , instanceId , databaseId string ) error {
70
+ func createDatabase (projectId , instanceId , databaseId string , opts []option. ClientOption ) error {
77
71
ctx := context .Background ()
78
- databaseAdminClient , err := database .NewDatabaseAdminClient (ctx )
72
+ databaseAdminClient , err := database .NewDatabaseAdminClient (ctx , opts ... )
79
73
if err != nil {
80
74
return err
81
75
}
0 commit comments