Пример #1
0
def test_load_from_file_path_str_async(tokens_dict):
    tokens = asyncio.run(Tokens.afrom_file(str(TOKENS_PATH)))
    assert tokens.access_token == tokens_dict["access_token"]
    assert tokens.expires_in == tokens_dict["expires_in"]
    assert tokens.refresh_token == tokens_dict["refresh_token"]
    assert tokens.scope == tokens_dict["scope"]
    assert tokens.token_type == tokens_dict["token_type"]
Пример #2
0
def test_load_from_file_path_object(tokens_dict):
    tokens = Tokens.from_file(TOKENS_PATH)
    assert tokens.access_token == tokens_dict["access_token"]
    assert tokens.expires_in == tokens_dict["expires_in"]
    assert tokens.refresh_token == tokens_dict["refresh_token"]
    assert tokens.scope == tokens_dict["scope"]
    assert tokens.token_type == tokens_dict["token_type"]
Пример #3
0
def test_load_from_data(tokens_dict):
    tokens = Tokens.from_data(tokens_dict)
    assert tokens.access_token == tokens_dict["access_token"]
    assert tokens.expires_in == tokens_dict["expires_in"]
    assert tokens.refresh_token == tokens_dict["refresh_token"]
    assert tokens.scope == tokens_dict["scope"]
    assert tokens.token_type == tokens_dict["token_type"]
Пример #4
0
    def _retrieve_tokens(self, redirect_uris: list[str], port: int) -> Tokens:
        if self.legacy_auth:
            rd_addr = redirect_uris[0]
        else:
            ru = redirect_uris[-1]
            rd_addr = f"{ru}:{port}"

        url, _ = oauth.auth_url_and_state(self.secrets, rd_addr)
        code = self._mcp(url) if self.legacy_auth else self._ws(url, ru, port)

        data, headers = oauth.access_data_and_headers(code, self.secrets,
                                                      rd_addr)

        r = self._session.post(self.secrets.token_uri,
                               data=data,
                               headers=headers)
        if r.is_error:
            raise errors.AuthenticationError(**r.json())

        return Tokens.from_data(r.json())
Пример #5
0
def tokens() -> Tokens:
    return Tokens.from_file(TOKENS_PATH)
Пример #6
0
    def _try_load_tokens(self, path: pathlib.Path) -> Tokens | None:
        if not path.is_file():
            return None

        return Tokens.from_file(path)