def test_advanced_transaction(backend): backend.begin() backend.filter(Movie, {}).delete() movie = Movie({'name': 'The Godfather', 'year': 1979, 'type': 'US'}) movie.save(backend) backend.commit() backend.delete(movie) movie.name = 'Star Wars IV' movie.save(backend) with pytest.raises(Movie.DoesNotExist): backend.get(Movie, { 'name': 'The Godfather', 'year': 1979, 'type': 'US' }) backend.rollback() assert backend.get(Movie, {'name': 'The Godfather', 'year': 1979}) == movie assert len(backend.filter(Movie, {'type': 'US'})) == 1
def test_autocommit_transaction(backend): backend.filter(Movie, {}).delete() try: backend.autocommit = True movie = Movie({'name': 'The Godfather', 'year': 1979, 'type': 'US'}) movie.save(backend) backend.delete(movie) movie.name = 'Star Wars IV' movie.save(backend) with pytest.raises(Movie.DoesNotExist): backend.get(Movie, { 'name': 'The Godfather', 'year': 1979, 'type': 'US' }) assert backend.get(Movie, { 'name': 'Star Wars IV', 'year': 1979 }) == movie assert len(backend.filter(Movie, {'type': 'US'})) == 1 finally: backend.autocommit = False
def test_advanced_transaction(transactional_backend): transactional_backend.begin() transactional_backend.filter(Movie, {}).delete() transactional_backend.rollback() movie = Movie({'title': 'The Godfather', 'year': 1979}) movie.save(transactional_backend) transactional_backend.commit() transactional_backend.delete(movie) movie.title = 'Star Wars IV' movie.save(transactional_backend) transactional_backend.rollback() assert transactional_backend.get(Movie, { 'title': 'The Godfather', 'year': 1979 }).title == 'The Godfather' assert transactional_backend.get(Movie, { 'title': 'The Godfather', 'year': 1979 }) == movie assert len(transactional_backend.filter(Movie, {'year': 1979})) == 1
def test_indexed_delete(backend): movie = Movie({'name': 'The Godfather'}) actor = Actor({'name': 'Marlon Brando'}) actor.performances = [movie] movie.cast = {'Don Corleone': actor} movie.save(backend)
def test_indexed_delete(backend): movie = Movie({'name' : 'The Godfather'}) actor = Actor({'name' : 'Marlon Brando'}) actor.performances = [movie] movie.cast = {'Don Corleone' : actor} movie.save(backend)
def test_autocommit_transaction(transactional_backend): transactional_backend.filter(Movie, {}).delete() try: transactional_backend.autocommit = True movie = Movie({'title': 'The Godfather', 'year': 1979}) movie.save(transactional_backend) transactional_backend.delete(movie) movie.title = 'Star Wars IV' movie.save(transactional_backend) with pytest.raises(Movie.DoesNotExist): transactional_backend.get(Movie, {'title': 'The Godfather', 'year': 1979}) assert transactional_backend.get(Movie, {'title': 'Star Wars IV', 'year': 1979}) == movie assert len(transactional_backend.filter(Movie, {'year': 1979})) == 1 finally: transactional_backend.autocommit = False
def test_autocommit_transaction(transactional_backend): transactional_backend.filter(Movie, {}).delete() try: transactional_backend.autocommit = True movie = Movie({"title": "The Godfather", "year": 1979}) movie.save(transactional_backend) transactional_backend.delete(movie) movie.title = "Star Wars IV" movie.save(transactional_backend) with pytest.raises(Movie.DoesNotExist): transactional_backend.get(Movie, {"title": "The Godfather", "year": 1979}) assert transactional_backend.get(Movie, {"title": "Star Wars IV", "year": 1979}) == movie assert len(transactional_backend.filter(Movie, {"year": 1979})) == 1 finally: transactional_backend.autocommit = False
def test_advanced_transaction(transactional_backend): transactional_backend.begin() transactional_backend.filter(Movie, {}).delete() transactional_backend.rollback() movie = Movie({"title": "The Godfather", "year": 1979}) movie.save(transactional_backend) transactional_backend.commit() transactional_backend.delete(movie) movie.title = "Star Wars IV" movie.save(transactional_backend) transactional_backend.rollback() assert transactional_backend.get(Movie, {"title": "The Godfather", "year": 1979}).title == "The Godfather" assert transactional_backend.get(Movie, {"title": "The Godfather", "year": 1979}) == movie assert len(transactional_backend.filter(Movie, {"year": 1979})) == 1
def test_advanced_transaction(transactional_backend): transactional_backend.begin() transactional_backend.filter(Movie,{}).delete() movie = Movie({'name' : 'The Godfather','year' : 1979,'type' : 'US'}) movie.save(transactional_backend) transactional_backend.commit() transactional_backend.delete(movie) movie.name = 'Star Wars IV' movie.save(transactional_backend) with pytest.raises(Movie.DoesNotExist): transactional_backend.get(Movie,{'name' : 'The Godfather','year' : 1979,'type' : 'US'}) transactional_backend.rollback() assert transactional_backend.get(Movie,{'name' : 'The Godfather','year' : 1979}) == movie assert len(transactional_backend.filter(Movie,{'type':'US'})) == 1
def test_advanced_transaction(transactional_backend): transactional_backend.begin() transactional_backend.filter(Movie, {}).delete() transactional_backend.rollback() movie = Movie({'title': 'The Godfather', 'year': 1979}) movie.save(transactional_backend) transactional_backend.commit() transactional_backend.begin() transactional_backend.delete(movie) movie.title = 'Star Wars IV' movie.save(transactional_backend) transactional_backend.rollback() assert transactional_backend.get(Movie, {'title': 'The Godfather', 'year': 1979}).title == 'The Godfather' assert transactional_backend.get(Movie, {'title': 'The Godfather', 'year': 1979}) == movie assert len(transactional_backend.filter(Movie, {'year': 1979})) == 1