def test_get_cookie_value_from_request_specific_cookie(self): cookie_str = dict_to_cookie_str( {"optional": self.cookie_group.get_version()}) self.request.COOKIES[settings.COOKIE_CONSENT_NAME] = cookie_str res = get_cookie_value_from_request(self.request, 'optional', "foo:") self.assertTrue(res) Cookie.objects.create( cookiegroup=self.cookie_group, name="bar", domain=".example.com", ) res = get_cookie_value_from_request(self.request, 'optional', "bar:.example.com") self.assertFalse(res) res = get_cookie_value_from_request(self.request, 'optional', "foo:") self.assertTrue(res) cookie_str = dict_to_cookie_str( {"optional": self.cookie_group.get_version()}) self.request.COOKIES[settings.COOKIE_CONSENT_NAME] = cookie_str res = get_cookie_value_from_request(self.request, 'optional', "bar:.example.com") self.assertTrue(res)
def get(self, request, *args, **kwargs): response = super(TestPageViewReceipts, self).get(request, *args, **kwargs) if get_cookie_value_from_request(request, "optional") is True: val = "optional cookie set from django" response.set_cookie("optional_test_cookie", val) js_cookie_consent_receipts('optional', request) return response
def cookie_group_accepted(request, arg): """ Filter returns if cookie group is accepted. Examples: :: {{ request|cookie_group_accepted:"analytics" }} {{ request|cookie_group_accepted:"analytics=*:.google.com" }} """ value = get_cookie_value_from_request(request, *arg.split("=")) return value is True
def test_get_cookie_value_from_request_added_cookies(self): cookie_str = dict_to_cookie_str({ "optional": self.cookie_group.get_version(), }) Cookie.objects.create( cookiegroup=self.cookie_group, name="bar", domain=".example.com", ) self.request.COOKIES[settings.COOKIE_CONSENT_NAME] = cookie_str res = get_cookie_value_from_request(self.request, 'optional') self.assertIsNone(res)
def js_type_for_cookie_consent(request, varname, cookie=None): """ Tag returns "x/cookie_consent" when processing javascript will create an cookie and consent does not exists yet. Example:: <script type="{% js_type_for_cookie_consent request "social" %}" data-varname="social"> alert("Social cookie accepted"); </script> """ enabled = is_cookie_consent_enabled(request) if not enabled: res = True else: value = get_cookie_value_from_request(request, varname, cookie) if value is None: res = settings.COOKIE_CONSENT_OPT_OUT else: res = value return "text/javascript" if res else "x/cookie_consent"
def cookie_group_declined(request, arg): """ Filter returns if cookie group is declined. """ value = get_cookie_value_from_request(request, *arg.split("=")) return value is False
def test_get_cookie_value_from_request_empty(self): res = get_cookie_value_from_request(self.request, 'optional') self.assertIsNone(res)
def test_get_cookie_value_from_request_declined(self): cookie_str = dict_to_cookie_str( {"optional": datetime(1999, 1, 1).isoformat()}) self.request.COOKIES[settings.COOKIE_CONSENT_NAME] = cookie_str res = get_cookie_value_from_request(self.request, 'optional') self.assertFalse(res)
def test_get_cookie_value_from_request(self): cookie_str = dict_to_cookie_str( {"optional": self.cookie_group.get_version()}) self.request.COOKIES[settings.COOKIE_CONSENT_NAME] = cookie_str res = get_cookie_value_from_request(self.request, 'optional') self.assertTrue(res)
def get(self, request, *args, **kwargs): response = super(TestPageView, self).get(request, *args, **kwargs) if get_cookie_value_from_request(request, "optional") is True: val = "optional cookie set from django" response.set_cookie("optional_test_cookie", val) return response