Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Find some way of testing with cloud datastore #36

Open
tintinnabulate opened this issue Aug 26, 2019 · 7 comments
Open

Find some way of testing with cloud datastore #36

tintinnabulate opened this issue Aug 26, 2019 · 7 comments
Assignees
Labels
invalid This doesn't seem right

Comments

@tintinnabulate
Copy link
Owner

No description provided.

@tintinnabulate
Copy link
Owner Author

@tintinnabulate
Copy link
Owner Author

Learn from this Makefile: https://github.com/influxdata/flux/blob/master/Makefile

@g-bhagat
Copy link

@tintinnabulate tintinnabulate self-assigned this Jul 8, 2020
@tintinnabulate tintinnabulate added the bug Something isn't working label Jul 8, 2020
@tintinnabulate
Copy link
Owner Author

The build is currently failing because of this 😢

https://travis-ci.org/github/tintinnabulate/registration-webapp/builds/700031625

P.S., thanks @gs-byte for that link - I'll check it out.

@gs-byte - have you managed to implement end-to-end testing using that? I'm particularly interested in performing testing against a live staging website (i.e. a live datastore that really exists on the Internet, but is not the production datastore).

@tintinnabulate tintinnabulate pinned this issue Jul 8, 2020
@tintinnabulate tintinnabulate added invalid This doesn't seem right and removed bug Something isn't working labels Jul 8, 2020
@tintinnabulate
Copy link
Owner Author

tintinnabulate commented Jul 9, 2020

The build is currently failing because of this 😢

https://travis-ci.org/github/tintinnabulate/registration-webapp/builds/700031625

I might be able to fix the build simply by:

  1. Encrypting the json file containing the Google Credentials API key for the live staging datastore, as per instructions on Travis CI documentation: https://docs.travis-ci.com/user/encryption-keys/
  2. Uploading the ENCRYPTED Google Credentials API key to GitHub
  3. Have Travis CI decrypt the key during continuous integration testing

Then the integration test will be able to interact with the live staging datastore & perform end-to-end testing 😃

tintinnabulate pushed a commit that referenced this issue Jul 9, 2020
* .gitignore
Update to ignore unencrypted client secret

* .travis.yml
Decrypt client secret (Autogenerated with ruby gem `travis`)

* fanjoula.json
Revoke this client secret for live staging site

* secrets.tar.enc
Add client secret
tintinnabulate pushed a commit that referenced this issue Jul 9, 2020
tintinnabulate added a commit that referenced this issue Jul 9, 2020
Encrypt fanjoula.json, decrypt on Travis CI #36

This patch allows the client secret for the live staging website (Google Cloud Platform) to be accessed by Travis CI for real end-to-end integration testing of the datastore.

We do this by encrypting the client secret, adding to GitHub, and decrypting it on Travis CI.

Thanks goes to this tutorial:

https://dev.to/mmphego/how-to-encrypt-multiple-files-with-travis-ci-5a15

    .gitignore
    Update to ignore unencrypted client secret

    .travis.yml
    Decrypt client secret, untar (Autogenerated with ruby gem travis)

    fanjoula.json
    Revoke this client secret for live staging site

    secrets.tar.enc
    Add client secret
@tintinnabulate
Copy link
Owner Author

Commit 282e918 at least fixes the build.

But I want to do more. I'm not sure what yet! I'll come back to this after some thought.

@tintinnabulate tintinnabulate unpinned this issue Jul 9, 2020
tintinnabulate pushed a commit that referenced this issue Jul 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
invalid This doesn't seem right
Projects
None yet
Development

No branches or pull requests

2 participants