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

feat: RepositoryProvider.revision now public property #5500

Merged
merged 5 commits into from
Nov 15, 2024

Conversation

swingingsimian
Copy link
Collaborator

One line change to make the RepositoryProvider.revision a public property. The driver for this is to allow clients to better manage repository validation by allowing the RepositoryProvider to be the source of truth for the current revision that is set.

An alternate approach would be to add revision validation within the RepositoryProvider itself, e.g.
setRevision(String revision, boolean validateRevision = false)
Validation could then proceed by verifying the revision is present in getBranches or getTags.

Copy link

netlify bot commented Nov 12, 2024

Deploy Preview for nextflow-docs-staging canceled.

Name Link
🔨 Latest commit be2da4b
🔍 Latest deploy log https://app.netlify.com/sites/nextflow-docs-staging/deploys/6737092c72f95e0008f918e1

Comment on lines 112 to 120
def 'should have public revision property' () {
given:
def provider = Spy(RepositoryProvider)
when:
provider.revision = 'branch_or_tag'
then:
provider.revision == 'branch_or_tag'
provider.hasProperty('revision') ? true : false
}
Copy link
Member

Choose a reason for hiding this comment

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

Do we need a unit test for this? I don't think the test will actually test anything because Spock can access protected members on a spy anyway

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

The property getter (i.e. provider.revision == 'branch_or_tag'), definitely raises a MissingMethodException exception if the field is protected. Although tbh I wasn't expecting that as the test is in the same package, so should have access. The hasProperty test was my attempt to assert that is is actually property and hence public.

This is however moot given Paolo's comments below which I will address. And this test will go away.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Another option here would be to have test in another package to assert the public API. I don't currently see this pattern in the repo though, so will take you guidance on whether this is required of not.

@pditommaso pditommaso merged commit f0a4c52 into master Nov 15, 2024
21 checks passed
@pditommaso pditommaso deleted the make_RepositoryProvider_revision_public branch November 15, 2024 09:29
alberto-miranda pushed a commit to alberto-miranda/nextflow that referenced this pull request Nov 19, 2024
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.

3 participants