class TestWaffleCookies(OsfTestCase): def setUp(self): super(TestWaffleCookies, self).setUp() self.flag = FlagFactory(name='test_flag') self.flag.percent = 50 self.flag.everyone = None self.flag.save() @pytest.mark.enable_bookmark_creation @mock.patch('website.project.views.node._view_project', inject_check_is_active(_view_project)) def test_waffle_leaves_cookie(self): """ Tests that django-waffle cookies work in the with our Flask requests. We inject an is_active test here so we don't break the tests when adding/removing flags. Flask waffle cookies are formatted: `dwf_test_flag=True; Expires=True; Max-Age=2592000; Path=/` """ node = ProjectFactory(is_public=True) user = AuthUserFactory() resp = self.app.get(node.web_url_for('view_project'), auth=user.auth, auto_follow=True) waffle_cookie = next(value for key, value in list(resp.headers.items()) if 'dwf_test_flag=' in value) cookie_str = 'dwf_test_flag={}; Expires=True; Max-Age=2592000; Path=/' assert waffle_cookie == cookie_str.format( 'True') or waffle_cookie == cookie_str.format('False')
def active_flag(self): return FlagFactory(name='active_flag')
def inactive_flag(self): return FlagFactory(name='inactive_flag', everyone=False)
def setUp(self): super(TestEmberFlagIsActive, self).setUp() self.flag = FlagFactory(name='active_flag') FlagFactory(name='inactive_flag', everyone=False).save() self.mock_func = lambda: 'test value'
def setUp(self): super(TestWaffleCookies, self).setUp() self.flag = FlagFactory(name='test_flag') self.flag.percent = 50 self.flag.everyone = None self.flag.save()
def flag(self): flag = FlagFactory(name='test_flag') flag.percent = 50 flag.everyone = None flag.save() return flag