/** * Creates VersionInfo from {@link VersionInfoProperties}. * * @param versionInfoProperties properties used to configure the version information. * @return VersionInfo */ public static VersionInfo versionInfo(final VersionInfoProperties versionInfoProperties) { return versionInfo(versionInfoProperties, null); }
/** * Creates VersionInfo from Spring Boot {@link GitProperties}. Missing Information ({@link #version} and * {@link #url})is filled from VersionInfoProperties. * * @param versionInfoProperties Edison VersionInfoProperties used for version and url * @param gitProperties Spring Boot GitProperties for all the other properties. * @return VersionInfo */ public static VersionInfo versionInfo(final VersionInfoProperties versionInfoProperties, final GitProperties gitProperties) { return new VersionInfo(versionInfoProperties, gitProperties); }
@Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; ApplicationStatus that = (ApplicationStatus) o; if (application != null ? !application.equals(that.application) : that.application != null) return false; if (system != null ? !system.equals(that.system) : that.system != null) return false; if (vcs != null ? !vcs.equals(that.vcs) : that.vcs != null) return false; if (team != null ? !team.equals(that.team) : that.team != null) return false; if (status != that.status) return false; if (statusDetails != null ? !statusDetails.equals(that.statusDetails) : that.statusDetails != null) return false; if (serviceSpecs != null ? !serviceSpecs.equals(that.serviceSpecs) : that.serviceSpecs != null) return false; return true; }
@Override public int hashCode() { int result = application != null ? application.hashCode() : 0; result = 31 * result + (system != null ? system.hashCode() : 0); result = 31 * result + (vcs != null ? vcs.hashCode() : 0); result = 31 * result + (team != null ? team.hashCode() : 0); result = 31 * result + (status != null ? status.hashCode() : 0); result = 31 * result + (statusDetails != null ? statusDetails.hashCode() : 0); result = 31 * result + (serviceSpecs != null ? serviceSpecs.hashCode() : 0); return result; }
@Bean @ConditionalOnMissingBean(VersionInfo.class) public VersionInfo versionInfo() { return VersionInfo.versionInfo(version, commit, vcsUrlTemplate); }
public static VersionInfo versionInfo(final String version, final String commit, final String vcsUrlTemplate) { return new VersionInfo(version, commit, vcsUrlTemplate); }
@Bean @ConditionalOnMissingBean(VersionInfo.class) public VersionInfo gitInfo(final VersionInfoProperties versionInfoProperties) { return VersionInfo.versionInfo(versionInfoProperties, gitProperties); }
@Bean VersionInfo versionInfo() { return VersionInfo.versionInfo(versionInfoProperties("1.0.0", "ab1234", "http://example.org/vcs/{version}")); }
@Test public void shouldCreateStatusRepresentationWithVersionInfo() { // given final StatusRepresentation json = statusRepresentationOf( applicationStatus(mock(ApplicationInfo.class), mock(ClusterInfo.class), mock(SystemInfo.class), VersionInfo.versionInfo(versionInfoProperties("1.0.0", "0815", "http://example.org/commits/{commit}")), mock(TeamInfo.class), emptyList()) ); // then assertThat(json.application.version, is("1.0.0")); assertThat(json.application.commit, is("0815")); assertThat(json.application.vcsUrl, is("http://example.org/commits/0815")); }
@Test public void shouldReplaceVersionInTemplate() { // given VersionInfo versionInfo = versionInfo(versionInfoProperties("42.0.1-RELEASE", "ab0816", "http://example.org/test/{version}")); // then assertThat(versionInfo.url, is("http://example.org/test/42.0.1-RELEASE")); }
@Test public void shouldReplaceCommitHashInTemplate() { // given VersionInfo versionInfo = versionInfo(versionInfoProperties("42.0.1-RELEASE", "ab0816", "http://example.org/test/{commit}")); // then assertThat(versionInfo.url, is("http://example.org/test/ab0816")); }
@Test public void shouldBuildVersionInfoFromGitProperties() { // given VersionInfo versionInfo = versionInfo( versionInfoProperties("42.0.1-RELEASE", "ignored", "http://example.org/test/{version}"), gitProperties("abc4711")); // then assertThat(versionInfo.commitId, is("abc4711")); assertThat(versionInfo.version, is("42.0.1-RELEASE")); assertThat(versionInfo.url, is("http://example.org/test/42.0.1-RELEASE")); }