### Question:
Dhis2 implements LmisServer { @Override public DataValueSetPushResponse pushDataValueSet(DataValueSet valueSet, User user) { i("pushing DataValueSet", valueSet.toString()); for (DataValue dataValue : valueSet.getDataValues()) { i("DataValue", dataValue.getDataElement() + " : " + dataValue.getValue()); i("more info", "org unit: " + dataValue.getOrgUnit() + ", " + "period: " + dataValue.getPeriod()); } Dhis2Endpoint service = dhis2EndPointFactory.getEndPoint(user); return service.pushDataValueSet(valueSet); }  @Override UserProfile validateLogin(User user); void writeJson(User user); @Override List<Category> fetchCategories(User user); List<DataSet> fetchDataSets(User user); @Override List<String> fetchOrderReasons(User user); @Override List<OrderType> fetchOrderTypes(User user); @Override List<CommodityActionValue> fetchCommodityActionValues(User user); @Override List<CommodityActionValue> fetchIndicatorValues(User user, List<Commodity> commodities); @Override List<CommodityActionValue> fetchAllocations(User user); @Override DataValueSetPushResponse pushDataValueSet(DataValueSet valueSet, User user); @Override Integer fetchIntegerConstant(User user, String constantKey); @Override String fetchPhoneNumberConstant(User user, String constantKey, String defaultValue); @Override String fetchLatestVersion(); List<CommodityActionValue> convertDataValuesToCommodityActions(List<DataValue> values); List<CommodityActionValue> convertIndicatorValuesToCommodityActions(
            List<List<String>> values, List<CommodityAction> indicatorActions); @Override List<IndicatorGroup> fetchIndicatorGroups(User user); List<Indicator> fetchClientIndicators(User user); static final String SYNC; static final SimpleDateFormat SIMPLE_DATE_FORMAT; }### Answer:
@Test public void shouldPushDataSetToServer() throws Exception { setUpSuccessHttpPostRequest(200, "successfulSnapshotPush.json"); DataValueSetPushResponse response = dhis2.pushDataValueSet(new DataValueSet(), new User()); assertThat(response.isSuccess(), is(true)); setUpSuccessHttpPostRequest(200, "failureSnapshotPush.json"); response = dhis2.pushDataValueSet(new DataValueSet(), new User()); assertThat(response.isSuccess(), is(false)); }