Package cloud.google.com/go/bigtable/bttest (v1.34.0)

Package bttest contains test helpers for working with the bigtable package.

To use a Server, create it, and then connect to it with no security: (The project/instance values are ignored.)

 srv 
 , 
  
 err 
  
 := 
  
 bttest 
 . 
 NewServer 
 ( 
 "localhost:0" 
 ) 
 ... 
 conn 
 , 
  
 err 
  
 := 
  
 grpc 
 . 
 Dial 
 ( 
  
 srv 
 . 
 Addr 
 , 
  
 grpc 
 . 
 WithTransportCredentials 
 ( 
 insecure 
 . 
 NewCredentials 
 ())) 
 ... 
 client 
 , 
  
 err 
  
 := 
  
 bigtable 
 . 
 NewClient 
 ( 
 ctx 
 , 
  
 proj 
 , 
  
 instance 
 , 
  
 option 
 . 
 WithGRPCConn 
 ( 
 conn 
 )) 
 ... 

Server

  type 
  
 Server 
  
 struct 
  
 { 
  
 Addr 
  
  string 
 
  
 // contains filtered or unexported fields 
 } 
 

Server is an in-memory Cloud Bigtable fake. It is unauthenticated, and only a rough approximation.

func NewServer

  func 
  
 NewServer 
 ( 
 laddr 
  
  string 
 
 , 
  
 opt 
  
 ... 
  grpc 
 
 . 
  ServerOption 
 
 ) 
  
 ( 
 * 
  Server 
 
 , 
  
  error 
 
 ) 
 

NewServer creates a new Server. The Server will be listening for gRPC connections, without TLS, on the provided address. The resolved address is named by the Addr field.

Example

  package 
  
 main 
 import 
  
 ( 
  
 "context" 
  
 "fmt" 
  
 "log" 
  
 "cloud.google.com/go/bigtable" 
  
 "cloud.google.com/go/bigtable/bttest" 
  
 "google.golang.org/api/option" 
  
 "google.golang.org/grpc" 
 ) 
 func 
  
 main 
 () 
  
 { 
  
 srv 
 , 
  
 err 
  
 := 
  
 bttest 
 . 
 NewServer 
 ( 
 "localhost:0" 
 ) 
  
 if 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 log 
 . 
 Fatalln 
 ( 
 err 
 ) 
  
 } 
  
 ctx 
  
 := 
  
 context 
 . 
 Background 
 () 
  
 conn 
 , 
  
 err 
  
 := 
  
 grpc 
 . 
 Dial 
 ( 
 srv 
 . 
 Addr 
 , 
  
 grpc 
 . 
 WithInsecure 
 ()) 
  
 if 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 log 
 . 
 Fatalln 
 ( 
 err 
 ) 
  
 } 
  
 proj 
 , 
  
 instance 
  
 := 
  
 "proj" 
 , 
  
 "instance" 
  
 adminClient 
 , 
  
 err 
  
 := 
  
 bigtable 
 . 
  NewAdminClient 
 
 ( 
 ctx 
 , 
  
 proj 
 , 
  
 instance 
 , 
  
 option 
 . 
 WithGRPCConn 
 ( 
 conn 
 )) 
  
 if 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 log 
 . 
 Fatalln 
 ( 
 err 
 ) 
  
 } 
  
 if 
  
 err 
  
 = 
  
 adminClient 
 . 
 CreateTable 
 ( 
 ctx 
 , 
  
 "example" 
 ); 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 log 
 . 
 Fatalln 
 ( 
 err 
 ) 
  
 } 
  
 if 
  
 err 
  
 = 
  
 adminClient 
 . 
  CreateColumnFamily 
 
 ( 
 ctx 
 , 
  
 "example" 
 , 
  
 "links" 
 ); 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 log 
 . 
 Fatalln 
 ( 
 err 
 ) 
  
 } 
  
 client 
 , 
  
 err 
  
 := 
  
 bigtable 
 . 
  NewClientWithConfig 
 
 ( 
 ctx 
 , 
  
 proj 
 , 
  
 instance 
 , 
  
 bigtable 
 . 
  ClientConfig 
 
 { 
 MetricsProvider 
 : 
  
 bigtable 
 . 
  NoopMetricsProvider 
 
 {}}, 
  
 option 
 . 
 WithGRPCConn 
 ( 
 conn 
 )) 
  
 if 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 log 
 . 
 Fatalln 
 ( 
 err 
 ) 
  
 } 
  
 tbl 
  
 := 
  
 client 
 . 
  Open 
 
 ( 
 "example" 
 ) 
  
 mut 
  
 := 
  
 bigtable 
 . 
  NewMutation 
 
 () 
  
 mut 
 . 
  Set 
 
 ( 
 "links" 
 , 
  
 "golang.org" 
 , 
  
 bigtable 
 . 
  Now 
 
 (), 
  
 [] 
 byte 
 ( 
 "Gophers!" 
 )) 
  
 if 
  
 err 
  
 = 
  
 tbl 
 . 
  Apply 
 
 ( 
 ctx 
 , 
  
 "com.google.cloud" 
 , 
  
 mut 
 ); 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 log 
 . 
 Fatalln 
 ( 
 err 
 ) 
  
 } 
  
 if 
  
 row 
 , 
  
 err 
  
 := 
  
 tbl 
 . 
  ReadRow 
 
 ( 
 ctx 
 , 
  
 "com.google.cloud" 
 ); 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 log 
 . 
 Fatalln 
 ( 
 err 
 ) 
  
 } 
  
 else 
  
 { 
  
 for 
  
 _ 
 , 
  
 column 
  
 := 
  
 range 
  
 row 
 [ 
 "links" 
 ] 
  
 { 
  
 fmt 
 . 
 Println 
 ( 
 column 
 . 
  Column 
 
 ) 
  
 fmt 
 . 
 Println 
 ( 
 string 
 ( 
 column 
 . 
  Value 
 
 )) 
  
 } 
  
 } 
 } 
 

func (*Server) Close

  func 
  
 ( 
 s 
  
 * 
  Server 
 
 ) 
  
 Close 
 () 
 

Close shuts down the server.

Create a Mobile Website
View Site in Mobile | Classic
Share by: