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

Use wiremock in integration tests #21

Open
wants to merge 39 commits into
base: main
Choose a base branch
from

Conversation

matt-richardson
Copy link

@matt-richardson matt-richardson commented Jan 2, 2025

The integration tests relied on a TeamCity server being setup in a very specific way.
(eg, it assumed that guest access was enabled, that certain projects existed etc)

This was very difficult to setup a reproducible environment to run the tests against.

I considered using a combination of terraform and teamcity config-as-code, but thought the bang for buck wasn't there - running the tests would involve spinning up a real teamcity server, which takes a while and would likely be a bit challenging.

Instead, I went down the wiremock path, using the record/replay mapping file approach (as opposed to the "set it up in code" approach).

It mostly worked well, but some of the tests were not well suited - some of these were deleted, some were combined and some got turned into scenarios.

Some tests called the same url, but with different user/password, meaning that I had to save the auth header to the files to help distinguish between them. Not ideal, but all passwords used have been rotated and are no longer valid.

While we've got fast, reliable tests, I'm not sure how maintainable they are, nor how well they'll suite us in the future.
Interested in hearing thoughts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant