Changeset 349 for elixir/trunk/tests/test_versioning.py
- Timestamp:
- 07/02/08 13:33:20 (4 years ago)
- Files:
-
- 1 modified
-
elixir/trunk/tests/test_versioning.py (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
elixir/trunk/tests/test_versioning.py
r347 r349 28 28 autoupd = Field(Integer, default=nextOne, onupdate=nextOne) 29 29 director = ManyToOne('Director', inverse='movies') 30 actors = ManyToMany('Actor', inverse='movies', tablename='movie_casting') 30 actors = ManyToMany('Actor', inverse='movies', 31 tablename='movie_casting') 31 32 using_options(tablename='movies') 32 33 acts_as_versioned(ignore=['ignoreme', 'autoupd']) … … 35 36 class Actor(Entity): 36 37 name = Field(String(60)) 37 movies = ManyToMany('Movie', inverse='actors', tablename='movie_casting') 38 movies = ManyToMany('Movie', inverse='actors', 39 tablename='movie_casting') 38 40 using_options(tablename='actors') 39 41 … … 52 54 def teardown(self): 53 55 drop_all() 54 session.cl ear()56 session.close() 55 57 56 58 def test_versioning(self): 57 59 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) 59 62 bruce = Actor(name='Bruce Willis', movies=[monkeys]) 60 session. flush(); session.clear()63 session.commit(); session.clear() 61 64 62 65 time.sleep(1) … … 70 73 assert movie.autoupd == 2, movie.autoupd 71 74 movie.description = 'description two' 72 session. flush(); session.clear()75 session.commit(); session.clear() 73 76 74 77 time.sleep(1) … … 78 81 movie = Movie.get_by(title='12 Monkeys') 79 82 movie.description = 'description three' 80 session. flush(); session.clear()83 session.commit(); session.clear() 81 84 82 85 # Edit the ignored field, this shouldn't change the version 83 86 monkeys = Movie.get_by(title='12 Monkeys') 84 87 monkeys.ignoreme = 1 85 session. flush(); session.clear()88 session.commit(); session.clear() 86 89 87 90 time.sleep(1) … … 107 110 assert middle_version.autoupd > oldest_version.autoupd 108 111 109 assert latest_version.version == 3, 'version=%i' % latest_version.version 112 assert latest_version.version == 3, \ 113 'version=%i' % latest_version.version 110 114 assert latest_version.description == 'description three' 111 115 assert latest_version.ignoreme == 1 … … 113 117 114 118 differences = latest_version.compare_with(oldest_version) 115 assert differences['description'] == ('description three', 'draft description') 119 assert differences['description'] == \ 120 ('description three', 'draft description') 116 121 117 122 assert len(movie.versions) == 3 … … 123 128 124 129 movie.revert_to(2) 125 session. flush(); session.clear()130 session.commit(); session.clear() 126 131 127 132 movie = Movie.get_by(title='12 Monkeys') … … 130 135 131 136 movie.description = "description 3" 132 session. flush(); session.clear();137 session.commit(); session.clear() 133 138 134 139 movie = Movie.get_by(title='12 Monkeys') 135 140 movie.description = "description 4" 136 session. flush(); session.clear();141 session.commit(); session.clear() 137 142 138 143 movie = Movie.get_by(title='12 Monkeys') … … 140 145 movie.revert_to(movie.versions[-2]) 141 146 movie.description = "description 5" 142 session. flush(); session.clear();147 session.commit(); session.clear() 143 148 144 149 movie = Movie.get_by(title='12 Monkeys') … … 146 151 assert movie.versions[-2].description == "description 3" 147 152 148 # Updates to the history table must be inside the transaction149 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
