2fa58f6bc973f630c89a2fa9769331e955d08875
java/com.sap.sse.landscape.test/src/com/sap/sse/landscape/impl/TestGithubReleaseRepository.java
| ... | ... | @@ -6,6 +6,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; |
| 6 | 6 | import static org.junit.jupiter.api.Assertions.assertNull; |
| 7 | 7 | |
| 8 | 8 | import org.junit.jupiter.api.BeforeAll; |
| 9 | +import org.junit.jupiter.api.Disabled; |
|
| 9 | 10 | import org.junit.jupiter.api.Test; |
| 10 | 11 | |
| 11 | 12 | import com.sap.sse.common.Util; |
| ... | ... | @@ -57,4 +58,10 @@ public class TestGithubReleaseRepository { |
| 57 | 58 | assertNull( |
| 58 | 59 | repository.getNextPageURL("<https://api.github.com/repositories/790295432/releases?per_page=100&page=7>; rel=\"prev\", <https://api.github.com/repositories/790295432/releases?per_page=100&page=1>; rel=\"first\"")); |
| 59 | 60 | } |
| 61 | + |
|
| 62 | + @Disabled("Goes against a harsh GitHub rate limit of 60 requests per hour, so enable only for one-time manual tests") |
|
| 63 | + @Test |
|
| 64 | + public void testOldDocker17ReleaseExists() { |
|
| 65 | + assertFalse(Util.isEmpty(Util.filter(repository, release->release.getName().equals("docker-17-202404262046")))); |
|
| 66 | + } |
|
| 60 | 67 | } |
java/com.sap.sse.landscape/src/com/sap/sse/landscape/impl/AbstractReleaseRepository.java
| ... | ... | @@ -24,7 +24,6 @@ public abstract class AbstractReleaseRepository implements ReleaseRepository { |
| 24 | 24 | if (release.getBaseName().equals(releaseNamePrefix) && |
| 25 | 25 | (result == null || release.getCreationDate().after(result.getCreationDate()))) { |
| 26 | 26 | result = release; |
| 27 | - break; |
|
| 28 | 27 | } |
| 29 | 28 | } |
| 30 | 29 | return result; |
java/com.sap.sse.landscape/src/com/sap/sse/landscape/impl/GithubReleasesRepository.java
| ... | ... | @@ -80,6 +80,18 @@ public class GithubReleasesRepository extends AbstractReleaseRepository implemen |
| 80 | 80 | this.lastFetchOfNewestReleases = null; |
| 81 | 81 | } |
| 82 | 82 | |
| 83 | + @Override |
|
| 84 | + public Release getLatestRelease(String releaseNamePrefix) { |
|
| 85 | + Release result = null; |
|
| 86 | + for (final Release release : this) { // invokes the iterator() method |
|
| 87 | + if (release.getBaseName().equals(releaseNamePrefix)) { |
|
| 88 | + result = release; |
|
| 89 | + break; // here we assume that releases are enumerated from newest to oldest |
|
| 90 | + } |
|
| 91 | + } |
|
| 92 | + return result; |
|
| 93 | + } |
|
| 94 | + |
|
| 83 | 95 | private String getRepositoryPath() { |
| 84 | 96 | return owner+"/"+repositoryName; |
| 85 | 97 | } |