def test_post(self): admin = self.factory.create_admin() rv = self.make_request( "post", "/api/settings/organization", data={"auth_password_login_enabled": False}, user=admin, ) self.assertEqual(rv.json["settings"]["auth_password_login_enabled"], False) self.assertEqual( self.factory.org.settings["settings"] ["auth_password_login_enabled"], False) rv = self.make_request( "post", "/api/settings/organization", data={"auth_password_login_enabled": True}, user=admin, ) updated_org = Organization.get_by_slug(self.factory.org.slug) self.assertEqual(rv.json["settings"]["auth_password_login_enabled"], True) self.assertEqual( updated_org.settings["settings"]["auth_password_login_enabled"], True)
def _get_current_org(): if 'org' in g: return g.org slug = request.view_args.get('org_slug', g.get('org_slug', 'default')) g.org = Organization.get_by_slug(slug) logging.debug("Current organization: %s (slug: %s)", g.org, slug) return g.org
def _get_current_org(): if 'org' in g: return g.org slug = request.view_args.get('org_slug', g.get('org_slug', 'default')) g.org = Organization.get_by_slug(slug) logging.debug("Current organization: %s (slug: %s)", g.org, slug) return g.org
def test_updates_google_apps_domains(self): admin = self.factory.create_admin() domains = ['example.com'] rv = self.make_request('post', '/api/settings/organization', data={'auth_google_apps_domains': domains}, user=admin) updated_org = Organization.get_by_slug(self.factory.org.slug) self.assertEqual(updated_org.google_apps_domains, domains)
def _get_current_org(): if 'org' in g and g.org is not None: return g.org slug = "default" g.org = Organization.get_by_slug(slug) logging.debug("Current organization: %s (slug: %s)", g.org, slug) return g.org
def test_post(self): admin = self.factory.create_admin() rv = self.make_request('post', '/api/settings/organization', data={'auth_password_login_enabled': False}, user=admin) self.assertEqual(rv.json['settings']['auth_password_login_enabled'], False) self.assertEqual(self.factory.org.settings['settings']['auth_password_login_enabled'], False) rv = self.make_request('post', '/api/settings/organization', data={'auth_password_login_enabled': True}, user=admin) updated_org = Organization.get_by_slug(self.factory.org.slug) self.assertEqual(rv.json['settings']['auth_password_login_enabled'], True) self.assertEqual(updated_org.settings['settings']['auth_password_login_enabled'], True)
def test_updates_microsoft_apps_domains(self): admin = self.factory.create_admin() domains = ["example.com"] rv = self.make_request( "post", "/api/settings/organization", data={"auth_microsoft_apps_domains": domains}, user=admin, ) updated_org = Organization.get_by_slug(self.factory.org.slug) self.assertEqual(updated_org.microsoft_apps_domains, domains)
def _get_current_org(): if "org" in g: return g.org if request.view_args is None: slug = g.get("org_slug", "default") else: slug = request.view_args.get("org_slug", g.get("org_slug", "default")) g.org = Organization.get_by_slug(slug) logging.debug("Current organization: %s (slug: %s)", g.org, slug) return g.org
def _get_current_org(): if 'org' in g: return g.org slug = request.view_args.get('org_slug', g.get('org_slug', 'default')) # slug 翻译过来就是:标称, 单位的意思。在 django 中,slug 指有效 URL 的一部分,能使 URL 更加清晰易懂。比如有这样一篇文章,标题是 "13岁的孩子", # 它的 URL 地址是 "/posts/13-sui-de-hai-zi",后面这一部分便是 slug。 g.org = Organization.get_by_slug(slug) logging.debug("Current organization: %s (slug: %s)", g.org, slug) return g.org
def test_post(self): admin = self.factory.create_admin() rv = self.make_request('post', '/api/settings/organization', data={'auth_password_login_enabled': False}, user=admin) self.assertEqual(rv.json['settings']['auth_password_login_enabled'], False) self.assertEqual( self.factory.org.settings['settings'] ['auth_password_login_enabled'], False) rv = self.make_request('post', '/api/settings/organization', data={'auth_password_login_enabled': True}, user=admin) updated_org = Organization.get_by_slug(self.factory.org.slug) self.assertEqual(rv.json['settings']['auth_password_login_enabled'], True) self.assertEqual( updated_org.settings['settings']['auth_password_login_enabled'], True)
from playhouse.migrate import PostgresqlMigrator, migrate if __name__ == '__main__': migrator = PostgresqlMigrator(db.database) with db.database.transaction(): if not NotificationDestination.table_exists(): NotificationDestination.create_table() # Update alert subscription fields migrate( migrator.add_column('alert_subscriptions', 'destination_id', AlertSubscription.destination) ) try: org = Organization.get_by_slug('default') user = User.select().where(User.org==org, peewee.SQL("%s = ANY(groups)", org.admin_group.id)).get() except Exception: print "!!! Warning: failed finding default organization or admin user, won't migrate Webhook/HipChat alert subscriptions." exit() if settings.WEBHOOK_ENDPOINT: # Have all existing alerts send to webhook if already configured schema = get_configuration_schema_for_destination_type('webhook') conf = {'url': settings.WEBHOOK_ENDPOINT} if settings.WEBHOOK_USERNAME: conf['username'] = settings.WEBHOOK_USERNAME conf['password'] = settings.WEBHOOK_PASSWORD options = ConfigurationContainer(conf, schema) webhook = NotificationDestination.create(
WEBHOOK_PASSWORD = os.environ.get('REDASH_WEBHOOK_PASSWORD', None) if __name__ == '__main__': migrator = PostgresqlMigrator(db.database) with db.database.transaction(): if not NotificationDestination.table_exists(): NotificationDestination.create_table() # Update alert subscription fields migrate( migrator.add_column('alert_subscriptions', 'destination_id', AlertSubscription.destination) ) try: org = Organization.get_by_slug('default') user = User.select().where(User.org==org, peewee.SQL("%s = ANY(groups)", org.admin_group.id)).get() except Exception: print("!!! Warning: failed finding default organization or admin user, won't migrate Webhook/HipChat alert subscriptions.") exit() if WEBHOOK_ENDPOINT: # Have all existing alerts send to webhook if already configured schema = get_configuration_schema_for_destination_type('webhook') conf = {'url': WEBHOOK_ENDPOINT} if WEBHOOK_USERNAME: conf['username'] = WEBHOOK_USERNAME conf['password'] = WEBHOOK_PASSWORD options = ConfigurationContainer(conf, schema) webhook = NotificationDestination.create(
def test_updates_google_apps_domains(self): admin = self.factory.create_admin() domains = ['example.com'] rv = self.make_request('post', '/api/settings/organization', data={'auth_google_apps_domains': domains}, user=admin) updated_org = Organization.get_by_slug(self.factory.org.slug) self.assertEqual(updated_org.google_apps_domains, domains)