Beispiel #1
0
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
Beispiel #2
0
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_advanced_transaction(transactional_backend):

    transactional_backend.begin()

    transactional_backend.filter(Movie, {}).delete()
    transactional_backend.rollback()

    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)

    transactional_backend.rollback()

    assert transactional_backend.get(Movie, {
        'name': 'The Godfather',
        'year': 1979,
        'type': 'US'
    }).name == 'The Godfather'

    assert transactional_backend.get(Movie, {
        'name': 'The Godfather',
        'year': 1979
    }) == movie
    assert len(transactional_backend.filter(Movie, {'type': 'US'})) == 1
Beispiel #4
0
def test_autocommit_transaction(transactional_backend):

    transactional_backend.filter(Movie,{}).delete()

    try:
        transactional_backend.autocommit = True
        movie = Movie({'name' : 'The Godfather','year' : 1979,'type' : 'US'})
        movie.save(transactional_backend)
        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'})

        assert transactional_backend.get(Movie,{'name' : 'Star Wars IV','year' : 1979}) == movie
        assert len(transactional_backend.filter(Movie,{'type':'US'})) == 1
    finally:
        transactional_backend.autocommit = False
Beispiel #5
0
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