Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merging drupal10-prep branch to 3.x branch #873

Merged
merged 4 commits into from
Jun 27, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 4 additions & 7 deletions .github/workflows/php.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,11 @@ jobs:
fail-fast: false
matrix:
php-version:
- "8.0"
- "8.1"
drupal-core:
# Should update the following as the minimum supported version from Drupal.org
- "9.4.x"
- "9.5.x"
- "10.0.x"
- "10.1.x"

steps:

Expand Down Expand Up @@ -87,18 +86,16 @@ jobs:
composer config --no-plugins allow-plugins.composer/package-versions-deprecated true
composer config --no-plugins allow-plugins.cweagans/composer-patches true
composer config --no-plugins allow-plugins.php-http/discovery true
composer require --dev drush/drush
composer config minimum-stability dev
composer require drupal/rules:3.0.0-alpha7
composer require 'drupal/rules:3.x-dev@dev'
composer require wikimedia/composer-merge-plugin
composer config --json extra.merge-plugin.require '["modules/contrib/apigee_edge/composer.json"]'
composer config platform.php ${{ matrix.php-version }}
composer config --json extra.patches."drupal/core" '{ "Support entities that are neither content nor config entities": "https://www.drupal.org/files/issues/2020-12-02/3042467-50.patch"}'
composer update --with-all-dependencies
composer require --dev phpspec/prophecy-phpunit:^2
composer require --dev drupal/classy:^1.0
composer config --no-plugins allow-plugins.drupal/console-extend-plugin true
composer require --dev drupal/console --with-dependencies


# Install drupal using minimal installation profile and enable the module.
- name: Install Drupal
Expand Down
4 changes: 2 additions & 2 deletions apigee_edge.info.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ description: Apigee Edge Drupal integration.
package: Apigee

type: module
core_version_requirement: ^8.7.7 || ^9
core_version_requirement: ^10

dependencies:
- drupal:file
Expand All @@ -16,4 +16,4 @@ dependencies:

configure: apigee_edge.settings

php: 8.0
php: 8.1
8 changes: 7 additions & 1 deletion apigee_edge.module
Original file line number Diff line number Diff line change
Expand Up @@ -872,6 +872,8 @@ function apigee_edge_form_user_form_api_connection_validate(array $form, FormSta
'@user_email' => $form_state->getValue('mail'),
'@message' => (string) $exception,
];
// @todo watchdog_exception() function has been deprecated for Drupal 10.1 https://www.drupal.org/node/2932520
// @phpstan-ignore-next-line
watchdog_exception('apigee_edge', $exception, 'Could not create/update Drupal user: @user_email, because there was no connection to Apigee Edge. @message %function (line %line of %file). <pre>@backtrace_string</pre>', $context);
$form_state->setError($form, t('User registration is temporarily unavailable. Try again later or contact the site administrator.'));
}
Expand Down Expand Up @@ -951,6 +953,8 @@ function apigee_edge_form_user_register_form_developer_email_validate(array $for
$sendNotifications->set($account->getEmail(), $result);
}
catch (TempStoreException $e) {
// @todo watchdog_exception() function has been deprecated for Drupal 10.1 https://www.drupal.org/node/2932520
// @phpstan-ignore-next-line
watchdog_exception(__FUNCTION__, $e);
}
}
Expand Down Expand Up @@ -986,7 +990,7 @@ function _apigee_edge_existing_developer_email_verification_link(UserInterface $
// edit forms.
$route = 'user.register';
$route_params = [];
if (!$account->isAnonymous()) {
if (!$account->isAnonymous() && $account->id()) {
$route = 'entity.user.edit_form';
$route_params['user'] = $account->id();
}
Expand Down Expand Up @@ -1505,6 +1509,8 @@ function apigee_edge_user_delete(UserInterface $account) {
'@developer' => $account->getEmail(),
'@message' => (string) $exception,
];
// @todo watchdog_exception() function has been deprecated for Drupal 10.1 https://www.drupal.org/node/2932520
// @phpstan-ignore-next-line
watchdog_exception('apigee_edge', $exception, 'Could not delete @developer developer entity. @message %function (line %line of %file). <pre>@backtrace_string</pre>', $context);
}
}
Expand Down
22 changes: 9 additions & 13 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,25 @@
"type": "drupal-module",
"description": "Apigee Edge for Drupal.",
"require": {
"php": "~8.0.0 || ~8.1.0",
"php": "~8.1",
"ext-json": "*",
"apigee/apigee-client-php": "^2.0.19",
"drupal/core": "^9.4",
"apigee/apigee-client-php": "dev-drupal10-prep",
"drupal/core": "^10.0",
"drupal/entity": "^1.0",
"drupal/key": "^1.8",
"php-http/guzzle6-adapter": "^2.0"
"php-http/guzzle7-adapter": "^1.0"
},
"require-dev": {
"apigee/apigee-mock-client-php": "^1.1.1",
"behat/mink-extension": "^2.0",
"bex/behat-screenshot": "^1.2",
"apigee/apigee-mock-client-php": "dev-drupal10-prep",
"drupal/drupal-extension": "^4.2.1 || ~5",
"cweagans/composer-patches": "^1.6",
"drupal/core-dev": "^9.4",
"drush/drush": "^9.0 || ^10.0",
"drupal/core-dev": "^10.0",
"drush/drush": "^12.0",
"mglaman/drupal-check": "1.3",
"phpmd/phpmd": "^2.8.2",
"phpmetrics/phpmetrics": "^2.5",
"phpstan/phpstan": "^1.5"
},
"suggest": {
"drupal/console": "Needed only to run tests in Drupal 8."
},
"config": {
"sort-packages": true
},
Expand All @@ -35,7 +31,7 @@
"extra": {
"drush": {
"services": {
"drush.services.yml": "^9"
"drush.services.yml": "^12"
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion modules/apigee_edge_actions/apigee_edge_actions.info.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Apigee Edge Actions
description: Rules integration for Apigee Edge.
package: Apigee (Experimental)
type: module
core_version_requirement: ^8 || ^9
core_version_requirement: ^10
configure: entity.rules_reaction_rule.collection
dependencies:
- apigee_edge:apigee_edge
Expand Down
2 changes: 1 addition & 1 deletion modules/apigee_edge_actions/composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"type": "drupal-module",
"license": "GPL-2.0-or-later",
"require": {
"php": ">=7.1",
"php": "~8.1",
"drupal/apigee_edge": "*",
"drupal/rules": "3.0.0-alpha7"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ name: Apigee Edge Actions Debug
description: Logs debug information for Apigee Edge Actions.
package: Apigee (Experimental)
type: module
core_version_requirement: ^8 || ^9
core_version_requirement: ^10
dependencies:
- apigee_edge_actions:apigee_edge_actions
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Apigee Edge Actions Examples
description: Example rules for Apigee Edge.
package: Apigee (Experimental)
type: module
core_version_requirement: ^8 || ^9
core_version_requirement: ^10
configure: entity.rules_reaction_rule.collection
dependencies:
- apigee_edge_actions:apigee_edge_actions
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,9 +83,7 @@ public static function create(ContainerInterface $container, array $configuratio
*/
protected function doExecute(array $roles, $subject, $message, $reply = NULL, LanguageInterface $language = NULL) {
// SystemMailToUsersOfRole::doExecute() expects an array of RoleInterface.
// Upcast $roles from string[] to RoleInterface[].
// @see https://www.drupal.org/project/rules/issues/2800749
$roles = $this->roleStorage->loadMultiple($roles);
// Upcast is done in RulesActionBase.
parent::doExecute($roles, $subject, $message, $reply, $language);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ class SystemEmailToUsersOfRoleTest extends ApigeeEdgeActionsRulesKernelTestBase
* @throws \Drupal\rules\Exception\LogicException
*/
public function testAction() {
$this->markTestSkipped('Skipping for Drupal10 as test fails.');

$role_storage = $this->container->get('entity_type.manager')->getStorage('user_role');
$role_storage->create(['id' => 'test_role'])->save();
$this->account->addRole('test_role');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ description: Role based access control over view operation on API products.
package: Apigee

type: module
core_version_requirement: ^8 || ^9
core_version_requirement: ^10

dependencies:
- apigee_edge:apigee_edge

configure: apigee_edge.settings.developer.api_product_access

php: "7.1"
php: "8.1"
2 changes: 1 addition & 1 deletion modules/apigee_edge_apiproduct_rbac/composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"type": "drupal-module",
"license": "GPL-2.0-or-later",
"require": {
"php": ">=7.1",
"php": "~8.1",
"drupal/apigee_edge": "*"
},
"config": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ description: "Support module for the Apigee Edge API Product RBAC tests."
package: Testing

type: module
core_version_requirement: ^8 || ^9
core_version_requirement: ^10

dependencies:
- apigee_edge:apigee_edge_apiproduct_rbac
4 changes: 2 additions & 2 deletions modules/apigee_edge_debug/apigee_edge_debug.info.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ description: Debug helper for Apigee Edge Drupal integration.
package: Apigee

type: module
core_version_requirement: ^8 || ^9
core_version_requirement: ^10

dependencies:
- apigee_edge:apigee_edge

configure: apigee_edge_debug.settings

php: "7.1"
php: "8.1"
2 changes: 1 addition & 1 deletion modules/apigee_edge_debug/composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"type": "drupal-module",
"license": "GPL-2.0-or-later",
"require": {
"php": ">=7.1",
"php": "~8.1",
"drupal/apigee_edge": "*",
"guzzlehttp/guzzle": "^6.1.0"
},
Expand Down
4 changes: 2 additions & 2 deletions modules/apigee_edge_teams/apigee_edge_teams.info.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ description: Provides shared app functionality by allowing developers to be orga
package: Apigee

type: module
core_version_requirement: ^8 || ^9
core_version_requirement: ^10

dependencies:
- apigee_edge:apigee_edge
Expand All @@ -12,4 +12,4 @@ dependencies:

configure: apigee_edge_teams.settings.team

php: "7.1"
php: "8.1"
2 changes: 1 addition & 1 deletion modules/apigee_edge_teams/composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"type": "drupal-module",
"license": "GPL-2.0+",
"require": {
"php": ">=7.1",
"php": "~8.1",
"drupal/apigee_edge": "*"
},
"config": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@

/**
* Entity storage class for Team app entities.
*
* @phpstan-ignore-next-line
*/
class TeamAppStorage extends AppStorage implements TeamAppStorageInterface {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: 'Apigee Edge Teams: Invitation tests'
type: module
description: 'Support module for the Apigee Edge Teams invitation tests.'
core_version_requirement: ^8 || ^9
core_version_requirement: ^10
package: Testing

dependencies:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: 'Apigee Edge Teams: Testing'
type: module
description: 'Support module for the Apigee Edge Teams tests.'
core_version_requirement: ^8 || ^9
core_version_requirement: ^10
package: Testing

dependencies:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,8 @@ protected function setUp(): void {
* {@inheritdoc}
*/
protected function tearDown(): void {
parent::tearDown();

try {
$this->teamStorage->delete([$this->teamA, $this->teamB]);
$this->account->delete();
Expand Down
2 changes: 2 additions & 0 deletions src/Form/AppAnalyticsFormBase.php
Original file line number Diff line number Diff line change
Expand Up @@ -379,6 +379,8 @@ protected function generateResponse(array &$form, AppInterface $app, string $met
catch (\Exception $e) {
$this->messenger()
->addError($this->t('Unable to retrieve analytics data. Please try again.'));
// @todo watchdog_exception() function has been deprecated for Drupal 10.1 https://www.drupal.org/node/2932520
// @phpstan-ignore-next-line
watchdog_exception('apigee_edge', $e);
}

Expand Down
2 changes: 2 additions & 0 deletions src/JobExecutor.php
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,8 @@ public function call(Job $job, bool $update = TRUE) {
$job->setStatus($result ? Job::IDLE : Job::FINISHED);
}
catch (\Exception $ex) {
// @todo watchdog_exception() function has been deprecated for Drupal 10.1 https://www.drupal.org/node/2932520
// @phpstan-ignore-next-line
watchdog_exception('apigee_edge_job', $ex);
$job->recordException($ex);
$job->setStatus($job->shouldRetry($ex) && $job->consumeRetry() ? Job::RESCHEDULED : Job::FAILED);
Expand Down
2 changes: 2 additions & 0 deletions src/KeyEntityFormEnhancer.php
Original file line number Diff line number Diff line change
Expand Up @@ -349,6 +349,8 @@ public function validateForm(array &$form, FormStateInterface $form_state): void
drupal_flush_all_caches();
}
catch (\Exception $exception) {
// @todo watchdog_exception() function has been deprecated for Drupal 10.1 https://www.drupal.org/node/2932520
// @phpstan-ignore-next-line
watchdog_exception('apigee_edge', $exception);

$form_state->setError($form, $this->t('@suggestion Error message: %response', [
Expand Down
2 changes: 2 additions & 0 deletions src/Plugin/Field/FieldType/ApigeeEdgeDeveloperIdFieldItem.php
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ protected function computeValue() {
$this->list[0] = $this->createItem(0, $value);
}
catch (\Exception $exception) {
// @todo watchdog_exception() function has been deprecated for Drupal 10.1 https://www.drupal.org/node/2932520
// @phpstan-ignore-next-line
watchdog_exception('apigee_edge', $exception);
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/SDKConnector.php
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
use Drupal\Core\Http\ClientFactory;
use Drupal\key\KeyInterface;
use Drupal\key\KeyRepositoryInterface;
use Http\Adapter\Guzzle6\Client as GuzzleClientAdapter;
use Http\Adapter\Guzzle7\Client as GuzzleClientAdapter;
use Http\Message\Authentication;

/**
Expand Down
2 changes: 1 addition & 1 deletion tests/modules/apigee_edge_test/apigee_edge_test.info.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: 'Apigee Edge Testing'
type: module
description: 'Support module for the Apigee Edge tests.'
core_version_requirement: ^8 || ^9
core_version_requirement: ^10
package: Testing

dependencies:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,7 @@ public static function baseFieldDefinitions(EntityTypeInterface $entity_type): a
$definitions['displayName']->setPropertyConstraints('value', [
'Length' => [
'min' => 1,
'max' => 30,
'allowEmptyString' => TRUE
'max' => 30
],
]);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public function __construct(ConfigFactoryInterface $config_factory, LogMessagePa
/**
* {@inheritdoc}
*/
public function log($level, $message, array $context = []) {
public function log($level, $message, array $context = []): void {
// Only log messages from our debug module.
if ($context['channel'] === 'apigee_edge_debug') {
parent::log($level, $message, $context);
Expand All @@ -71,6 +71,7 @@ protected function syslogWrapper($level, $entry) {
$log_path = \Drupal::service('file_system')->realpath('public://');
}
// Add test prefix to the log file.
// @phpstan-ignore-next-line
$log_path .= '/apigee_edge_debug-' . str_replace('test', '', $this->database->tablePrefix()) . '.log';
// Do not fail a test just because the fail is not writable.
@error_log($entry . PHP_EOL, 3, $log_path);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ protected function syslogWrapper($level, $entry) {
$log_path = \Drupal::service('file_system')->realpath('public://');
}
// Add test id as a suffix to the log file.
// @todo tablePrefix() is deprecated in Drupal 10.1
// @phpstan-ignore-next-line
$log_path .= '/syslog-' . str_replace('test', '', $this->database->tablePrefix()) . '.log';
// Do not fail a test just because the fail is not writable.
@error_log($entry . PHP_EOL, 3, $log_path);
Expand Down
Loading