Beispiel #1
0
    def tearDown(self):
        for svc in self.SERVICES:
            svc = self.app.services[svc]
            if svc.running:
                svc.stop()

        self.db.session.remove()

        with self.db.engine.connect() as conn:
            if self.db.engine.name == 'postgresql':
                username = self.db.engine.url.username or getpass.getuser()
                with self.db.engine.connect() as conn:
                    with conn.begin():
                        conn.execute(
                            'ALTER ROLE {username} SET search_path TO public'
                            ''.format(username=username))
                        conn.execute('SET search_path TO public')
                        conn.execute('DROP SCHEMA IF EXISTS {} CASCADE'.format(
                            self.__pg_schema))
                    conn.execute('COMMIT')
                del self.__pg_schema
            else:
                if self.db.engine.name == 'sqlite':
                    # core.extension.sqlalchemy performs a 'PRAGMA foreign_keys=ON' on a
                    # connection listener.
                    #
                    # We must revert it to perform drop_all without ever encounting a
                    # foreign key error
                    conn.execute("PRAGMA foreign_keys=OFF;")

                self.db.metadata.drop_all(bind=conn)

        self.db.engine.dispose()
        self.app.services['session_repository'].stop()
        self.app.services['repository'].stop()

        User.__password_strategy__ = _DEFAULT_PWD

        # Resets babel extension
        babel = self.app.extensions['babel']
        babel.locale_selector_func = None
        babel.timezone_selector_func = None

        TestCase.tearDown(self)
Beispiel #2
0
    def tearDown(self):
        self._stop_services()

        self.db.session.remove()

        with self.db.engine.connect() as conn:
            if self.db.engine.name == 'postgresql':
                username = self.db.engine.url.username or getpass.getuser()
                with self.db.engine.connect() as conn2:
                    with conn2.begin():
                        conn2.execute(
                            'ALTER ROLE {username} SET search_path TO public'
                            ''.format(username=username), )
                        conn2.execute('SET search_path TO public')
                        conn2.execute(
                            'DROP SCHEMA IF EXISTS {} CASCADE'.format(
                                self.__pg_schema, ))
                    conn2.execute('COMMIT')
                del self.__pg_schema
            else:
                if self.db.engine.name == 'sqlite':
                    # core.extension.sqlalchemy performs a 'PRAGMA foreign_keys=ON' on a
                    # connection listener.
                    #
                    # We must revert it to perform drop_all without ever encounting a
                    # foreign key error
                    conn.execute("PRAGMA foreign_keys=OFF;")

                self.db.metadata.drop_all(bind=conn)

        self.db.engine.dispose()
        self.app.services['session_repository'].stop()
        self.app.services['repository'].stop()

        User.__password_strategy__ = _DEFAULT_PWD

        self._reset_babel_extension()

        TestCase.tearDown(self)
Beispiel #3
0
  def tearDown(self):
    for svc in self.SERVICES:
      svc = self.app.services[svc]
      if svc.running:
        svc.stop()

    self.db.session.remove()

    with self.db.engine.connect() as conn:
      if self.db.engine.name == 'postgresql':
        username = self.db.engine.url.username
        with self.db.engine.connect() as conn:
          with conn.begin():
            conn.execute('ALTER ROLE {username} SET search_path TO public'
                         ''.format(username=username))
            conn.execute('SET search_path TO public')
            conn.execute('DROP SCHEMA IF EXISTS {} CASCADE'.format(self.__pg_schema))
          conn.execute('COMMIT')
        del self.__pg_schema
      else:
        if self.db.engine.name == 'sqlite':
          # core.extension.sqlalchemy performs a 'PRAGMA foreign_keys=ON' on a
          # connection listener.
          #
          # We must revert it to perform drop_all without ever encounting a
          # foreign key error
          conn.execute("PRAGMA foreign_keys=OFF;")

        self.db.metadata.drop_all(bind=conn)

    self.db.engine.dispose()
    self.app.services['session_repository'].stop()
    self.app.services['repository'].stop()

    User.__password_strategy__ = _DEFAULT_PWD

    TestCase.tearDown(self)
Beispiel #4
0
 def tearDown(self):
     TestCase.tearDown(self)
     db.session.remove()
     db.drop_all()