From 42cef1773b659fe0289b43fb3e6bfcf6e3129322 Mon Sep 17 00:00:00 2001
From: Allen Porter <allen.porter@gmail.com>
Date: Wed, 7 Oct 2020 06:23:45 -0700
Subject: [PATCH] Update script scaffold templates for config_flow_oauth2
 (#41181)

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
---
 script/scaffold/generate.py                               | 2 +-
 .../templates/config_flow_oauth2/integration/api.py       | 8 ++++----
 .../config_flow_oauth2/tests/test_config_flow.py          | 2 +-
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/script/scaffold/generate.py b/script/scaffold/generate.py
index 292ae86e3a9..4c50b8971fb 100644
--- a/script/scaffold/generate.py
+++ b/script/scaffold/generate.py
@@ -153,7 +153,7 @@ def _custom_tasks(template, info) -> None:
         )
 
     elif template == "config_flow_oauth2":
-        info.update_manifest(config_flow=True)
+        info.update_manifest(config_flow=True, dependencies=["http"])
         info.update_strings(
             title=info.name,
             config={
diff --git a/script/scaffold/templates/config_flow_oauth2/integration/api.py b/script/scaffold/templates/config_flow_oauth2/integration/api.py
index 14f7d60096c..710c76600fb 100644
--- a/script/scaffold/templates/config_flow_oauth2/integration/api.py
+++ b/script/scaffold/templates/config_flow_oauth2/integration/api.py
@@ -29,13 +29,13 @@ class ConfigEntryAuth(my_pypi_package.AbstractAuth):
         )
         super().__init__(self.session.token)
 
-    def refresh_tokens(self) -> dict:
+    def refresh_tokens(self) -> str:
         """Refresh and return new NEW_NAME tokens using Home Assistant OAuth2 session."""
         run_coroutine_threadsafe(
             self.session.async_ensure_token_valid(), self.hass.loop
         ).result()
 
-        return self.session.token
+        return self.session.token["access_token"]
 
 
 class AsyncConfigEntryAuth(my_pypi_package.AbstractAuth):
@@ -50,9 +50,9 @@ class AsyncConfigEntryAuth(my_pypi_package.AbstractAuth):
         super().__init__(websession)
         self._oauth_session = oauth_session
 
-    async def async_get_access_token(self):
+    async def async_get_access_token(self) -> str:
         """Return a valid access token."""
         if not self._oauth_session.valid_token:
             await self._oauth_session.async_ensure_token_valid()
 
-        return self._oauth_session.token
+        return self._oauth_session.token["access_token"]
diff --git a/script/scaffold/templates/config_flow_oauth2/tests/test_config_flow.py b/script/scaffold/templates/config_flow_oauth2/tests/test_config_flow.py
index 7dda6564507..36a42431cf3 100644
--- a/script/scaffold/templates/config_flow_oauth2/tests/test_config_flow.py
+++ b/script/scaffold/templates/config_flow_oauth2/tests/test_config_flow.py
@@ -13,7 +13,7 @@ CLIENT_ID = "1234"
 CLIENT_SECRET = "5678"
 
 
-async def test_full_flow(hass, aiohttp_client, aioclient_mock):
+async def test_full_flow(hass, aiohttp_client, aioclient_mock, current_request):
     """Check full flow."""
     assert await setup.async_setup_component(
         hass,
-- 
GitLab