/** * 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")); }