Improved test coverage
This commit is contained in:
parent
29722ad8ec
commit
7cef07b0c1
|
@ -26,6 +26,7 @@ import com.fasterxml.jackson.databind.JsonNode;
|
|||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import ca.uhn.fhir.rest.server.interceptor.validation.address.AddressValidationException;
|
||||
import ca.uhn.fhir.rest.server.interceptor.validation.address.AddressValidationResult;
|
||||
import org.apache.commons.lang3.Validate;
|
||||
import org.hl7.fhir.instance.model.api.IBase;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
|
|
@ -3,6 +3,7 @@ package ca.uhn.fhir.rest.server.interceptor.validation.address;
|
|||
import ca.uhn.fhir.context.FhirContext;
|
||||
import ca.uhn.fhir.rest.api.server.RequestDetails;
|
||||
import ca.uhn.fhir.rest.server.interceptor.validation.address.impl.LoquateAddressValidator;
|
||||
import org.checkerframework.checker.units.qual.A;
|
||||
import org.hl7.fhir.instance.model.api.IBase;
|
||||
import org.hl7.fhir.r4.model.Address;
|
||||
import org.hl7.fhir.r4.model.Extension;
|
||||
|
@ -15,10 +16,13 @@ import org.mockito.Mockito;
|
|||
|
||||
import javax.annotation.Nonnull;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.Properties;
|
||||
|
||||
import static ca.uhn.fhir.rest.server.interceptor.validation.address.AddressValidatingInterceptor.ADDRESS_VALIDATION_DISABLED_HEADER;
|
||||
import static ca.uhn.fhir.rest.server.interceptor.validation.address.AddressValidatingInterceptor.PROPERTY_EXTENSION_URL;
|
||||
import static ca.uhn.fhir.rest.server.interceptor.validation.address.AddressValidatingInterceptor.PROPERTY_VALIDATOR_CLASS;
|
||||
import static ca.uhn.fhir.rest.server.interceptor.validation.address.IAddressValidator.ADDRESS_VALIDATION_EXTENSION_URL;
|
||||
import static ca.uhn.fhir.rest.server.interceptor.validation.address.impl.BaseRestfulValidator.PROPERTY_SERVICE_KEY;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
|
@ -91,6 +95,22 @@ class AddressValidatingInterceptorTest {
|
|||
assertNotNull(interceptor.getAddressValidator());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEmptyRequest() {
|
||||
try {
|
||||
myInterceptor.handleRequest(null, null);
|
||||
} catch (Exception ex) {
|
||||
fail();
|
||||
}
|
||||
|
||||
try {
|
||||
myInterceptor.setAddressValidator(null);
|
||||
myInterceptor.handleRequest(null, null);
|
||||
} catch (Exception ex) {
|
||||
fail();
|
||||
}
|
||||
}
|
||||
|
||||
@BeforeEach
|
||||
void setup() {
|
||||
myValidator = mock(IAddressValidator.class);
|
||||
|
@ -135,6 +155,28 @@ class AddressValidatingInterceptorTest {
|
|||
assertEquals("error", ext.getExtensionFirstRep().getUrl());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testValidationWithCustomUrl() {
|
||||
myInterceptor.getProperties().setProperty(PROPERTY_EXTENSION_URL, "MY_URL");
|
||||
Address address = new Address();
|
||||
address.setCity("City");
|
||||
address.addLine("Line");
|
||||
AddressValidationResult res = new AddressValidationResult();
|
||||
res.setValidatedAddressString("City, Line");
|
||||
res.setValidatedAddress(address);
|
||||
when(myValidator.isValid(any(), any())).thenReturn(res);
|
||||
|
||||
Address addressToValidate = new Address();
|
||||
myInterceptor.validateAddress(addressToValidate, ourCtx);
|
||||
|
||||
assertNotNull(res.toString());
|
||||
assertTrue(addressToValidate.hasExtension());
|
||||
assertNotNull(addressToValidate.getExtensionByUrl("MY_URL"));
|
||||
assertFalse(address.hasExtension());
|
||||
assertEquals(address.getCity(), addressToValidate.getCity());
|
||||
assertTrue(address.getLine().get(0).equalsDeep(addressToValidate.getLine().get(0)));
|
||||
}
|
||||
|
||||
@Test
|
||||
void validate() {
|
||||
Address address = new Address();
|
||||
|
|
|
@ -12,6 +12,7 @@ import org.slf4j.Logger;
|
|||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
|
||||
import static ca.uhn.fhir.rest.server.interceptor.s13n.StandardizingInterceptor.STANDARDIZATION_DISABLED_HEADER;
|
||||
import static ca.uhn.fhir.rest.server.interceptor.validation.fields.FieldValidatingInterceptor.VALIDATION_DISABLED_HEADER;
|
||||
|
@ -38,6 +39,17 @@ class FieldValidatingInterceptorTest {
|
|||
myInterceptor = new FieldValidatingInterceptor();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEmptyRequests() {
|
||||
try {
|
||||
myInterceptor.setConfig(new HashMap<>());
|
||||
myInterceptor.resourcePreCreate(null, null);
|
||||
myInterceptor.resourcePreUpdate(null, null, null);
|
||||
} catch (Exception ex) {
|
||||
fail();
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDisablingValidationViaHeader() {
|
||||
RequestDetails request = newRequestDetails();
|
||||
|
|
Loading…
Reference in New Issue