Skip to content

Commit ca4d5c9

Browse files
committed
Add comparison of staging algorithms and versions
1 parent 1abb575 commit ca4d5c9

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

src/test/java/com/imsweb/seerapi/compare/ComparisonTest.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,12 @@
2929
import com.imsweb.seerapi.client.rx.Rx;
3030
import com.imsweb.seerapi.client.rx.RxSearchResults;
3131
import com.imsweb.seerapi.client.rx.RxService;
32+
import com.imsweb.seerapi.client.staging.StagingAlgorithm;
3233
import com.imsweb.seerapi.client.staging.StagingSchema;
3334
import com.imsweb.seerapi.client.staging.StagingSchemaInfo;
3435
import com.imsweb.seerapi.client.staging.StagingService;
3536
import com.imsweb.seerapi.client.staging.StagingTable;
37+
import com.imsweb.seerapi.client.staging.StagingVersion;
3638

3739
import static org.assertj.core.api.Assertions.assertThat;
3840

@@ -121,6 +123,30 @@ private Map<String, String> getAlgorithmVersions() {
121123
return versions;
122124
}
123125

126+
@Test
127+
void testStagingAlgorithmsAndVersions() throws IOException {
128+
StagingService prodService = new SeerApi.Builder().url(PROD_URL).apiKey(getApiKey()).connect().staging();
129+
StagingService localService = new SeerApi.Builder().url(LOCAL_URL).apiKey(getApiKey()).connect().staging();
130+
131+
List<StagingAlgorithm> prodAlgorithms = prodService.algorithms().execute().body();
132+
List<StagingAlgorithm> localAlgorithms = localService.algorithms().execute().body();
133+
134+
assertThat(localAlgorithms)
135+
.hasSameSizeAs(prodAlgorithms) // Ensure both lists have the same size
136+
.usingRecursiveComparison()
137+
.isEqualTo(prodAlgorithms);
138+
139+
for (StagingAlgorithm algorithm : Objects.requireNonNull(prodAlgorithms)) {
140+
List<StagingVersion> prodVersions = prodService.versions(algorithm.getAlgorithm()).execute().body();
141+
List<StagingVersion> localVersions = localService.versions(algorithm.getAlgorithm()).execute().body();
142+
143+
assertThat(localVersions)
144+
.hasSameSizeAs(prodVersions)
145+
.usingRecursiveComparison()
146+
.isEqualTo(prodVersions);
147+
}
148+
}
149+
124150
@Test
125151
void testStagingSchemas() throws IOException {
126152
StagingService prodService = new SeerApi.Builder().url(PROD_URL).apiKey(getApiKey()).connect().staging();

0 commit comments

Comments
 (0)