Add some test demonstrating null pointer problems in the DateRangeParam class
This commit is contained in:
parent
dc4c0809a4
commit
734835de96
|
@ -0,0 +1,67 @@
|
||||||
|
package ca.uhn.fhir.rest.param;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import ca.uhn.fhir.context.FhirContext;
|
||||||
|
import ca.uhn.fhir.rest.api.QualifiedParamList;
|
||||||
|
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.junit.runners.JUnit4;
|
||||||
|
import org.mockito.Mockito;
|
||||||
|
|
||||||
|
@RunWith(JUnit4.class)
|
||||||
|
public class DateRangeParamTest {
|
||||||
|
private FhirContext fhirContext;
|
||||||
|
|
||||||
|
@Before
|
||||||
|
public void initMockContext() {
|
||||||
|
fhirContext = Mockito.mock(FhirContext.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Can happen e.g. when the query parameter for {@code _lastUpdated} is left empty. */
|
||||||
|
@Test
|
||||||
|
public void testParamWithoutPrefixAndWithoutValue() {
|
||||||
|
QualifiedParamList qualifiedParamList = new QualifiedParamList(1);
|
||||||
|
qualifiedParamList.add("");
|
||||||
|
|
||||||
|
List<QualifiedParamList> params = new ArrayList<>(1);
|
||||||
|
params.add(qualifiedParamList);
|
||||||
|
DateRangeParam dateRangeParam = new DateRangeParam();
|
||||||
|
dateRangeParam.setValuesAsQueryTokens(fhirContext, "_lastUpdated", params);
|
||||||
|
|
||||||
|
assertTrue(dateRangeParam.isEmpty());
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Can happen e.g. when the query parameter for {@code _lastUpdated} is given as {@code lt} without any value. */
|
||||||
|
@Test
|
||||||
|
public void testUpperBoundWithPrefixWithoutValue() {
|
||||||
|
QualifiedParamList qualifiedParamList = new QualifiedParamList(1);
|
||||||
|
qualifiedParamList.add("lt");
|
||||||
|
|
||||||
|
List<QualifiedParamList> params = new ArrayList<>(1);
|
||||||
|
params.add(qualifiedParamList);
|
||||||
|
DateRangeParam dateRangeParam = new DateRangeParam();
|
||||||
|
dateRangeParam.setValuesAsQueryTokens(fhirContext, "_lastUpdated", params);
|
||||||
|
|
||||||
|
assertTrue(dateRangeParam.isEmpty());
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Can happen e.g. when the query parameter for {@code _lastUpdated} is given as {@code gt} without any value. */
|
||||||
|
@Test
|
||||||
|
public void testLowerBoundWithPrefixWithoutValue() {
|
||||||
|
QualifiedParamList qualifiedParamList = new QualifiedParamList(1);
|
||||||
|
qualifiedParamList.add("gt");
|
||||||
|
|
||||||
|
List<QualifiedParamList> params = new ArrayList<>(1);
|
||||||
|
params.add(qualifiedParamList);
|
||||||
|
DateRangeParam dateRangeParam = new DateRangeParam();
|
||||||
|
dateRangeParam.setValuesAsQueryTokens(fhirContext, "_lastUpdated", params);
|
||||||
|
|
||||||
|
assertTrue(dateRangeParam.isEmpty());
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue