Skip to content

Fix DataRetrieverApiIT.testRetrieveMyDataCollections() for github mig…#12372

Open
stevenwinship wants to merge 2 commits intodevelopfrom
12371-fix-dataretriever-api-test-for-github
Open

Fix DataRetrieverApiIT.testRetrieveMyDataCollections() for github mig…#12372
stevenwinship wants to merge 2 commits intodevelopfrom
12371-fix-dataretriever-api-test-for-github

Conversation

@stevenwinship
Copy link
Copy Markdown
Contributor

@stevenwinship stevenwinship commented Apr 30, 2026

What this PR does / why we need it: DataRetrieverApiIT.testRetrieveMyDataCollections() fails in Github

Which issue(s) this PR closes: #12371

Special notes for your reviewer:

Suggestions on how to test this:

Does this PR introduce a user interface change? If mockups are available, please link/include them here:

Is there a release notes update needed for this change?:

Additional documentation:

@stevenwinship stevenwinship self-assigned this Apr 30, 2026
@stevenwinship stevenwinship moved this to In Progress 💻 in IQSS Dataverse Project Apr 30, 2026
@github-actions github-actions Bot added FY26 Sprint 22 FY26 Sprint 22 (2026-04-22 - 2026-05-06) Size: 10 A percentage of a sprint. 7 hours. Type: Bug a defect labels Apr 30, 2026
@stevenwinship
Copy link
Copy Markdown
Contributor Author

related to issue #12368

@coveralls
Copy link
Copy Markdown

coveralls commented Apr 30, 2026

Coverage Status

coverage: 24.96%. remained the same — 12371-fix-dataretriever-api-test-for-github into develop

@github-actions

This comment has been minimized.

Copy link
Copy Markdown
Member

@pdurbin pdurbin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A quick look.

Comment thread src/test/java/edu/harvard/iq/dataverse/api/DataRetrieverApiIT.java Outdated
@pdurbin pdurbin moved this from In Progress 💻 to In Review 🔎 in IQSS Dataverse Project Apr 30, 2026
@pdurbin pdurbin self-assigned this Apr 30, 2026
@github-actions

This comment has been minimized.

@stevenwinship stevenwinship removed their assignment Apr 30, 2026
@srmanda-cs
Copy link
Copy Markdown

srmanda-cs commented May 1, 2026

After a quick check a few days back when I changed User 1 to greater than or equal to, the assertions seemed to be failing for User 2 and User 3 as well. There was always one extra dataset than expected. It was a different ID from user1's extra collection but it remained consistent from test to test. This is the primary reason why I changed it to disabled instead.

@stevenwinship stevenwinship force-pushed the 12371-fix-dataretriever-api-test-for-github branch from 3a68a2f to 1ecd12c Compare May 2, 2026 14:14
@stevenwinship
Copy link
Copy Markdown
Contributor Author

@srmanda-cs Did the new test show that the root count changed from 1 to 2? If not then there is another issue. The root count should be added to each user's count and therefore work. I can't get it to fail locally so it's hard to test

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 2, 2026

📦 Pushed preview images as

ghcr.io/gdcc/dataverse:12371-fix-dataretriever-api-test-for-github
ghcr.io/gdcc/configbaker:12371-fix-dataretriever-api-test-for-github

🚢 See on GHCR. Use by referencing with full name as printed above, mind the registry name.

@srmanda-cs
Copy link
Copy Markdown

srmanda-cs commented May 2, 2026

@srmanda-cs Did the new test show that the root count changed from 1 to 2? If not then there is another issue. The root count should be added to each user's count and therefore work. I can't get it to fail locally so it's hard to test

I realize that it is incredibly difficult to test, because it is so environment specific :(

I have little to no idea why that specific test is failing. All I realize is that when I changed it to greater than or equal to for user1, user2 returned 18 count instead of the expected 17. The root dataverse count remains constant, it is the number of other dataverses that the users have access to that have increased. Its very similar to how the Mail test was the only one failing along with this when I just ran a full Maven verify.

And as I have mentioned to Phil previously, I really don't want to create more work for y'all than you already have. I can provide you with more testing, more logs, and more specific details but it will take me a lot of time to dig into this as its a novel codebase to me. Which is why I sought your help.

@pdurbin
Copy link
Copy Markdown
Member

pdurbin commented May 2, 2026

I'm thinking we should merge the new GitHub Action first:

Then we should rebase this PR (#12372) after the merge and see if it's passing or not.

@stevenwinship
Copy link
Copy Markdown
Contributor Author

@srmanda-cs It's not making more work for us. It's helping us understand the issues that can arise from the migration. I have gone through this migration before between Jenkins and GitLab. Asynchronous tests and Test suites that have different settings (JVM, etc.) can greatly speed up testing but do make testing a bit more challenging.
If you can comment here with the logs I would appreciate it.

@srmanda-cs
Copy link
Copy Markdown

srmanda-cs commented May 4, 2026

This is one of the runs that outlines the specific test failure: https://github.com/IQSS-Dataverse-Development/dataverse/actions/runs/25069771575

The specific workflow file, the code changes, the full docker logs, and the full execution run can be obtained from these single links. If you click on the workflow button, then go to the gear icon, and click download raw logs you should see multiple megabytes worth of raw logs.

This is what I've noticed happens when I change it to greater than or equal to for user1, user 2 starts failing: https://github.com/IQSS-Dataverse-Development/dataverse/actions/runs/25071885059

I believe these logs to be very comprehensive and thorough, but also immensely dense and hard to read. I genuinely appreciate your help! My initial thoughts were that they're a permissions issue letting :authenticated-users see more dataverses than they're allowed to. But jenkins truncates all test output, so I couldn't directly verify it. Please let me know wherever I can help, I am ready to jump in.

@stevenwinship
Copy link
Copy Markdown
Contributor Author

I think the better solution is to not look at the size of the list but to verify the contents include the desired collections

@srmanda-cs
Copy link
Copy Markdown

I think the better solution is to not look at the size of the list but to verify the contents include the desired collections

If it fits the purpose of why the test exists, then it sounds like an amazing solution to me!

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

Labels

FY26 Sprint 22 FY26 Sprint 22 (2026-04-22 - 2026-05-06) Size: 10 A percentage of a sprint. 7 hours. Type: Bug a defect

Projects

Status: In Review 🔎

Development

Successfully merging this pull request may close these issues.

Fix DataRetrieverApiIT.testRetrieveMyDataCollections() on Github actions

4 participants