/** * Try to delete an app data value with a key that doesn't exist. * * @throws Exception when an error is encountered. */ @Test public void testRemoveDataKeyThatDoesntExist() throws Exception { AppData appDataTestInstance = jpaAppDataMapper.findById(testAppDataId); jpaAppDataMapper.deleteAppDataValueByKey(appDataTestInstance.getId(), "nonexistent"); jpaAppDataMapper.flush(); getEntityManager().clear(); AppData appDataTestInstanceRemoved = jpaAppDataMapper.findById(testAppDataId); assertFalse( "Data was not removed", appDataTestInstanceRemoved.getValues().containsKey("nonexistent")); }
/** * Try to delete an app data value with a key that is attempting to use SQL Injection since keys * can be entered by users. * * @throws Exception when an error is encountered. */ @Test public void testRemoveDataKeyThatIsBad() throws Exception { AppData appDataTestInstance = jpaAppDataMapper.findById(testAppDataId); jpaAppDataMapper.deleteAppDataValueByKey(appDataTestInstance.getId(), "viewcount' OR 1=1"); jpaAppDataMapper.flush(); getEntityManager().clear(); AppData appDataTestInstanceRemoved = jpaAppDataMapper.findById(testAppDataId); assertTrue( "Data was removed with a bad key", appDataTestInstanceRemoved.getValues().containsKey("viewcount")); }
/** Test the ability to update the value of an app data item. */ @Test public void testUpdateDataItem() { AppData appDataTestInstance = jpaAppDataMapper.findById(testAppDataId); Map<String, String> appDataValues = new HashMap<String, String>(appDataTestInstance.getValues()); appDataValues.put("viewcount", "4"); appDataTestInstance.setValues(appDataValues); jpaAppDataMapper.flush(); getEntityManager().clear(); AppData appDataTestInstanceUpdated = jpaAppDataMapper.findById(testAppDataId); assertTrue( "Data was not removed", appDataTestInstanceUpdated.getValues().containsKey("viewcount")); assertEquals( "Data was not updated", "4", appDataTestInstanceUpdated.getValues().get("viewcount")); }
/** Simple test for dataset setup. */ @Test public void testDatasetSetup() { AppData testAppData = jpaAppDataMapper.findById(new Long(testAppDataId)); assertEquals( "Person is not correct for retrieved AppData", testPersonId, testAppData.getPerson().getId()); assertEquals( "Viewcount is incorrect for retrieved AppData", "2", testAppData.getValues().get("viewcount")); assertEquals( "Answer to question1answer is incorrect for retrieved AppData", "true", testAppData.getValues().get("question1answer")); }