def test_make_plugin(self):
        # Test that everything can be set explicitly.
        def ref(name):
            return "repoze.who.plugins.browserid.tests.test_plugin:" + name

        plugin = make_plugin(
            postback_url="test_postback",
            came_from_field="u_waz_ere",
            challenge_body=ref("CHALLENGE_BODY"),
            rememberer_name="remember_me_softly",
            verifier_url="http://invalid.org",
            urlopen=ref("urlopen_valid"),
        )
        self.assertEquals(plugin.postback_url, "test_postback")
        self.assertEquals(plugin.came_from_field, "u_waz_ere")
        self.assertEquals(plugin.challenge_body, "CHALLENGE HO!")
        self.assertEquals(plugin.rememberer_name, "remember_me_softly")
        self.assertEquals(plugin.verifier_url, "http://invalid.org")
        self.failUnless(plugin.urlopen is urlopen_valid)
        # Test that everything gets a sensible default.
        plugin = make_plugin()
        self.assertEquals(plugin.postback_url, "/repoze.who.plugins.browserid.postback")
        self.assertEquals(plugin.came_from_field, "came_from")
        self.assertEquals(plugin.challenge_body, DEFAULT_CHALLENGE_BODY)
        self.assertEquals(plugin.rememberer_name, None)
        self.assertEquals(plugin.verifier_url, "https://browserid.org/verify")
        self.failUnless(plugin.urlopen is secure_urlopen)
        # Test that challenge body can be read from a file.
        with tempfile.NamedTemporaryFile() as f:
            f.write("CHALLENGE IN A FILE!")
            f.flush()
            plugin = make_plugin(challenge_body=f.name)
            self.assertEquals(plugin.challenge_body, "CHALLENGE IN A FILE!")
    def test_make_plugin(self):
        # Test that everything can be set explicitly.
        def ref(name):
            return "repoze.who.plugins.browserid.tests.test_plugin:" + name

        plugin = make_plugin(audiences="example.com",
                             rememberer_name="remember_me_softly",
                             postback_url="test_postback",
                             assertion_field="da_assertion_baby",
                             came_from_field="u_waz_ere",
                             csrf_field="for_your_protection",
                             csrf_cookie_name="monster",
                             challenge_body=ref("CHALLENGE_BODY"),
                             verifier=ref("DummyVerifierInvalid"),
                             verifier_test_kwd="TESTING",
                             check_https="no",
                             check_referer="on")
        self.assertEquals(plugin.audiences, ["example.com"])
        self.assertEquals(plugin.rememberer_name, "remember_me_softly")
        self.assertEquals(plugin.postback_url, "test_postback")
        self.assertEquals(plugin.assertion_field, "da_assertion_baby")
        self.assertEquals(plugin.came_from_field, "u_waz_ere")
        self.assertEquals(plugin.csrf_field, "for_your_protection")
        self.assertEquals(plugin.csrf_cookie_name, "monster")
        self.assertEquals(plugin.challenge_body, "CHALLENGE HO!")
        self.assertEquals(plugin.check_https, False)
        self.assertEquals(plugin.check_referer, True)
        self.assertEquals(plugin.verifier.__class__, DummyVerifierInvalid)
        self.assertEquals(plugin.verifier.test_kwd, "TESTING")
        # Test that everything gets a sensible default.
        plugin = make_plugin("siteone sitetwo")
        self.assertEquals(plugin.audiences, ["siteone", "sitetwo"])
        self.assertEquals(plugin.rememberer_name, None)
        self.assertEquals(plugin.postback_url,
                          "/repoze.who.plugins.browserid.postback")
        self.assertEquals(plugin.assertion_field, "assertion")
        self.assertEquals(plugin.came_from_field, "came_from")
        self.assertEquals(plugin.csrf_field, "csrf_token")
        self.assertEquals(plugin.csrf_cookie_name, "browserid_csrf_token")
        self.assertEquals(plugin.challenge_body, DEFAULT_CHALLENGE_BODY)
        self.assertEquals(plugin.verifier.__class__.__name__, "RemoteVerifier")
        self.assertEquals(plugin.check_https, None)
        self.assertEquals(plugin.check_referer, None)
        # Test that challenge body can be read from a file.
        with tempfile.NamedTemporaryFile() as f:
            f.write("CHALLENGE IN A FILE!")
            f.flush()
            plugin = make_plugin("www.mysite.com", challenge_body=f.name)
            self.assertEquals(plugin.challenge_body, "CHALLENGE IN A FILE!")
        # Test that empty audiences string goes to None.
        plugin = make_plugin("")
        self.assertEquals(plugin.audiences, None)
 def test_make_plugin(self):
     # Test that everything can be set explicitly.
     def ref(name):
         return "repoze.who.plugins.browserid.tests.test_plugin:" + name
     plugin = make_plugin(
         audiences="example.com",
         rememberer_name="remember_me_softly",
         postback_url="test_postback",
         assertion_field="da_assertion_baby",
         came_from_field="u_waz_ere",
         csrf_field="for_your_protection",
         csrf_cookie_name="monster",
         challenge_body=ref("CHALLENGE_BODY"),
         verifier=ref("DummyVerifierInvalid"),
         verifier_test_kwd="TESTING",
         check_https="no",
         check_referer="on")
     self.assertEquals(plugin.audiences, ["example.com"])
     self.assertEquals(plugin.rememberer_name, "remember_me_softly")
     self.assertEquals(plugin.postback_url, "test_postback")
     self.assertEquals(plugin.assertion_field, "da_assertion_baby")
     self.assertEquals(plugin.came_from_field, "u_waz_ere")
     self.assertEquals(plugin.csrf_field, "for_your_protection")
     self.assertEquals(plugin.csrf_cookie_name, "monster")
     self.assertEquals(plugin.challenge_body, "CHALLENGE HO!")
     self.assertEquals(plugin.check_https, False)
     self.assertEquals(plugin.check_referer, True)
     self.assertEquals(plugin.verifier.__class__, DummyVerifierInvalid)
     self.assertEquals(plugin.verifier.test_kwd, "TESTING")
     # Test that everything gets a sensible default.
     plugin = make_plugin("siteone sitetwo")
     self.assertEquals(plugin.audiences, ["siteone", "sitetwo"])
     self.assertEquals(plugin.rememberer_name, None)
     self.assertEquals(plugin.postback_url,
                       "/repoze.who.plugins.browserid.postback")
     self.assertEquals(plugin.assertion_field, "assertion")
     self.assertEquals(plugin.came_from_field, "came_from")
     self.assertEquals(plugin.csrf_field, "csrf_token")
     self.assertEquals(plugin.csrf_cookie_name, "browserid_csrf_token")
     self.assertEquals(plugin.challenge_body, DEFAULT_CHALLENGE_BODY)
     self.assertEquals(plugin.verifier.__class__.__name__, "RemoteVerifier")
     self.assertEquals(plugin.check_https, None)
     self.assertEquals(plugin.check_referer, None)
     # Test that challenge body can be read from a file.
     with tempfile.NamedTemporaryFile() as f:
         f.write("CHALLENGE IN A FILE!")
         f.flush()
         plugin = make_plugin("www.mysite.com", challenge_body=f.name)
         self.assertEquals(plugin.challenge_body, "CHALLENGE IN A FILE!")
     # Test that empty audiences string goes to None.
     plugin = make_plugin("")
     self.assertEquals(plugin.audiences, None)
Beispiel #4
0
def make_bid_plugin(audiences, rememberer_name=None, postback_url=None,
                assertion_field=None, came_from_field=None, csrf_field=None,
                csrf_cookie_name=None, challenge_body=None, verifier=None,
                check_https=None, check_referer=None, **kwds):

    from repoze.who.plugins.browserid import make_plugin

    tmpldir = os.path.join(os.path.dirname(__file__), 'templates')
    challenge_body = os.path.join(tmpldir, 'authentication.html')

    return make_plugin(audiences, rememberer_name, postback_url,
                       assertion_field, came_from_field, csrf_field,
                       csrf_cookie_name, challenge_body=challenge_body,
                       verifier=verifier,
                       check_https=check_https,
                       check_referer=check_referer,
                       **kwds)