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

Add an integration test that verifies unchanged data on re-indexing #252

Open
aaron-collier opened this issue Apr 30, 2021 · 10 comments
Open

Comments

@aaron-collier
Copy link
Contributor

@andrewjbtw has a test collection in stage that should be used for an integration test that captures all metadata and the public xml, then performs a reindex and verifies that none of the data changed.

This will help verify that changes to dor_indexing_app will not introduce unexpected indexing bugs into production.

@jcoyne
Copy link
Contributor

jcoyne commented Apr 30, 2021

How would we run that integration test on qa?

@aaron-collier
Copy link
Contributor Author

Mirror the collection on QA? I believe it was manually setup in the first place, that could be done again.

@jcoyne
Copy link
Contributor

jcoyne commented Apr 30, 2021

What if the data gets screwed up or removed from those environments? If we just check for "it doesn't change", then it might not be as good as ensuring we have a test in DSA for each of the scenarios he's identified.

@aaron-collier
Copy link
Contributor Author

I think those are questions/details that can be discussed when we can work on this. I'm just capturing the need for a test that we've seen changes not get caught in our existing testing. This may not be doable, but I'd like to at least capture the need for now.

@jcoyne
Copy link
Contributor

jcoyne commented Apr 30, 2021

I guess I'm wondering if the goal is for dor_indexing_app to behave a certain way, why not write the tests in dor_indexing_app? We should avoid adding new tests to infrastructure-integration-test unless there's a multi-service integration that can't be done in an test suite that we run on every commit.

@andrewjbtw
Copy link

To clarify: this collection has all the rights metadata but not all the options for other types of metadata.

@ndushay
Copy link
Contributor

ndushay commented May 5, 2021

Note that there is access_indexing_spec already in integration tests that creates a single new item, and loops through various access settings and checks the indexed value for each access setting. This may be sufficient. Note that this test is off by default.

@ndushay
Copy link
Contributor

ndushay commented May 5, 2021

It is useful to have an integration test that assures that changes in, say Argo, not only are stored correctly in SDR, but are also indexed correctly. The test I wrote changes the object and also looks for index changes.

@jcoyne
Copy link
Contributor

jcoyne commented May 5, 2021

If you want that, then the Argo test suite might be the way to go. It has all of those components running and it will be run automatically on every change, unlike this test suite which must be run manually.

@justinlittman
Copy link
Contributor

But an Argo test won't test changes in dor-services-app or dor-indexing-app, right? (At least until the changes are committed to main and a new container is built and a change is made to Argo that causes the Argo test suite to be run.)

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

No branches or pull requests

5 participants