Skip to content

Commit

Permalink
[FIXED JENKINS-56656] Added a UNTRUSTED flag
Browse files Browse the repository at this point in the history
  • Loading branch information
stephenc committed Mar 21, 2019
1 parent e7004d0 commit 021ac0a
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 1 deletion.
Expand Up @@ -35,6 +35,12 @@ public enum MockChangeRequestFlags {
public boolean isApplicable(Set<MockRepositoryFlags> flags) {
return flags.contains(MockRepositoryFlags.FORKABLE);
}
},
UNTRUSTED {
@Override
public boolean isApplicable(Set<MockRepositoryFlags> flags) {
return flags.contains(MockRepositoryFlags.TRUST_AWARE);
}
};

public abstract boolean isApplicable(Set<MockRepositoryFlags> flags);
Expand Down
7 changes: 6 additions & 1 deletion src/test/java/jenkins/scm/impl/mock/MockRepositoryFlags.java
Expand Up @@ -32,5 +32,10 @@ public enum MockRepositoryFlags {
/**
* Enables marking change requests as {@link MockChangeRequestFlags#FORK}.
*/
FORKABLE;
FORKABLE,
/**
* The repository has the concept of trust for change requests and will report change requests marked {@link
* MockChangeRequestFlags#UNTRUSTED} as untrusted.
*/
TRUST_AWARE;
}
20 changes: 20 additions & 0 deletions src/test/java/jenkins/scm/impl/mock/MockSCMSource.java
Expand Up @@ -311,6 +311,26 @@ protected List<Action> retrieveActions(@NonNull SCMHead head,
return result;
}

@NonNull
@Override
public SCMRevision getTrustedRevision(@NonNull SCMRevision revision, @NonNull TaskListener listener)
throws IOException, InterruptedException {
// only apply the latency if we need to check trust
if (controller().getFlags(repository).contains(MockRepositoryFlags.TRUST_AWARE)
&& revision instanceof MockChangeRequestSCMRevision) {
controller().applyLatency();
MockChangeRequestSCMRevision crRevision = (MockChangeRequestSCMRevision) revision;
MockChangeRequestSCMHead crHead = (MockChangeRequestSCMHead) (crRevision.getHead());
controller().checkFaults(repository, crHead.getName(), crRevision.getHash(), false);
return controller().getFlags(repository, crHead.getNumber())
.contains(MockChangeRequestFlags.UNTRUSTED)
? crRevision.getTarget()
: crRevision;
} else {
return revision;
}
}

@Override
public void afterSave() {
controller().afterSave(this);
Expand Down

0 comments on commit 021ac0a

Please sign in to comment.