| # Goldens Files For Integration Test |
| |
| This folder contains goldens files that are expected to be generated from Java Microgenerator |
| against different APIs. For example `redis` folder has all the Java source files in the generated |
| Redis client library. They are all actual Java files, but used as goldens. |
| |
| ## Purpose |
| |
| When running integration test for the Java Microgenerator using the below command, |
| the goldens files in this folder will be used to compare with the actual generated Java source |
| files. |
| If they are not identical, then the integration test will fail. |
| |
| ```sh |
| bazelisk test //test/integration:redis |
| ``` |
| |
| ## How To Update Goldens |
| |
| If the actual generated Java source files are not identical with the goldens files, and we want to |
| update the goldens using source files. Run the command below to overwrite the goldens files |
| in `redis` folder. |
| |
| ```sh |
| bazelisk run //test/integration:update_redis |
| ``` |
| |
| ## Adding new integration tests |
| |
| If you are adding a new API for integration testing, be sure to add it in the `BUILD.bazel` under |
| the `Integration Test Rules` and add the `java_gapic_test` rules for the new API under |
| the `API Library Rules` section. |
| |
| You need to manually create a new directory for your new API under the `test/integration/goldens` |
| with the same name you've used for the `Integration Test Rules`. Then when you run the command to |
| update goldens (above), it will automatically create the goldens needed. |