redash/tests/handlers/test_favorites.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

37 lines
1.3 KiB
Python

from tests import BaseTestCase
class TestQueryFavoriteResource(BaseTestCase):
def test_favorite(self):
query = self.factory.create_query()
rv = self.make_request('post', '/api/queries/{}/favorite'.format(query.id))
self.assertEqual(rv.status_code, 200)
rv = self.make_request('get', '/api/queries/{}'.format(query.id))
self.assertEqual(rv.json['is_favorite'], True)
def test_duplicate_favorite(self):
query = self.factory.create_query()
rv = self.make_request('post', '/api/queries/{}/favorite'.format(query.id))
self.assertEqual(rv.status_code, 200)
rv = self.make_request('post', '/api/queries/{}/favorite'.format(query.id))
self.assertEqual(rv.status_code, 200)
def test_unfavorite(self):
query = self.factory.create_query()
rv = self.make_request('post', '/api/queries/{}/favorite'.format(query.id))
rv = self.make_request('delete', '/api/queries/{}/favorite'.format(query.id))
self.assertEqual(rv.status_code, 200)
rv = self.make_request('get', '/api/queries/{}'.format(query.id))
self.assertEqual(rv.json['is_favorite'], False)
class TestQueryFavoriteListResource(BaseTestCase):
def test_get_favorites(self):
rv = self.make_request('get', '/api/queries/favorites')
self.assertEqual(rv.status_code, 200)