damondouglas commented on PR #24946:
URL: https://github.com/apache/beam/pull/24946#issuecomment-1438910092

   > I looked into this errors, seems that there should be additional measures 
taken to make tests runnable in Cloud Shell environment.
   
   FYI this was a compute engine instance but nonetheless a clean environment.
   
   > I 
[updated](https://github.com/apache/beam/blob/c8900dfa2a04c76ca538535bdb2e355d001ccc64/playground/backend/README.md#prerequisite)
 Readme to clarify that tests need local Datastore emulator to run and they 
will not run with real datastore (although this should be easily fixable - but 
I'm not if this change worth the effort).
   
   Instead of the emulator, have you tried to:
   1. Implement a mock 
[google.golang.org/genproto/googleapis/datastore/v1](https://pkg.go.dev/google.golang.org/genproto/googleapis/datastore/v1#DatastoreServer)
 with only the endpoints needed for the tests?  Endpoints not needed could 
simply return fmt.Errorf("not implemted")
   2.  In your test you can add 
https://pkg.go.dev/google.golang.org/api/option#WithEndpoint to the 
https://pkg.go.dev/google.golang.org/api/option#WithEndpoint after service 
begins
   3. When test(s) complete, shut down the service
   
   If you still want to use the emulator, I recommend the tests that need it to 
actually activate and shut down the emulator but personally when I test Google 
api dependent code in the context of Go, I implement the grpc server.  This 
doesn't replace integration tests but serves as a quicker way to detect errors 
in code.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to