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)
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)