예제 #1
0
 def test_extended_declarative_base_no_form(self):
     Base = extended_declarative_base(
         self.session,
         forms=False,
         metadata=sa.MetaData('sqlite:///:memory:'))
     self.assertTrue(hasattr(Base, 'pk_id'))
     self.assertFalse(hasattr(Base, 'edit_form'))
예제 #2
0
    def setUp(self):
        clear_mappers()
        pysqla.AVAILABLE_OBJECTS = pysqla._marker
        self.session = scoped_session(sessionmaker(extension=ZopeTransactionExtension()))
        Base = extended_declarative_base(
            self.session,
            metadata=sa.MetaData('sqlite:///:memory:'))

        class Test1(Base):
            id = sa.Column(sa.Integer, primary_key=True)
            name = sa.Column(sa.String(50))

        class Test2(Base):
            idtest = sa.Column(sa.Integer, primary_key=True)
            name = sa.Column(sa.String(50))

        Base.metadata.create_all()

        self.Test1 = Test1
        self.Test2 = Test2
        with transaction.manager:
            self.value1 = Test1(name='Bob')
            self.session.add(self.value1)
            self.value2 = Test2(name='Bob')
            self.session.add(self.value2)
예제 #3
0
    def setUp(self):
        self.session = scoped_session(sessionmaker(extension=ZopeTransactionExtension()))
        Base = extended_declarative_base(
            self.session,
            metadata=sa.MetaData('sqlite:///:memory:'))

        class Test1(Base):
            id1 = sa.Column(sa.Integer, primary_key=True)
            id2 = sa.Column(sa.Integer, primary_key=True)
            name = sa.Column(sa.String(50))

        Base.metadata.create_all()

        self.Test1 = Test1
        with transaction.manager:
            self.value = Test1(id1=1, id2=1, name='Bob')
            self.session.add(self.value)
예제 #4
0
    def main(self, settings):
        self.session = scoped_session(sessionmaker(extension=ZopeTransactionExtension()))
        Base = extended_declarative_base(
            self.session,
            metadata=sa.MetaData('sqlite:///:memory:'))

        class Test1(Base):
            id = sa.Column(sa.Integer, primary_key=True)
            name = sa.Column(sa.String(50), nullable=False)

        class Test2(Base):
            idtest = sa.Column(sa.Integer, primary_key=True)
            name = sa.Column(sa.String(50), nullable=False)

        Base.metadata.create_all()

        self.Test1 = Test1
        self.Test2 = Test2
        with transaction.manager:
            self.value1 = Test1(name='Bob')
            self.session.add(self.value1)
            self.value2 = Test2(name='Bob')
            self.session.add(self.value2)


        session_factory = UnencryptedCookieSessionFactoryConfig('session_key')
        config = Configurator(settings=settings,
                              session_factory=session_factory,
                              )
        # Authentification
        authentication_policy = AuthTktAuthenticationPolicy(
            'authentication.key',
            callback=self.get_user_permissions,
            debug=True,
            hashalg='sha512',
            )
        authorization_policy = ACLAuthorizationPolicy()
        config.set_authentication_policy(authentication_policy)
        config.set_authorization_policy(authorization_policy)
        config.set_request_property(self.get_user_from_request, 'user', reify=True)

        config.add_static_view('static', 'static', cache_max_age=3600)
        config.include('pyramid_sqladmin')
        config.include('pyramid_mako')
        config.scan()
        return config.make_wsgi_app()