Ejemplo n.º 1
0
    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')
Ejemplo n.º 2
0
    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')
Ejemplo n.º 3
0
    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')