Skip to content

Commit 23b2654

Browse files
committed
Work around JENKINS-67309
1 parent 3f62c0d commit 23b2654

File tree

1 file changed

+34
-4
lines changed

1 file changed

+34
-4
lines changed

src/test/java/jenkins/plugins/git/GlobalLibraryWithModernJCasCCompatibilityTest.java

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import hudson.plugins.git.extensions.impl.UserIdentity;
88
import io.jenkins.plugins.casc.misc.RoundTripAbstractTest;
99
import jenkins.plugins.git.traits.AuthorInChangelogTrait;
10-
import jenkins.plugins.git.traits.BranchDiscoveryTrait;
1110
import jenkins.plugins.git.traits.CheckoutOptionTrait;
1211
import jenkins.plugins.git.traits.CleanAfterCheckoutTrait;
1312
import jenkins.plugins.git.traits.CleanBeforeCheckoutTrait;
@@ -21,12 +20,13 @@
2120
import jenkins.plugins.git.traits.RefSpecsSCMSourceTrait;
2221
import jenkins.plugins.git.traits.RemoteNameSCMSourceTrait;
2322
import jenkins.plugins.git.traits.SubmoduleOptionTrait;
24-
import jenkins.plugins.git.traits.TagDiscoveryTrait;
2523
import jenkins.plugins.git.traits.UserIdentityTrait;
2624
import jenkins.plugins.git.traits.WipeWorkspaceTrait;
2725
import jenkins.scm.api.SCMSource;
2826
import jenkins.scm.impl.trait.RegexSCMHeadFilterTrait;
2927
import jenkins.scm.impl.trait.WildcardSCMHeadFilterTrait;
28+
import org.hamcrest.Description;
29+
import org.hamcrest.DiagnosingMatcher;
3030
import org.jenkinsci.plugins.workflow.libs.GlobalLibraries;
3131
import org.jenkinsci.plugins.workflow.libs.LibraryConfiguration;
3232
import org.jenkinsci.plugins.workflow.libs.LibraryRetriever;
@@ -64,11 +64,13 @@ protected void assertConfiguredAsExpected(RestartableJenkinsRule restartableJenk
6464
assertThat(gitSCMSource.getTraits(), containsInAnyOrder(
6565
//Discover branches
6666
allOf(
67-
instanceOf(BranchDiscoveryTrait.class)
67+
new SimpleNameMatcher("BranchDiscoveryTrait")
68+
// TODO after JENKINS-67309 instanceOf(BranchDiscoveryTrait.class)
6869
),
6970
// Discover tags
7071
allOf(
71-
instanceOf(TagDiscoveryTrait.class)
72+
new SimpleNameMatcher("TagDiscoveryTrait")
73+
// TODO after JENKINS-67309 instanceOf(TagDiscoveryTrait.class)
7274
),
7375
// Check out to matching local branch
7476
allOf(
@@ -188,4 +190,32 @@ protected String stringInLogExpected() {
188190
protected String configResource() {
189191
return "global-with-modern-casc.yaml";
190192
}
193+
194+
private static final class SimpleNameMatcher extends DiagnosingMatcher<Object> {
195+
private final String expectedSimpleName;
196+
197+
public SimpleNameMatcher(String expectedSimpleName) {
198+
this.expectedSimpleName = expectedSimpleName;
199+
}
200+
201+
@Override
202+
protected boolean matches(Object item, Description mismatch) {
203+
if (item == null) {
204+
mismatch.appendText("null");
205+
return false;
206+
}
207+
208+
if (!item.getClass().getSimpleName().equals(expectedSimpleName)) {
209+
mismatch.appendValue(item).appendText(" is a " + item.getClass().getName());
210+
return false;
211+
}
212+
213+
return true;
214+
}
215+
216+
@Override
217+
public void describeTo(Description description) {
218+
description.appendText("an instance of ").appendText(expectedSimpleName);
219+
}
220+
}
191221
}

0 commit comments

Comments
 (0)