def test_update_error(self, mock_upd, simple_model, memory_db): memory_db() err = IntegrityError(None, None, None, None) err.message = 'duplicate' mock_upd.side_effect = err with pytest.raises(JHTTPConflict) as ex: simple_model(id=4).update({'name': 'q'}) assert 'There was a conflict' in str(ex.value)
def test_save_error(self, obj_session, simple_model, memory_db): memory_db() err = IntegrityError(None, None, None, None) err.message = 'duplicate' obj_session().flush.side_effect = err with pytest.raises(JHTTPConflict) as ex: simple_model(id=4).save() assert 'There was a conflict' in str(ex.value)
def test_add_record_duplicate_entry(self): """test duplicate entries to add record. test that when session.add throws Duplicate Entry exception, no expcetion is thrown back. """ side_effect = IntegrityError(None, None, None, None) side_effect.message = "Duplicate entry" mock_session = self.mock_sessionmaker.return_value.__call__ mock_add = mock_session.im_self.add mock_add.side_effect = side_effect self.conn.add_record(self.transaction)
def test_add_record_integrity_entry(self): """test add record that throws integrity error. test that when session.add throws a different exception than Duplicate Entry it will be rasied up. """ side_effect = IntegrityError(None, None, None, None) side_effect.message = "Some other integrity error" mock_session = self.mock_sessionmaker.return_value.__call__ mock_add = mock_session.im_self.add mock_add.side_effect = IntegrityError("Some other integrity error", None, None, None) self.assertRaises(IntegrityError, self.conn.add_record, self.transaction)