|
[Webware-checkins] CVS: Webware/MiddleKit/Tests/MKRefresh.mkmodel Classes.csv,NONE,1.1 Settings1.config,NONE,1.1 TestEmpty.py,NONE,1.1
From: Jason Hildebrand <jdhildeb@us...> - 2004-03-27 21:15
|
Update of /cvsroot/webware/Webware/MiddleKit/Tests/MKRefresh.mkmodel
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10534/Tests/MKRefresh.mkmodel
Added Files:
Classes.csv Settings1.config TestEmpty.py
Log Message:
Added assertion checks to detect when a changed object is about to be
refreshed from the database (changes would be lost). See release notes for
details.
In order to detect this reliably I tweaked the logic in the generated code
which sets MiddleObject._mk_changed, so that it only gets set when an attribute
actually changes. Hopefully this doesn't break anyone's logic, but IMO the
old semantics for this flag were pretty much useless, and this needs to be
fixed at some point.
--- NEW FILE: Classes.csv ---
Class,Attribute,Type,Default,Min,Max
Book,,,,,
,title,string,,0,100
,publisher,string,,0,100
--- NEW FILE: Settings1.config ---
{
'AllowRefreshOfChangedObject': 0,
}
--- NEW FILE: TestEmpty.py ---
def test(store):
from Book import Book
b = Book()
b.setTitle('foo')
store.addObject(b)
store.saveChanges()
serialNum = b.serialNum()
b = store.fetchObject(Book, serialNum)
b.setTitle('bar')
try:
b = store.fetchObject(Book, serialNum)
except AssertionError:
# an assertion _should_ be generated, because we are attempting
# to refresh a modified object.
pass
else:
assert 0, 'Should have got an assertion failure, but none was raised.'
|
| Thread | Author | Date |
|---|---|---|
| [Webware-checkins] CVS: Webware/MiddleKit/Tests/MKRefresh.mkmodel Classes.csv,NONE,1.1 Settings1.config,NONE,1.1 TestEmpty.py,NONE,1.1 | Jason Hildebrand <jdhildeb@us...> |