From 9fe5976b33b84b4ed7535b84856d7bf78c02671a Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Thu, 2 Apr 2015 19:51:16 +0000 Subject: [PATCH] Changed the cookie test suite to use PyQuery instead of regex matches against page content, which broke with the facelift changes. - Legacy-Id: 9363 --- ietf/cookies/tests.py | 269 +++++++++++++++++++++++++++++------------- 1 file changed, 189 insertions(+), 80 deletions(-) diff --git a/ietf/cookies/tests.py b/ietf/cookies/tests.py index 7bc95d545..c76e18847 100644 --- a/ietf/cookies/tests.py +++ b/ietf/cookies/tests.py @@ -1,7 +1,13 @@ +from pyquery import PyQuery +from Cookie import SimpleCookie + from django.core.urlresolvers import reverse as urlreverse + +import debug # pyflakes:ignore + from ietf.utils.test_data import make_test_data from ietf.utils.test_utils import TestCase -from Cookie import SimpleCookie + class CookieTests(TestCase): def test_settings_defaults(self): @@ -9,19 +15,21 @@ class CookieTests(TestCase): r = self.client.get(urlreverse("ietf.cookies.views.settings")) self.assertEqual(r.status_code, 200) self.assertListEqual([], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*14 days') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*14 days') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/off"]').contents(), ['Off']) + self.assertEqual(q('div a.active[href="/accounts/settings/new_enough/14"]').contents(), ['14 days']) + self.assertEqual(q('div a.active[href="/accounts/settings/expires_soon/14"]').contents(), ['14 days']) def test_settings_defaults_from_cookies(self): make_test_data() - self.client.cookies = SimpleCookie({'full_draft': 'off', 'new_enough' : '14', 'expires_soon' : 14}) + self.client.cookies = SimpleCookie({'full_draft': 'off', 'new_enough' : '7', 'expires_soon' : 7}) r = self.client.get(urlreverse("ietf.cookies.views.settings")) self.assertEqual(r.status_code, 200) self.assertListEqual([], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*14 days') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*14 days') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/off"]').contents(), ['Off']) + self.assertEqual(q('div a.active[href="/accounts/settings/new_enough/7"]').contents(), ['7 days']) + self.assertEqual(q('div a.active[href="/accounts/settings/expires_soon/7"]').contents(), ['7 days']) def test_settings_values_from_cookies_garbage(self): make_test_data() @@ -29,9 +37,10 @@ class CookieTests(TestCase): r = self.client.get(urlreverse("ietf.cookies.views.settings")) self.assertEqual(r.status_code, 200) self.assertListEqual([], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*14 days') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*14 days') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/off"]').contents(), ['Off']) + self.assertEqual(q('div a.active[href="/accounts/settings/new_enough/14"]').contents(), ['14 days']) + self.assertEqual(q('div a.active[href="/accounts/settings/expires_soon/14"]').contents(), ['14 days']) def test_settings_values_from_cookies_random(self): make_test_data() @@ -39,9 +48,14 @@ class CookieTests(TestCase): r = self.client.get(urlreverse("ietf.cookies.views.settings")) self.assertEqual(r.status_code, 200) self.assertListEqual([], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') - self.assertNotRegexpMatches(r.content, r'ietf-highlight-y.*new_enough') - self.assertNotRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/off"]').contents(), ['Off']) + self.assertEqual(q('div a.active[href^="/accounts/settings/new_enough/"]').contents(), []) + self.assertEqual(q('div a.active[href^="/accounts/settings/expires_soon/"]').contents(), []) +# +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') +# self.assertNotRegexpMatches(r.content, r'ietf-highlight-y.*new_enough') +# self.assertNotRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon') def test_settings_values_from_cookies_1(self): make_test_data() @@ -49,9 +63,14 @@ class CookieTests(TestCase): r = self.client.get(urlreverse("ietf.cookies.views.settings")) self.assertEqual(r.status_code, 200) self.assertListEqual([], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*on') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*90 days') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*7 days') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/on"]').contents(), ['On']) + self.assertEqual(q('div a.active[href="/accounts/settings/new_enough/90"]').contents(), ['90 days']) + self.assertEqual(q('div a.active[href="/accounts/settings/expires_soon/7"]').contents(), ['7 days']) + +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*on') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*90 days') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*7 days') def test_settings_values_from_cookies_2(self): make_test_data() @@ -59,9 +78,13 @@ class CookieTests(TestCase): r = self.client.get(urlreverse("ietf.cookies.views.settings")) self.assertEqual(r.status_code, 200) self.assertListEqual([], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*60 days') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*14 days') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/off"]').contents(), ['Off']) + self.assertEqual(q('div a.active[href="/accounts/settings/new_enough/60"]').contents(), ['60 days']) + self.assertEqual(q('div a.active[href="/accounts/settings/expires_soon/14"]').contents(), ['14 days']) +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*60 days') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*14 days') def test_settings_values_from_cookies_3(self): make_test_data() @@ -69,9 +92,13 @@ class CookieTests(TestCase): r = self.client.get(urlreverse("ietf.cookies.views.settings")) self.assertEqual(r.status_code, 200) self.assertListEqual([], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*on') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*30 days') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*21 days') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/on"]').contents(), ['On']) + self.assertEqual(q('div a.active[href="/accounts/settings/new_enough/30"]').contents(), ['30 days']) + self.assertEqual(q('div a.active[href="/accounts/settings/expires_soon/21"]').contents(), ['21 days']) +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*on') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*30 days') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*21 days') def test_settings_values_from_cookies_4(self): make_test_data() @@ -79,9 +106,13 @@ class CookieTests(TestCase): r = self.client.get(urlreverse("ietf.cookies.views.settings")) self.assertEqual(r.status_code, 200) self.assertListEqual([], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*21 days') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*30 days') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/off"]').contents(), ['Off']) + self.assertEqual(q('div a.active[href="/accounts/settings/new_enough/21"]').contents(), ['21 days']) + self.assertEqual(q('div a.active[href="/accounts/settings/expires_soon/30"]').contents(), ['30 days']) +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*21 days') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*30 days') def test_settings_values_from_cookies_5(self): make_test_data() @@ -89,9 +120,13 @@ class CookieTests(TestCase): r = self.client.get(urlreverse("ietf.cookies.views.settings")) self.assertEqual(r.status_code, 200) self.assertListEqual([], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*on') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*14 days') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*60 days') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/on"]').contents(), ['On']) + self.assertEqual(q('div a.active[href="/accounts/settings/new_enough/14"]').contents(), ['14 days']) + self.assertEqual(q('div a.active[href="/accounts/settings/expires_soon/60"]').contents(), ['60 days']) +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*on') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*14 days') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*60 days') def test_settings_values_from_cookies_6(self): make_test_data() @@ -99,9 +134,13 @@ class CookieTests(TestCase): r = self.client.get(urlreverse("ietf.cookies.views.settings")) self.assertEqual(r.status_code, 200) self.assertListEqual([], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*7 days') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*90 days') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/off"]').contents(), ['Off']) + self.assertEqual(q('div a.active[href="/accounts/settings/new_enough/7"]').contents(), ['7 days']) + self.assertEqual(q('div a.active[href="/accounts/settings/expires_soon/90"]').contents(), ['90 days']) +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*7 days') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*90 days') def test_full_draft(self): make_test_data() @@ -110,9 +149,13 @@ class CookieTests(TestCase): self.assertEqual(r.status_code, 200) self.assertEqual(r.cookies['full_draft'].value, 'off') self.assertListEqual(['full_draft'], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*14 days') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*14 days') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/off"]').contents(), ['Off']) + self.assertEqual(q('div a.active[href="/accounts/settings/new_enough/14"]').contents(), ['14 days']) + self.assertEqual(q('div a.active[href="/accounts/settings/expires_soon/14"]').contents(), ['14 days']) +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*14 days') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*14 days') def test_full_draft_on(self): make_test_data() @@ -121,7 +164,9 @@ class CookieTests(TestCase): self.assertEqual(r.status_code, 200) self.assertEqual(r.cookies['full_draft'].value, 'on') self.assertListEqual(['full_draft'], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*on') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/on"]').contents(), ['On']) +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*on') def test_full_draft_off(self): make_test_data() @@ -130,7 +175,11 @@ class CookieTests(TestCase): self.assertEqual(r.status_code, 200) self.assertEqual(r.cookies['full_draft'].value, 'off') self.assertListEqual(['full_draft'], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/off"]').contents(), ['Off']) +# self.assertEqual(q('div a.active[href="/accounts/settings/new_enough/14"]').contents(), ['14 days']) +# self.assertEqual(q('div a.active[href="/accounts/settings/expires_soon/14"]').contents(), ['14 days']) +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') def test_full_draft_foo(self): make_test_data() @@ -139,7 +188,11 @@ class CookieTests(TestCase): self.assertEqual(r.status_code, 200) self.assertEqual(r.cookies['full_draft'].value, 'off') self.assertListEqual(['full_draft'], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/off"]').contents(), ['Off']) +# self.assertEqual(q('div a.active[href="/accounts/settings/new_enough/14"]').contents(), ['14 days']) +# self.assertEqual(q('div a.active[href="/accounts/settings/expires_soon/14"]').contents(), ['14 days']) +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') def test_new_enough(self): make_test_data() @@ -148,9 +201,13 @@ class CookieTests(TestCase): self.assertEqual(r.status_code, 200) self.assertEqual(r.cookies['new_enough'].value, '14') self.assertListEqual(['new_enough'], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*14 days') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*14 days') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/off"]').contents(), ['Off']) + self.assertEqual(q('div a.active[href="/accounts/settings/new_enough/14"]').contents(), ['14 days']) + self.assertEqual(q('div a.active[href="/accounts/settings/expires_soon/14"]').contents(), ['14 days']) +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*14 days') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*14 days') def test_new_enough_7(self): make_test_data() @@ -159,9 +216,13 @@ class CookieTests(TestCase): self.assertEqual(r.status_code, 200) self.assertEqual(r.cookies['new_enough'].value, '7') self.assertListEqual(['new_enough'], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*on') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*7 days') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*21 days') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/on"]').contents(), ['On']) + self.assertEqual(q('div a.active[href="/accounts/settings/new_enough/7"]').contents(), ['7 days']) + self.assertEqual(q('div a.active[href="/accounts/settings/expires_soon/21"]').contents(), ['21 days']) +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*on') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*7 days') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*21 days') def test_new_enough_14(self): make_test_data() @@ -170,9 +231,13 @@ class CookieTests(TestCase): self.assertEqual(r.status_code, 200) self.assertEqual(r.cookies['new_enough'].value, '14') self.assertListEqual(['new_enough'], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*on') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*14 days') - self.assertNotRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/on"]').contents(), ['On']) + self.assertEqual(q('div a.active[href="/accounts/settings/new_enough/14"]').contents(), ['14 days']) + self.assertEqual(q('div a.active[href^="/accounts/settings/expires_soon/14"]').contents(), []) +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*on') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*14 days') +# self.assertNotRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon') def test_new_enough_21(self): make_test_data() @@ -181,9 +246,13 @@ class CookieTests(TestCase): self.assertEqual(r.status_code, 200) self.assertEqual(r.cookies['new_enough'].value, '21') self.assertListEqual(['new_enough'], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*on') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*21 days') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*90 days') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/on"]').contents(), ['On']) + self.assertEqual(q('div a.active[href="/accounts/settings/new_enough/21"]').contents(), ['21 days']) + self.assertEqual(q('div a.active[href="/accounts/settings/expires_soon/90"]').contents(), ['90 days']) +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*on') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*21 days') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*90 days') def test_new_enough_30(self): make_test_data() @@ -192,9 +261,13 @@ class CookieTests(TestCase): self.assertEqual(r.status_code, 200) self.assertEqual(r.cookies['new_enough'].value, '30') self.assertListEqual(['new_enough'], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*30 days') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*7 days') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/off"]').contents(), ['Off']) + self.assertEqual(q('div a.active[href="/accounts/settings/new_enough/30"]').contents(), ['30 days']) + self.assertEqual(q('div a.active[href="/accounts/settings/expires_soon/7"]').contents(), ['7 days']) +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*30 days') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*7 days') def test_new_enough_60(self): make_test_data() @@ -203,9 +276,13 @@ class CookieTests(TestCase): self.assertEqual(r.status_code, 200) self.assertEqual(r.cookies['new_enough'].value, '60') self.assertListEqual(['new_enough'], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*60 days') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*14 days') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/off"]').contents(), ['Off']) + self.assertEqual(q('div a.active[href="/accounts/settings/new_enough/60"]').contents(), ['60 days']) + self.assertEqual(q('div a.active[href="/accounts/settings/expires_soon/14"]').contents(), ['14 days']) +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*60 days') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*14 days') def test_new_enough_90(self): make_test_data() @@ -214,9 +291,13 @@ class CookieTests(TestCase): self.assertEqual(r.status_code, 200) self.assertEqual(r.cookies['new_enough'].value, '90') self.assertListEqual(['new_enough'], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*90 days') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*60 days') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/off"]').contents(), ['Off']) + self.assertEqual(q('div a.active[href="/accounts/settings/new_enough/90"]').contents(), ['90 days']) + self.assertEqual(q('div a.active[href="/accounts/settings/expires_soon/60"]').contents(), ['60 days']) +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*90 days') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*60 days') def test_expires_soon(self): make_test_data() @@ -225,9 +306,13 @@ class CookieTests(TestCase): self.assertEqual(r.status_code, 200) self.assertEqual(r.cookies['expires_soon'].value, '14') self.assertListEqual(['expires_soon'], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*14 days') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*14 days') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/off"]').contents(), ['Off']) + self.assertEqual(q('div a.active[href="/accounts/settings/new_enough/14"]').contents(), ['14 days']) + self.assertEqual(q('div a.active[href="/accounts/settings/expires_soon/14"]').contents(), ['14 days']) +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*14 days') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*14 days') def test_expires_soon_7(self): make_test_data() @@ -236,9 +321,13 @@ class CookieTests(TestCase): self.assertEqual(r.status_code, 200) self.assertEqual(r.cookies['expires_soon'].value, '7') self.assertListEqual(['expires_soon'], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*on') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*7 days') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*21 days') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/on"]').contents(), ['On']) + self.assertEqual(q('div a.active[href="/accounts/settings/new_enough/21"]').contents(), ['21 days']) + self.assertEqual(q('div a.active[href="/accounts/settings/expires_soon/7"]').contents(), ['7 days']) +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*on') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*7 days') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*21 days') def test_expires_soon_14(self): make_test_data() @@ -247,9 +336,13 @@ class CookieTests(TestCase): self.assertEqual(r.status_code, 200) self.assertEqual(r.cookies['expires_soon'].value, '14') self.assertListEqual(['expires_soon'], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*on') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*14 days') - self.assertNotRegexpMatches(r.content, r'ietf-highlight-y.*new_enough') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/on"]').contents(), ['On']) + self.assertEqual(q('div a.active[href^="/accounts/settings/new_enough/"]').contents(), []) + self.assertEqual(q('div a.active[href="/accounts/settings/expires_soon/14"]').contents(),['14 days']) +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*on') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*14 days') +# self.assertNotRegexpMatches(r.content, r'ietf-highlight-y.*new_enough') def test_expires_soon_21(self): make_test_data() @@ -258,9 +351,13 @@ class CookieTests(TestCase): self.assertEqual(r.status_code, 200) self.assertEqual(r.cookies['expires_soon'].value, '21') self.assertListEqual(['expires_soon'], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*on') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*21 days') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*90 days') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/on"]').contents(), ['On']) + self.assertEqual(q('div a.active[href="/accounts/settings/new_enough/90"]').contents(), ['90 days']) + self.assertEqual(q('div a.active[href="/accounts/settings/expires_soon/21"]').contents(), ['21 days']) +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*on') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*21 days') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*90 days') def test_expires_soon_30(self): make_test_data() @@ -269,9 +366,13 @@ class CookieTests(TestCase): self.assertEqual(r.status_code, 200) self.assertEqual(r.cookies['expires_soon'].value, '30') self.assertListEqual(['expires_soon'], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*30 days') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*7 days') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/off"]').contents(), ['Off']) + self.assertEqual(q('div a.active[href="/accounts/settings/new_enough/7"]').contents(), ['7 days']) + self.assertEqual(q('div a.active[href="/accounts/settings/expires_soon/30"]').contents(), ['30 days']) +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*30 days') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*7 days') def test_expires_soon_60(self): make_test_data() @@ -280,9 +381,13 @@ class CookieTests(TestCase): self.assertEqual(r.status_code, 200) self.assertEqual(r.cookies['expires_soon'].value, '60') self.assertListEqual(['expires_soon'], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*60 days') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*14 days') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/off"]').contents(), ['Off']) + self.assertEqual(q('div a.active[href="/accounts/settings/new_enough/14"]').contents(), ['14 days']) + self.assertEqual(q('div a.active[href="/accounts/settings/expires_soon/60"]').contents(), ['60 days']) +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*60 days') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*14 days') def test_expires_soon_90(self): make_test_data() @@ -291,6 +396,10 @@ class CookieTests(TestCase): self.assertEqual(r.status_code, 200) self.assertEqual(r.cookies['expires_soon'].value, '90') self.assertListEqual(['expires_soon'], r.cookies.keys()) - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*90 days') - self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*60 days') + q = PyQuery(r.content) + self.assertEqual(q('div a.active[href="/accounts/settings/full_draft/off"]').contents(), ['Off']) + self.assertEqual(q('div a.active[href="/accounts/settings/new_enough/60"]').contents(), ['60 days']) + self.assertEqual(q('div a.active[href="/accounts/settings/expires_soon/90"]').contents(), ['90 days']) +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*full_draft.*off') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*expires_soon.*90 days') +# self.assertRegexpMatches(r.content, r'ietf-highlight-y.*new_enough.*60 days')