Show
Ignore:
Timestamp:
07/02/08 13:33:20 (4 years ago)
Author:
ged
Message:

- The default session (elixir.session) uses sessionmaker() instead of

create_session(), which means it has now the following characterisics:

  • autoflush=True
  • autocommit=False (with SA 0.5 -- equivalent to transactional=True with
    SA 0.4)
  • autoexpire=True (with SA 0.5).

- Removed objectstore and some other old cruft (mostly SA 0.3 or earlier

support code)

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • elixir/trunk/tests/test_versioning.py

    r347 r349  
    2828        autoupd = Field(Integer, default=nextOne, onupdate=nextOne) 
    2929        director = ManyToOne('Director', inverse='movies') 
    30         actors = ManyToMany('Actor', inverse='movies', tablename='movie_casting') 
     30        actors = ManyToMany('Actor', inverse='movies', 
     31                            tablename='movie_casting') 
    3132        using_options(tablename='movies') 
    3233        acts_as_versioned(ignore=['ignoreme', 'autoupd']) 
     
    3536    class Actor(Entity): 
    3637        name = Field(String(60)) 
    37         movies = ManyToMany('Movie', inverse='actors', tablename='movie_casting') 
     38        movies = ManyToMany('Movie', inverse='actors', 
     39                            tablename='movie_casting') 
    3840        using_options(tablename='actors') 
    3941 
     
    5254    def teardown(self): 
    5355        drop_all() 
    54         session.clear() 
     56        session.close() 
    5557 
    5658    def test_versioning(self): 
    5759        gilliam = Director(name='Terry Gilliam') 
    58         monkeys = Movie(id=1, title='12 Monkeys', description='draft description', director=gilliam) 
     60        monkeys = Movie(id=1, title='12 Monkeys', 
     61                        description='draft description', director=gilliam) 
    5962        bruce = Actor(name='Bruce Willis', movies=[monkeys]) 
    60         session.flush(); session.clear() 
     63        session.commit(); session.clear() 
    6164 
    6265        time.sleep(1) 
     
    7073        assert movie.autoupd == 2, movie.autoupd 
    7174        movie.description = 'description two' 
    72         session.flush(); session.clear() 
     75        session.commit(); session.clear() 
    7376 
    7477        time.sleep(1) 
     
    7881        movie = Movie.get_by(title='12 Monkeys') 
    7982        movie.description = 'description three' 
    80         session.flush(); session.clear() 
     83        session.commit(); session.clear() 
    8184 
    8285        # Edit the ignored field, this shouldn't change the version 
    8386        monkeys = Movie.get_by(title='12 Monkeys') 
    8487        monkeys.ignoreme = 1 
    85         session.flush(); session.clear() 
     88        session.commit(); session.clear() 
    8689 
    8790        time.sleep(1) 
     
    107110        assert middle_version.autoupd > oldest_version.autoupd 
    108111 
    109         assert latest_version.version == 3, 'version=%i' % latest_version.version 
     112        assert latest_version.version == 3, \ 
     113               'version=%i' % latest_version.version 
    110114        assert latest_version.description == 'description three' 
    111115        assert latest_version.ignoreme == 1 
     
    113117 
    114118        differences = latest_version.compare_with(oldest_version) 
    115         assert differences['description'] == ('description three', 'draft description') 
     119        assert differences['description'] == \ 
     120               ('description three', 'draft description') 
    116121 
    117122        assert len(movie.versions) == 3 
     
    123128 
    124129        movie.revert_to(2) 
    125         session.flush(); session.clear() 
     130        session.commit(); session.clear() 
    126131 
    127132        movie = Movie.get_by(title='12 Monkeys') 
     
    130135 
    131136        movie.description = "description 3" 
    132         session.flush(); session.clear(); 
     137        session.commit(); session.clear() 
    133138 
    134139        movie = Movie.get_by(title='12 Monkeys') 
    135140        movie.description = "description 4" 
    136         session.flush(); session.clear(); 
     141        session.commit(); session.clear() 
    137142 
    138143        movie = Movie.get_by(title='12 Monkeys') 
     
    140145        movie.revert_to(movie.versions[-2]) 
    141146        movie.description = "description 5" 
    142         session.flush(); session.clear(); 
     147        session.commit(); session.clear() 
    143148 
    144149        movie = Movie.get_by(title='12 Monkeys') 
     
    146151        assert movie.versions[-2].description == "description 3" 
    147152 
    148         # Updates to the history table must be inside the transaction 
    149         session.begin() 
    150         movie = Movie(id=3, title='Foo', description='1') 
    151         session.commit(); 
    152  
    153         session.begin() 
    154         movie.description = '2' 
    155         session.flush() 
    156         session.rollback() 
    157         session.clear() 
    158  
    159         session.begin() 
    160         movie = Movie.get_by(title='Foo') 
    161         movie.description = '3' 
    162         session.commit() 
    163