Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 14 additions & 8 deletions test/integration/goldens/README.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,36 @@
# 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
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.
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
bazel test //test/integration:redis
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.
update the goldens using source files. Run the command below to overwrite the goldens files
in `redis` folder.

```sh
bazel run //test/integration:update_redis
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.
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.
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.