Show
Ignore:
Timestamp:
09/30/09 14:58:16 (3 years ago)
Author:
ged
Message:

- Provide our own Session.mapper equivalent to avoid SQLAlchemy 0.5.5+

deprecation warning. This mapper autosave object instances on init unless
save_on_init=False is passed as a mapper argument (closes #92).

- simplified a few tests in test_options.py

Files:
1 modified

Legend:

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

    r467 r480  
    117117        class Person(Entity): 
    118118            using_options(session=None) 
    119             firstname = Field(String(30)) 
    120             surname = Field(String(30)) 
     119            name = Field(String(30)) 
    121120 
    122121        setup_all() 
     
    126125        session = Session() 
    127126 
    128         homer = Person(firstname="Homer", surname='Simpson') 
    129         bart = Person(firstname="Bart", surname='Simpson') 
     127        homer = Person(name="Homer") 
     128        bart = Person(name="Bart") 
    130129 
    131130        session.add(homer) 
     
    136135        session.commit() 
    137136 
    138         assert session.query(Person).filter_by(firstname='Homer').one() is \ 
     137        assert session.query(Person).filter_by(name='Homer').one() is \ 
    139138               homer 
    140139        assert session.query(Person).count() == 1 
     
    146145        class Person(Entity): 
    147146            using_options(session=Session) 
    148             firstname = Field(String(30)) 
    149             surname = Field(String(30)) 
     147            name = Field(String(30)) 
    150148 
    151149        setup_all() 
    152150        create_all(engine) 
    153151 
    154         homer = Person(firstname="Homer", surname='Simpson') 
    155         bart = Person(firstname="Bart", surname='Simpson') 
     152        homer = Person(name="Homer") 
     153        bart = Person(name="Bart") 
    156154        Session.commit() 
    157155 
    158156        assert Person.query.session is Session() 
    159         assert Person.query.filter_by(firstname='Homer').one() is homer 
     157        assert Person.query.filter_by(name='Homer').one() is homer 
     158 
     159    def test_scoped_session_no_save_on_init(self): 
     160        metadata.bind = 'sqlite://' 
     161 
     162        class Person(Entity): 
     163            using_mapper_options(save_on_init=False) 
     164            name = Field(String(30)) 
     165 
     166        setup_all(True) 
     167 
     168        homer = Person(name="Homer") 
     169        bart = Person(name="Bart") 
     170        assert homer not in session 
     171        assert bart not in session 
     172        session.add(homer) 
     173        session.add(bart) 
     174        session.commit() 
     175 
     176        assert Person.query.filter_by(name='Homer').one() is homer 
    160177 
    161178    def test_global_scoped_session(self): 
     
    167184 
    168185        class Person(Entity): 
    169             firstname = Field(String(30)) 
    170             surname = Field(String(30)) 
     186            name = Field(String(30)) 
    171187 
    172188        setup_all() 
    173189        create_all(engine) 
    174190 
    175         homer = Person(firstname="Homer", surname='Simpson') 
    176         bart = Person(firstname="Bart", surname='Simpson') 
     191        homer = Person(name="Homer") 
     192        bart = Person(name="Bart") 
    177193        session.commit() 
    178194 
    179195        assert Person.query.session is session() 
    180         assert Person.query.filter_by(firstname='Homer').one() is homer 
     196        assert Person.query.filter_by(name='Homer').one() is homer 
    181197 
    182198        del __session__ 
     199 
    183200 
    184201class TestTableOptions(object):