blob: 982c3f7619836587d184c3d9590bd44235c1fc23 [file] [log] [blame]
== Camel Quarkus Google BigQuery Integration Tests
=== Real service
Note that the GCP free tier & sandbox mode does not provide the required capabilities (streaming inserts & queries) that enable the tests to run successfully.
The simplest means of setting up authentication is via a https://cloud.google.com/docs/authentication/getting-started[service account]. Use the GCP UI to export
a JSON representation of your credentials.
You should now set the following environment variables:
[source,shell]
----
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json
export GOOGLE_PROJECT_ID=your-gcloud-project-id
----
=== Wiremock
Wiremocked backend is used for the tests if nor `GOOGLE_APPLICATION_CREDENTIALS` neither `GOOGLE_PROJECT_ID` is provided.
Interaction with Google Cloud API was https://wiremock.org/docs/record-playback/[recorded] and saved into the folder`src/test/resources/mappings`.
In case that a new test is created (or existing one upated) you can use special settings to help you capture a communication between the tests and Google Cloud API. Recoding is described in the https://wiremock.org/docs/record-playback/[Wiremock guide].
==== Recording
More details can be found in the `wiremock-support` extension.
Quick guide:
* Export both authentication properties required for the real account.
[source,shell]
----
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json
export GOOGLE_PROJECT_ID=your-gcloud-project-id
----
* Turn recording on by
System property `-Dwiremock.record=true`
Or
Environment variable `WIREMOCK_RECORD=true`
* Run the tests.
* If the real project differs from `test-project`, please replace all text occurrences in the mapping files to the test one.
* If you are recording the sql component, you have to manually replace all occurrences of the `jobId` to the jobId forced by the test.