From 4d55d5f36c3dd919c70a896a8daf9499ac70a60c Mon Sep 17 00:00:00 2001
From: Lucas D Hedding <lucashedding@1463982.no-reply.drupal.org>
Date: Mon, 9 Oct 2023 09:35:50 -0600
Subject: [PATCH] Issue #3310455 by heddn: PHP 8 support & Drupal 10 support

---
 composer.json                               | 2 +-
 modules/box/box_token_manager.info.yml      | 3 +--
 modules/box/composer.json                   | 2 +-
 modules/quip/composer.json                  | 2 +-
 modules/quip/quip_token_manager.info.yml    | 3 +--
 modules/slack/composer.json                 | 2 +-
 modules/slack/slack_token_manager.info.yml  | 3 +--
 oauth2_token_manager.info.yml               | 3 +--
 src/Commands/TokenGeneratorCommandsBase.php | 4 ++--
 tests/src/Functional/LoadTest.php           | 8 ++++----
 10 files changed, 14 insertions(+), 18 deletions(-)

diff --git a/composer.json b/composer.json
index 91d78ae..71cb3ad 100644
--- a/composer.json
+++ b/composer.json
@@ -9,7 +9,7 @@
     ],
     "minimum-stability": "dev",
     "require": {
-        "php": "^7.2",
+        "php": "^7.2|^8",
         "league/oauth2-client": "^2"
     },
     "suggest": {
diff --git a/modules/box/box_token_manager.info.yml b/modules/box/box_token_manager.info.yml
index de5f2da..25cd073 100644
--- a/modules/box/box_token_manager.info.yml
+++ b/modules/box/box_token_manager.info.yml
@@ -1,8 +1,7 @@
 name: 'Box Token Manager'
 type: module
 description: 'OAuth2 Token Manager for Box'
-core: 8.x
-core_version_requirement: ^8 || ^9
+core_version_requirement: ^9.3 || ^10
 package: 'Security'
 dependencies:
   - oauth2_token_manager:oauth2_token_manager
diff --git a/modules/box/composer.json b/modules/box/composer.json
index 607e1a3..659d9c4 100644
--- a/modules/box/composer.json
+++ b/modules/box/composer.json
@@ -15,7 +15,7 @@
     "extra": {
         "drush": {
             "services": {
-                "drush.services.yml": "^9 || ^10"
+                "drush.services.yml": "^10 || ^11 || ^12"
             }
         }
     }
diff --git a/modules/quip/composer.json b/modules/quip/composer.json
index 75ac90a..4690ee4 100644
--- a/modules/quip/composer.json
+++ b/modules/quip/composer.json
@@ -12,7 +12,7 @@
     "extra": {
         "drush": {
             "services": {
-                "drush.services.yml": "^9 || ^10"
+                "drush.services.yml": "^10 || ^11 || ^12"
             }
         }
     }
diff --git a/modules/quip/quip_token_manager.info.yml b/modules/quip/quip_token_manager.info.yml
index fd9510b..3e2f6b7 100644
--- a/modules/quip/quip_token_manager.info.yml
+++ b/modules/quip/quip_token_manager.info.yml
@@ -1,8 +1,7 @@
 name: 'Quip Token Manager'
 type: module
 description: 'OAuth2 Token Manager for Quip'
-core: 8.x
-core_version_requirement: ^8 || ^9
+core_version_requirement: ^9.3 || ^10
 package: 'Security'
 dependencies:
   - oauth2_token_manager:oauth2_token_manager
diff --git a/modules/slack/composer.json b/modules/slack/composer.json
index 94f884b..2a968ab 100644
--- a/modules/slack/composer.json
+++ b/modules/slack/composer.json
@@ -15,7 +15,7 @@
     "extra": {
         "drush": {
             "services": {
-                "drush.services.yml": "^9 || ^10"
+                "drush.services.yml": "^10 || ^11 || ^12"
             }
         }
     }
diff --git a/modules/slack/slack_token_manager.info.yml b/modules/slack/slack_token_manager.info.yml
index 6daaeb3..cca873f 100644
--- a/modules/slack/slack_token_manager.info.yml
+++ b/modules/slack/slack_token_manager.info.yml
@@ -1,8 +1,7 @@
 name: 'Slack Token Manager'
 type: module
 description: 'OAuth2 Token Manager for Slack'
-core: 8.x
-core_version_requirement: ^8 || ^9
+core_version_requirement: ^9.3 || ^10
 package: 'Security'
 dependencies:
   - oauth2_token_manager:oauth2_token_manager
diff --git a/oauth2_token_manager.info.yml b/oauth2_token_manager.info.yml
index 5b1f179..7c63c78 100644
--- a/oauth2_token_manager.info.yml
+++ b/oauth2_token_manager.info.yml
@@ -1,6 +1,5 @@
 name: 'OAuth2 Token Manager'
 type: module
 description: 'OAuth2 Token Manager'
-core: 8.x
-core_version_requirement: ^8 || ^9
+core_version_requirement: ^9.3 || ^10
 package: 'Security'
diff --git a/src/Commands/TokenGeneratorCommandsBase.php b/src/Commands/TokenGeneratorCommandsBase.php
index f553df3..9d4d813 100644
--- a/src/Commands/TokenGeneratorCommandsBase.php
+++ b/src/Commands/TokenGeneratorCommandsBase.php
@@ -35,7 +35,7 @@ class TokenGeneratorCommandsBase extends DrushCommands {
    *
    * @throws \Exception
    */
-  public function setRefreshToken($refresh_token) {
+  public function setRefreshToken($refresh_token): void {
     if (!$this->tokenManager->setSystemRefreshToken($refresh_token)) {
       throw new \Exception('Using refresh token failed.');
     }
@@ -46,7 +46,7 @@ class TokenGeneratorCommandsBase extends DrushCommands {
   /**
    * Initializes a new refresh token.
    */
-  public function initRefreshToken() {
+  public function initRefreshToken(): void {
     $authUrl = $this->tokenManager->initSystemAccessToken();
     $this->logger()->success(dt('Please visit the following URL to initialize the system token: {url}', ['url' => $authUrl]));
   }
diff --git a/tests/src/Functional/LoadTest.php b/tests/src/Functional/LoadTest.php
index 9d9d6ce..488c0e0 100644
--- a/tests/src/Functional/LoadTest.php
+++ b/tests/src/Functional/LoadTest.php
@@ -22,7 +22,7 @@ class LoadTest extends BrowserTestBase {
    *
    * @var array
    */
-  public static $modules = [
+  protected static $modules = [
     'oauth2_token_manager',
     'box_token_manager',
     'quip_token_manager',
@@ -39,7 +39,7 @@ class LoadTest extends BrowserTestBase {
   /**
    * {@inheritdoc}
    */
-  protected function setUp() {
+  protected function setUp(): void {
     parent::setUp();
     $this->user = $this->drupalCreateUser(['administer site configuration']);
     $this->drupalLogin($this->user);
@@ -48,9 +48,9 @@ class LoadTest extends BrowserTestBase {
   /**
    * Tests that the home page loads with a 200 response.
    */
-  public function testLoad() {
+  public function testLoad(): void {
     $this->drupalGet(Url::fromRoute('<front>'));
-    $this->assertResponse(200);
+    $this->assertSession()->statusCodeEquals(200);
   }
 
 }
-- 
GitLab