Discuss and ask questions in our Discussions: https://github.com/graphql-java/graphql-java/discussions
This is a test runner application to measure the performance of GraphQL Java implementation.
In order to orchestrate all gcp infrastructure we have used terraform, an open source infrastructure as code software tool that enables you to safely and predictably create, change, and improve infrastructure. Infrastructure used by our test-runner on GCP are:
- Cloud Tasks Queue.
- Workflow.
- Compute Engine.
- Firestore.
Installation:
- Install terraform from Terraform
- Verify terraform is working locally.
- Create a new gcp project.
- Add a billing account to the above created project.
- Create service account on IAM & Admin->Service Account-> Create Service Account.
- Give the role as Basic->Owner.
- Select the service account created above, then go to Actions->Manage keys->Add key->Create new key->JSON.
- Download the key from above step and paste it in the terraform directory. Rename it as cred.json .
- Open terminal in terraform directory.
- Run terraform init
- Run terraform apply -var project_id=your project id present in cred.json.
Terraform will take care of all the infrastructure required by the test runner.
FYI: Firestore can be enabled only once per project and it can never be destroyed.
- In your terminal cd to test-runner-frontend folder.
- Run
npm installto install all dependencies.
- In your terminal cd to test-runner-frontend folder.
- Run
npm startto run the app locally, then open this URL on your browser: http://localhost:3000/graphql-java-test-runner. - To look at the code, just open up the project in your favorite code editor.
- In your terminal cd to test-runner-frontend folder.
- To run all tests run
npm tests. - To run all tests with coverage precentage run
npm test -- --coverage.
- In your terminal cd to test-runner-frontend folder.
- Run
npm run deploy, then open this URL on your browser: https://adarsh-jaiswal.github.io/graphql-java-test-runner/ - NOTE: Changes might take up to 10 minutes to reflect.
Please note that this project is released with a Contributor Code of Conduct. By contributing to this project (commenting or opening PR/Issues etc) you are agreeing to follow this conduct, so please take the time to read it.
Copyright (c) 2015, Andreas Marek and Contributors
YourKit supports this project by providing the YourKit Java Profiler.
