redash/tests/handlers/test_settings.py
Jannis Leidel 712fc63f93 Use flask-talisman for handling backend response headers (#3404)
* Normalize Flask initialization API use.

* Use Flask-Talisman.

* Enable HSTS when HTTPS is enforced.

* More details about how CSP is formatted and write CSP directives as a string.

* Use CSP frame-ancestors directive and not X-Frame-Options for embedable endpoints.

* Add link to flask-talisman docs.

* set remember_token cookie to be HTTP-Only and Secure

* Reorganize secret key configuration to be forward thinking and backward compatible.
2019-03-27 17:24:15 +02:00

31 lines
1.6 KiB
Python

from tests import BaseTestCase
from redash.models import Organization
class TestOrganizationSettings(BaseTestCase):
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_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 test_get_returns_google_appas_domains(self):
admin = self.factory.create_admin()
domains = ['example.com']
admin.org.settings[Organization.SETTING_GOOGLE_APPS_DOMAINS] = domains
rv = self.make_request('get', '/api/settings/organization', user=admin)
self.assertEqual(rv.json['settings']['auth_google_apps_domains'], domains)