def test_12_delete_application_dryrun(self): # set up all the bits we need data = ApplicationFixtureFactory.incoming_application() del data["admin"]["current_journal"] account = models.Account() account.set_id("test") account.set_name("Tester") account.set_email("*****@*****.**") account.add_role("publisher") # call create on the object (which will save it to the index) a = ApplicationsCrudApi.create(data, account) # let the index catch up time.sleep(2) # now delete it with the dry run flag ApplicationsCrudApi.delete(a.id, account, dry_run=True) # let the index catch up time.sleep(2) ap = models.Suggestion.pull(a.id) assert ap is not None
def test_11_delete_application_fail(self): # set up all the bits we need data = ApplicationFixtureFactory.incoming_application() del data["admin"]["current_journal"] account = models.Account() account.set_id("test") account.set_name("Tester") account.set_email("*****@*****.**") account.add_role("publisher") # call create on the object (which will save it to the index) a = ApplicationsCrudApi.create(data, account) # let the index catch up time.sleep(2) # get a copy of the newly created version for use in test later created = models.Suggestion.pull(a.id) # call delete on the object in various context that will fail # without an account with self.assertRaises(Api401Error): ApplicationsCrudApi.delete(a.id, None) # with the wrong account account.set_id("other") with self.assertRaises(Api404Error): ApplicationsCrudApi.delete(a.id, account) # on the wrong id account.set_id("test") with self.assertRaises(Api404Error): ApplicationsCrudApi.delete(u"adfasdfhwefwef", account) # on one with a disallowed workflow status created.set_application_status(constants.APPLICATION_STATUS_ACCEPTED) created.save() time.sleep(2) with self.assertRaises(Api403Error): ApplicationsCrudApi.delete(a.id, account)
def test_11_delete_application_fail(self): # set up all the bits we need data = ApplicationFixtureFactory.incoming_application() del data["admin"]["current_journal"] account = models.Account() account.set_id("test") account.set_name("Tester") account.set_email("*****@*****.**") account.add_role("publisher") # call create on the object (which will save it to the index) a = ApplicationsCrudApi.create(data, account) # let the index catch up time.sleep(2) # get a copy of the newly created version for use in test later created = models.Suggestion.pull(a.id) # call delete on the object in various context that will fail # without an account with self.assertRaises(Api401Error): ApplicationsCrudApi.delete(a.id, None) # with the wrong account account.set_id("other") with self.assertRaises(Api404Error): ApplicationsCrudApi.delete(a.id, account) # on the wrong id account.set_id("test") with self.assertRaises(Api404Error): ApplicationsCrudApi.delete("adfasdfhwefwef", account) # on one with a disallowed workflow status created.set_application_status(constants.APPLICATION_STATUS_ACCEPTED) created.save() time.sleep(2) with self.assertRaises(Api403Error): ApplicationsCrudApi.delete(a.id, account)
def delete_application(application_id): ApplicationsCrudApi.delete(application_id, current_user._get_current_object()) return no_content()