def test_entity_absolute_location_via_options (self): # @options(location='/etc/person') # python >= 2.6 class Person (Entity): firstname = Field(String) surname = Field(String) Person = options(location='/etc/person')(Person) # python < 2.6 self.assertEqual(Session.default._strategy.get_location(Person), '/etc/person')
def test_singleton_absolute_location_via_options (self): # python >= 2.6 # @options(location='/etc/person') class Person (Entity): pk = Field(Integer, primary_key=True, choices=[0]) firstname = Field(String) surname = Field(String) # python < 2.6 Person = options(location='/etc/person')(Person) self.assertEqual(Session.default._strategy.get_location(Person), '/etc/person.conf') p = Person(firstname='Homer', surname='Simpson') self.assertEqual(Session.default._strategy.get_location(p), '/etc/person.conf')
def test_instance_relative_location_via_options (self): # python >= 2.6 # @options(location={None: 'person', 1: 'bart.conf'}) class Person (Entity): firstname = Field(String) surname = Field(String) # python < 2.6 Person = options(location={None: 'person', 1: 'bart.conf'})(Person) p1 = Person(firstname='Homer', surname='Simpson') self.assertEqual(Session.default._strategy.get_location(p1), '/tmp/test.tesqldb/person/0.conf') p2 = Person(firstname='Bart', surname='Simpson') self.assertEqual(Session.default._strategy.get_location(p2), '/tmp/test.tesqldb/bart.conf')