Skip to content

Commit dd36965

Browse files
add tests for overshare
1 parent 56af9da commit dd36965

6 files changed

Lines changed: 50 additions & 12 deletions

File tree

apps/bfd-pipeline/bfd-pipeline-idr/test_samples2/merged_benes/SYNTHETIC_BENE_HSTRY.csv

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@ BENE_SK,BENE_XREF_EFCTV_SK,BENE_XREF_SK,BENE_MBI_ID,BENE_LAST_NAME,BENE_1ST_NAME
33
848484848,517782585,517782585,2B19C89AA35,Heeler,Alex,Joey,1959-03-14,,~,1,4,14152 ND-27,,,,,,Lisbon,58054,ND,~,2024-06-12 01:06:49.588129,2024-11-05 18:51:29.174693,9999-12-31 00:00:00.000000,9999-12-31 00:00:00.000000,Y
44
121212121,517782585,517782585,2B19C89AA36,Heeler,Alex,Joey,1959-03-14,,~,1,4,14152 ND-27,,,,,,Lisbon,58054,ND,~,2024-06-12 01:06:49.588129,2024-11-05 18:51:29.174693,9999-12-31 00:00:00.000000,9999-12-31 00:00:00.000000,Y
55
232323232,517782585,517782585,2B19C89AA37,Heeler,Alex,Joey,1959-03-14,,~,1,4,14152 ND-27,,,,,,Lisbon,58054,ND,~,2024-06-12 01:06:49.588129,2024-11-05 18:51:29.174693,9999-12-31 00:00:00.000000,9999-12-31 00:00:00.000000,Y
6+
617782586,617782585,617782585,2B19C89AA38,Heeler,Alex,Joey,1959-03-14,,~,1,4,14152 ND-27,,,,,,Lisbon,58054,ND,~,2024-06-12 01:06:49.588129,2024-11-05 18:51:29.174693,9999-12-31 00:00:00.000000,9999-12-31 00:00:00.000000,Y
7+
617782587,617782585,617782587,2B19C89AA38,Heeler,Alex,Joey,1959-03-14,,~,1,4,14152 ND-27,,,,,,Lisbon,58054,ND,~,2024-06-12 01:06:49.588129,2024-11-05 18:51:29.174693,9999-12-31 00:00:00.000000,9999-12-31 00:00:00.000000,Y

apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/CoverageSearchIT.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import ca.uhn.fhir.rest.gclient.TokenClientParam;
1515
import ca.uhn.fhir.rest.server.exceptions.InvalidRequestException;
1616
import gov.cms.bfd.server.ng.util.DateUtil;
17-
import jakarta.persistence.EntityManager;
1817
import java.time.ZonedDateTime;
1918
import java.util.Comparator;
2019
import java.util.stream.Stream;
@@ -25,12 +24,8 @@
2524
import org.junit.jupiter.params.provider.Arguments;
2625
import org.junit.jupiter.params.provider.EnumSource;
2726
import org.junit.jupiter.params.provider.MethodSource;
28-
import org.springframework.beans.factory.annotation.Autowired;
2927

3028
public class CoverageSearchIT extends IntegrationTestBase {
31-
32-
@Autowired private EntityManager entityManager;
33-
3429
private IQuery<Bundle> searchBundle() {
3530
return getFhirClient().search().forResource(Coverage.class).returnBundle(Bundle.class);
3631
}

apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/EobSearchIT.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import gov.cms.bfd.server.ng.util.DateUtil;
1313
import gov.cms.bfd.server.ng.util.IdrConstants;
1414
import gov.cms.bfd.server.ng.util.SystemUrls;
15-
import jakarta.persistence.EntityManager;
1615
import java.time.LocalDate;
1716
import java.time.ZonedDateTime;
1817
import org.hl7.fhir.r4.model.Bundle;
@@ -21,10 +20,8 @@
2120
import org.junit.jupiter.params.ParameterizedTest;
2221
import org.junit.jupiter.params.provider.EnumSource;
2322
import org.junit.jupiter.params.provider.ValueSource;
24-
import org.springframework.beans.factory.annotation.Autowired;
2523

2624
public class EobSearchIT extends IntegrationTestBase {
27-
@Autowired private EntityManager entityManager;
2825

2926
private IQuery<Bundle> searchBundle() {
3027
return getFhirClient()

apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/IntegrationTestBase.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,15 @@
44
import au.com.origin.snapshots.junit5.SnapshotExtension;
55
import ca.uhn.fhir.context.FhirContext;
66
import ca.uhn.fhir.rest.client.api.IGenericClient;
7+
import jakarta.persistence.EntityManager;
78
import java.util.List;
89
import org.hl7.fhir.r4.model.Bundle;
910
import org.hl7.fhir.r4.model.Coverage;
1011
import org.hl7.fhir.r4.model.DomainResource;
1112
import org.hl7.fhir.r4.model.Extension;
1213
import org.hl7.fhir.r4.model.Patient;
1314
import org.junit.jupiter.api.extension.ExtendWith;
15+
import org.springframework.beans.factory.annotation.Autowired;
1416
import org.springframework.boot.test.context.SpringBootTest;
1517
import org.springframework.boot.test.web.server.LocalServerPort;
1618
import org.springframework.context.annotation.Import;
@@ -23,6 +25,7 @@
2325
public class IntegrationTestBase {
2426
@LocalServerPort protected int port;
2527
protected Expect expect;
28+
@Autowired protected EntityManager entityManager;
2629

2730
protected static final String HISTORICAL_MERGED_BENE_SK = "848484848";
2831
protected static final String HISTORICAL_MERGED_BENE_SK2 = "121212121";
@@ -31,6 +34,9 @@ public class IntegrationTestBase {
3134
protected static final String HISTORICAL_MERGED_MBI_KILL_CREDIT = "2B19C89AA37";
3235
protected static final String HISTORICAL_MERGED_MBI = "2B19C89AA36";
3336
protected static final String HISTORICAL_AND_CURRENT_MBI = "2B19C89AA35";
37+
protected static final String OVERSHARE_MBI = "2B19C89AA38";
38+
protected static final String OVERSHARE_BENE_SK1 = "617782586";
39+
protected static final String OVERSHARE_BENE_SK2 = "617782587";
3440

3541
protected static final String BENE_ID_PART_A_ONLY = "178083966";
3642
protected static final String BENE_ID_PART_B_ONLY = "365359727";

apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/PatientReadIT.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import org.junit.jupiter.api.Test;
1414
import org.junit.jupiter.params.ParameterizedTest;
1515
import org.junit.jupiter.params.provider.EmptySource;
16+
import org.junit.jupiter.params.provider.ValueSource;
1617

1718
public class PatientReadIT extends IntegrationTestBase {
1819
private IReadTyped<Patient> patientRead() {
@@ -96,6 +97,27 @@ void patientReadIdNotFound() {
9697
assertThrows(ResourceNotFoundException.class, readWithId::execute);
9798
}
9899

100+
@ValueSource(strings = {OVERSHARE_BENE_SK1, OVERSHARE_BENE_SK2})
101+
@ParameterizedTest
102+
void patientOvershareIdNotFound(String beneSk) {
103+
var mbis =
104+
entityManager
105+
.createNativeQuery(
106+
"SELECT bene_mbi_id FROM idr.beneficiary WHERE bene_sk = :beneSk", String.class)
107+
.setParameter("beneSk", Long.parseLong(beneSk))
108+
.getResultList();
109+
assertEquals(1, mbis.size());
110+
var overshare =
111+
entityManager
112+
.createNativeQuery(
113+
"SELECT * FROM idr.beneficiary_overshare_mbi WHERE bene_mbi_id = :mbi")
114+
.setParameter("mbi", mbis.getFirst())
115+
.getResultList();
116+
assertEquals(1, overshare.size());
117+
var readWithBeneSk = patientRead().withId(beneSk);
118+
assertThrows(ResourceNotFoundException.class, readWithBeneSk::execute);
119+
}
120+
99121
@Test
100122
void patientReadInvalidIdBadRequest() {
101123
var readWithId = patientRead().withId("abc");

apps/bfd-server-ng/src/test/java/gov/cms/bfd/server/ng/PatientSearchIT.java

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import ca.uhn.fhir.rest.server.exceptions.InvalidRequestException;
1414
import gov.cms.bfd.server.ng.util.DateUtil;
1515
import gov.cms.bfd.server.ng.util.SystemUrls;
16-
import jakarta.persistence.EntityManager;
1716
import java.time.ZonedDateTime;
1817
import java.util.Set;
1918
import java.util.stream.Collectors;
@@ -27,11 +26,8 @@
2726
import org.junit.jupiter.params.provider.EmptySource;
2827
import org.junit.jupiter.params.provider.EnumSource;
2928
import org.junit.jupiter.params.provider.MethodSource;
30-
import org.springframework.beans.factory.annotation.Autowired;
3129

3230
public class PatientSearchIT extends IntegrationTestBase {
33-
@Autowired private EntityManager entityManager;
34-
3531
private IQuery<Bundle> searchBundle() {
3632
return getFhirClient().search().forResource(Patient.class).returnBundle(Bundle.class);
3733
}
@@ -263,6 +259,26 @@ void patientSearchByDate(ICriterion<TokenClientParam> searchCriteriaId, String b
263259
}
264260
}
265261

262+
@Test
263+
void patientOvershareIdNotFound() {
264+
var overshare =
265+
entityManager
266+
.createNativeQuery(
267+
"SELECT * FROM idr.beneficiary_overshare_mbi WHERE bene_mbi_id = :mbi")
268+
.setParameter("mbi", OVERSHARE_MBI)
269+
.getResultList();
270+
assertEquals(1, overshare.size());
271+
272+
var searchWithId =
273+
searchBundle()
274+
.where(
275+
new TokenClientParam(Patient.SP_IDENTIFIER)
276+
.exactly()
277+
.systemAndIdentifier(SystemUrls.CMS_MBI, OVERSHARE_MBI))
278+
.execute();
279+
assertEquals(0, searchWithId.getEntry().size());
280+
}
281+
266282
@ParameterizedTest
267283
@EmptySource
268284
void patientSearchEmptyIdBadRequest(String id) {

0 commit comments

Comments
 (0)