code: def test_both_login(self) -> None:
      def func(filename: str):
          with pytest.raises(ValueError) as e:
              bsa.AuthModule(filename)
              assert (
                  str(e)
                  == "At most one of login_url or get_login_url should be supplied"
              )
  
      with_file_contents(
          """
  def get_user(handler): return 10
  def get_login_url(handler): return 20
  login_url = "/foo"
      """,
          func,
          suffix=".py",
      )
  
imports: from __future__ import annotations
  import pytest
  from types import ModuleType
  from tornado.web import RequestHandler
  from tests.support.util.api import verify_all
  from tests.support.util.filesystem import with_file_contents, with_file_contents_async
  import bokeh.server.auth_provider
label_desc: Use image node_id 4 for calling the TestAuthModule_validation obj's underlying member method code with example usage: obj.test_both_login() without return types