class TestRedirector(FunctionalTestCase):

    def setUp(self):
        super(TestRedirector, self).setUp()
        self.prepareSession()

        self.redirector = IRedirector(self.request)

    def test_stores_and_retrieves_redirects(self):
        self.redirector.redirect('http://www.google.ch', target='named-window')
        self.assertEquals([{'url': 'http://www.google.ch',
                            'target': 'named-window',
                            'timeout': 0}],
                          self.redirector.get_redirects())

    def test_retrieving_a_redirect_removes_it(self):
        self.redirector.redirect('http://www.ebay.ch', target='named-window')

        self.assertEquals(1, len(self.redirector.get_redirects()))
        self.assertEquals(0, len(self.redirector.get_redirects()))

    def test_pass_remove_false_to_keeps_redirects(self):
        self.redirector.redirect('http://www.yahoo.com', target='named-window')

        self.assertEquals(1, len(self.redirector.get_redirects(remove=False)))
        self.assertEquals(1, len(self.redirector.get_redirects(remove=False)))
Exemple #2
0
class TestRedirector(FunctionalTestCase):
    def setUp(self):
        super(TestRedirector, self).setUp()
        self.prepareSession()

        self.redirector = IRedirector(self.request)

    def test_stores_and_retrieves_redirects(self):
        self.redirector.redirect('http://www.google.ch', target='named-window')
        self.assertEquals([{
            'url': 'http://www.google.ch',
            'target': 'named-window',
            'timeout': 0
        }], self.redirector.get_redirects())

    def test_retrieving_a_redirect_removes_it(self):
        self.redirector.redirect('http://www.ebay.ch', target='named-window')

        self.assertEquals(1, len(self.redirector.get_redirects()))
        self.assertEquals(0, len(self.redirector.get_redirects()))

    def test_pass_remove_false_to_keeps_redirects(self):
        self.redirector.redirect('http://www.yahoo.com', target='named-window')

        self.assertEquals(1, len(self.redirector.get_redirects(remove=False)))
        self.assertEquals(1, len(self.redirector.get_redirects(remove=False)))
    def render(self):
        redirector = IRedirector(self.request)
        redirects = redirector.get_redirects(remove=True)
        html = []
        for redirect in redirects:
            html.append(RedirectorViewlet.JS_TEMPLATE % redirect)

        return ''.join(html)
    def render(self):
        redirector = IRedirector(self.request)
        redirects = redirector.get_redirects(remove=True)
        html = []
        for redirect in redirects:
            html.append(RedirectorViewlet.JS_TEMPLATE % redirect)

        return ''.join(html)
    def render(self):
        redirector = IRedirector(self.request)

        # If we're on the CSRF confirm-action dialog, we don't want to
        # trigger any redirects.
        if self.view_name() == 'confirm-action':
            # Consume the redirector cookie to avoid unconditional redirects
            # immediately *after* the confirm-action view. If the user
            # confirms, the redirector cookies will be set again.
            redirector.get_redirects(remove=True)
            return ''

        redirects = redirector.get_redirects(remove=True)
        html = []
        for redirect in redirects:
            html.append(RedirectorViewlet.JS_TEMPLATE % redirect)

        return ''.join(html)
Exemple #6
0
    def render(self):
        redirector = IRedirector(self.request)

        # If we're on the CSRF confirm-action dialog, we don't want to
        # trigger any redirects.
        if self.view_name() == 'confirm-action':
            # Consume the redirector cookie to avoid unconditional redirects
            # immediately *after* the confirm-action view. If the user
            # confirms, the redirector cookies will be set again.
            redirector.get_redirects(remove=True)
            return ''

        redirects = redirector.get_redirects(remove=True)
        html = []
        for redirect in redirects:
            html.append(RedirectorViewlet.JS_TEMPLATE % redirect)

        return ''.join(html)
Exemple #7
0
class TestRedirector(IntegrationTestCase):
    def setUp(self):
        super(TestRedirector, self).setUp()
        self.redirector = IRedirector(self.request)

    def test_stores_and_retrieves_redirects(self):
        self.redirector.redirect('http://example.com', target='named-window')
        self.assertEquals([{
            'url': 'http://example.com',
            'target': 'named-window',
            'timeout': 0
        }], self.redirector.get_redirects())

    def test_retrieving_a_redirect_removes_it(self):
        self.redirector.redirect('http://example.com', target='named-window')

        self.assertEquals(1, len(self.redirector.get_redirects()))
        self.assertEquals(0, len(self.redirector.get_redirects()))

    def test_pass_remove_false_to_keeps_redirects(self):
        self.redirector.redirect('http://example.com', target='named-window')

        self.assertEquals(1, len(self.redirector.get_redirects(remove=False)))
        self.assertEquals(1, len(self.redirector.get_redirects(remove=False)))