def configure(app, db): try: is_installed = Quokka.objects.get(slug="is_installed") except: is_installed = False if not is_installed: app.logger.info("Loading fixtures") populate = Populate( db, filepath=app.config.get('POPULATE_FILEPATH'), first_install=True ) try: populate.create_configs() populate.create_purposes() populate.create_channel_types() populate.create_base_channels() populate.role("admin") populate.role("author") try: with app.app_context(): user_data, user_obj = populate.create_initial_superuser() populate.create_initial_post(user_data, user_obj) except Exception as e: app.logger.warning("Cant create initial user and post: %s" % e) except Exception as e: app.logger.error("Error loading fixtures, try again - %s" % e) populate.reset() Config.objects.delete() else: Quokka.objects.create(slug="is_installed")
def configure(app, db): try: is_installed = Quokka.objects.get(slug="is_installed") except: is_installed = False if not is_installed: app.logger.info("Loading fixtures") populate = Populate(db, filepath=app.config.get('POPULATE_FILEPATH'), first_install=True) try: populate.create_configs() populate.create_purposes() populate.create_channel_types() populate.create_base_channels() populate.role("admin") populate.role("author") try: with app.app_context(): user_data, user_obj = populate.create_initial_superuser() populate.create_initial_post(user_data, user_obj) except Exception as e: app.logger.warning("Cant create initial user and post: %s" % e) except Exception as e: app.logger.error("Error loading fixtures, try again - %s" % e) populate.reset() Config.objects.delete() else: Quokka.objects.create(slug="is_installed")
class PopulateTestCase(TestCase): def setUp(self): self.db = list(self.app.extensions.get('mongoengine').keys())[0] self.db.connection.drop_database('quokka_test') self.populate = Populate(self.db) def create_app(self): self.admin = create_admin() return create_app(config='quokka.test_settings', DEBUG=False, test=True, admin_instance=self.admin) def test_role_called_with_name_and_instance(self): role_1st_call = self.populate.role('admin') role_2nd_call = self.populate.role(role_1st_call) self.assertEqual(role_1st_call.name, role_2nd_call.name)