mirror of
https://github.com/scm-manager/scm-manager.git
synced 2026-02-22 06:26:56 +01:00
fix review findings
This commit is contained in:
@@ -55,10 +55,10 @@ class ReleaseFeedParserTest {
|
||||
|
||||
when(client.get(url).request().contentFromXml(ReleaseFeedDto.class)).thenReturn(createReleaseFeedDto());
|
||||
|
||||
Optional<ReleaseInfo> release = releaseFeedParser.findLatestRelease(url);
|
||||
Optional<UpdateInfo> release = releaseFeedParser.findLatestRelease(url);
|
||||
|
||||
assertThat(release).isPresent();
|
||||
assertThat(release.get().getVersion()).isEqualTo("3");
|
||||
assertThat(release.get().getLatestVersion()).isEqualTo("3");
|
||||
assertThat(release.get().getLink()).isEqualTo("download-3");
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ class ReleaseFeedParserTest {
|
||||
ReleaseFeedDto.Release release1 = createRelease("1", "download-1", new Date(1000000000L));
|
||||
ReleaseFeedDto.Release release2 = createRelease("2", "download-2", new Date(2000000000L));
|
||||
ReleaseFeedDto.Release release3 = createRelease("3", "download-3", new Date(3000000000L));
|
||||
ReleaseFeedDto.Channel channel = new ReleaseFeedDto.Channel("scm", "scm releases", "scm-download", "gatsby", new Date(1L), ImmutableList.of(release1, release2, release3));
|
||||
ReleaseFeedDto.Channel channel = new ReleaseFeedDto.Channel(ImmutableList.of(release1, release2, release3));
|
||||
return new ReleaseFeedDto(channel);
|
||||
}
|
||||
|
||||
|
||||
@@ -60,40 +60,40 @@ class ReleaseVersionCheckerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldReturnEmptyOptional() throws IOException {
|
||||
void shouldReturnEmptyOptional() {
|
||||
when(scmConfiguration.getReleaseFeedUrl()).thenReturn("releaseFeed");
|
||||
when(feedReader.findLatestRelease("releaseFeed")).thenReturn(Optional.empty());
|
||||
|
||||
Optional<ReleaseInfo> releaseInfo = checker.checkForNewerVersion();
|
||||
Optional<UpdateInfo> updateInfo = checker.checkForNewerVersion();
|
||||
|
||||
assertThat(releaseInfo).isNotPresent();
|
||||
assertThat(updateInfo).isNotPresent();
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldReturnReleaseInfoFromCache() {
|
||||
ReleaseInfo cachedReleaseInfo = new ReleaseInfo("1.42.9", "download-link");
|
||||
Cache<String, ReleaseInfo> cache = new MapCacheManager().getCache("sonia.cache.releaseInfo");
|
||||
cache.put("latest", cachedReleaseInfo);
|
||||
void shouldReturnUpdateInfoFromCache() {
|
||||
UpdateInfo cachedUpdateInfo = new UpdateInfo("1.42.9", "download-link");
|
||||
Cache<String, Optional<UpdateInfo>> cache = new MapCacheManager().getCache("sonia.cache.updateInfo");
|
||||
cache.put("latestRelease", Optional.of(cachedUpdateInfo));
|
||||
checker.setCache(cache);
|
||||
|
||||
Optional<ReleaseInfo> releaseInfo = checker.checkForNewerVersion();
|
||||
Optional<UpdateInfo> updateInfo = checker.checkForNewerVersion();
|
||||
|
||||
assertThat(releaseInfo).isPresent();
|
||||
assertThat(releaseInfo.get().getVersion()).isEqualTo("1.42.9");
|
||||
assertThat(releaseInfo.get().getLink()).isEqualTo("download-link");
|
||||
assertThat(updateInfo).isPresent();
|
||||
assertThat(updateInfo.get().getLatestVersion()).isEqualTo("1.42.9");
|
||||
assertThat(updateInfo.get().getLink()).isEqualTo("download-link");
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldReturnReleaseInfo() throws IOException {
|
||||
ReleaseInfo releaseInfo = new ReleaseInfo("2.5.0", "download-link");
|
||||
void shouldReturnUpdateInfo() {
|
||||
UpdateInfo updateInfo = new UpdateInfo("2.5.0", "download-link");
|
||||
when(scmConfiguration.getReleaseFeedUrl()).thenReturn("releaseFeed");
|
||||
when(feedReader.findLatestRelease("releaseFeed")).thenReturn(Optional.of(releaseInfo));
|
||||
when(feedReader.findLatestRelease("releaseFeed")).thenReturn(Optional.of(updateInfo));
|
||||
when(contextProvider.getVersion()).thenReturn("1.9.0");
|
||||
|
||||
Optional<ReleaseInfo> latestRelease = checker.checkForNewerVersion();
|
||||
Optional<UpdateInfo> latestRelease = checker.checkForNewerVersion();
|
||||
|
||||
assertThat(latestRelease).isPresent();
|
||||
assertThat(latestRelease.get().getVersion()).isEqualTo("2.5.0");
|
||||
assertThat(latestRelease.get().getLatestVersion()).isEqualTo("2.5.0");
|
||||
assertThat(latestRelease.get().getLink()).isEqualTo("download-link");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,25 +22,41 @@
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
package sonia.scm.admin;
|
||||
package sonia.scm.api.v2.resources;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import sonia.scm.api.v2.resources.ReleaseInfoDto;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
import sonia.scm.admin.UpdateInfo;
|
||||
import sonia.scm.api.v2.resources.UpdateInfoDto;
|
||||
import sonia.scm.api.v2.resources.UpdateInfoMapper;
|
||||
import sonia.scm.api.v2.resources.UpdateInfoMapperImpl;
|
||||
import sonia.scm.api.v2.resources.ResourceLinks;
|
||||
import sonia.scm.api.v2.resources.ResourceLinksMock;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.net.URI;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
class ReleaseInfoMapperTest {
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
class UpdateInfoMapperTest {
|
||||
|
||||
ReleaseInfoMapper mapper = new ReleaseInfoMapperImpl();
|
||||
private final URI baseUri = URI.create("https://hitchhiker.com/scm/");
|
||||
|
||||
@SuppressWarnings("unused") // Is injected
|
||||
private final ResourceLinks resourceLinks = ResourceLinksMock.createMock(baseUri);
|
||||
|
||||
@InjectMocks
|
||||
private UpdateInfoMapperImpl mapper;
|
||||
|
||||
@Test
|
||||
void shouldMapToDto() {
|
||||
ReleaseInfo releaseInfo = new ReleaseInfo("1.2.3", "download-link");
|
||||
ReleaseInfoDto dto = mapper.map(releaseInfo);
|
||||
UpdateInfo updateInfo = new UpdateInfo("1.2.3", "download-link");
|
||||
UpdateInfoDto dto = mapper.map(updateInfo);
|
||||
|
||||
assertThat(dto.getLink()).isEqualTo(releaseInfo.getLink());
|
||||
assertThat(dto.getVersion()).isEqualTo(releaseInfo.getVersion());
|
||||
assertThat(dto.getLink()).isEqualTo(updateInfo.getLink());
|
||||
assertThat(dto.getLatestVersion()).isEqualTo(updateInfo.getLatestVersion());
|
||||
assertThat(dto.getLinks().getLinkBy("self").get().getHref()).isEqualTo("https://hitchhiker.com/scm/updateInfo");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user