def test_auth_plugin_prompt_password_false(httpbin): class Plugin(AuthPlugin): auth_type = 'test-prompt-false' prompt_password = False def get_auth(self, username=None, password=None): assert self.raw_auth == USERNAME assert username == USERNAME assert password is None return basic_auth() plugin_manager.register(Plugin) try: r = http( httpbin + BASIC_AUTH_URL, '--auth-type', Plugin.auth_type, '--auth', USERNAME, ) assert HTTP_OK in r assert r.json == AUTH_OK finally: plugin_manager.unregister(Plugin)
def test_auth_plugin_parse_auth_false(httpbin): class Plugin(AuthPlugin): auth_type = 'test-parse-false' auth_parse = False def get_auth(self, username=None, password=None): assert username is None assert password is None assert self.raw_auth == BASIC_AUTH_HEADER_VALUE return basic_auth(self.raw_auth) plugin_manager.register(Plugin) try: r = http( httpbin + BASIC_AUTH_URL, '--auth-type', Plugin.auth_type, '--auth', BASIC_AUTH_HEADER_VALUE, ) assert HTTP_OK in r assert r.json == AUTH_OK finally: plugin_manager.unregister(Plugin)
def test_auth_plugin_require_auth_false_and_auth_provided(httpbin): class Plugin(AuthPlugin): auth_type = 'test-require-false-yet-provided' auth_require = False def get_auth(self, username=None, password=None): assert self.raw_auth == USERNAME + SEP_CREDENTIALS + PASSWORD assert username == USERNAME assert password == PASSWORD return basic_auth() plugin_manager.register(Plugin) try: r = http( httpbin + BASIC_AUTH_URL, '--auth-type', Plugin.auth_type, '--auth', USERNAME + SEP_CREDENTIALS + PASSWORD, ) assert HTTP_OK in r assert r.json == AUTH_OK finally: plugin_manager.unregister(Plugin)
def test_auth_plugin_require_auth_false(httpbin): class Plugin(AuthPlugin): auth_type = "test-require-false" auth_require = False def get_auth(self, username=None, password=None): assert self.raw_auth is None assert username is None assert password is None return basic_auth() plugin_manager.register(Plugin) try: r = http(httpbin + BASIC_AUTH_URL, "--auth-type", Plugin.auth_type) assert HTTP_OK in r assert r.json == AUTH_OK finally: plugin_manager.unregister(Plugin)
def test_auth_plugin_prompt_password_false(httpbin): class Plugin(AuthPlugin): auth_type = "test-prompt-false" prompt_password = False def get_auth(self, username=None, password=None): assert self.raw_auth == USERNAME assert username == USERNAME assert password is None return basic_auth() plugin_manager.register(Plugin) try: r = http(httpbin + BASIC_AUTH_URL, "--auth-type", Plugin.auth_type, "--auth", USERNAME) assert HTTP_OK in r assert r.json == AUTH_OK finally: plugin_manager.unregister(Plugin)
def test_auth_plugin_require_auth_false_and_auth_provided(httpbin): class Plugin(AuthPlugin): auth_type = "test-require-false-yet-provided" auth_require = False def get_auth(self, username=None, password=None): assert self.raw_auth == USERNAME + SEP_CREDENTIALS + PASSWORD assert username == USERNAME assert password == PASSWORD return basic_auth() plugin_manager.register(Plugin) try: r = http( httpbin + BASIC_AUTH_URL, "--auth-type", Plugin.auth_type, "--auth", USERNAME + SEP_CREDENTIALS + PASSWORD ) assert HTTP_OK in r assert r.json == AUTH_OK finally: plugin_manager.unregister(Plugin)