From 0dea00c6e233e9fed7619d9826b89f45e74409ca Mon Sep 17 00:00:00 2001 From: Aaron Bauman <aaron@messageagency.com> Date: Thu, 26 Dec 2019 16:03:10 -0500 Subject: [PATCH] Code sniff cleanup --- .../SalesforceExampleSubscriber.php | 5 ++- .../SalesforceJWTPlugin.php | 13 +----- .../SalesforceJwtTest.php | 19 +++++--- .../SalesforceLoggerSubscriber.php | 5 +++ .../salesforce_mapping.drush.inc | 10 ----- .../Commands/SalesforceMappingCommands.php | 11 +++++ .../Field/FieldType/SalesforceLinkItem.php | 2 + .../SalesforceMappingField/DrupalConstant.php | 4 +- .../RelatedTermString.php | 6 +-- .../Plugin/SalesforceMappingField/Token.php | 5 +++ .../MappingEntityTypeConstraint.php | 5 +++ .../Constraint/UniqueFieldsConstraint.php | 10 +++++ modules/salesforce_mapping/src/PushParams.php | 17 ++++++++ .../src/SalesforceMappingFieldPluginBase.php | 4 +- .../tests/src/Functional/PushParamsTest.php | 18 ++++++-- .../tests/src/Unit/MappedObjectTest.php | 6 +++ .../tests/src/Unit/SalesforceMappingTest.php | 7 ++- .../salesforce_mapping_ui.module | 1 - .../Tests/SalesforceMappingCrudFormTest.php | 10 +++-- .../Controller/SalesforceOAuthController.php | 17 ++++++++ .../SalesforceOAuthTest.php | 8 +++- .../salesforce_pull/salesforce_pull.drush.inc | 10 ----- .../src/Controller/PullController.php | 23 +++++++--- modules/salesforce_pull/src/DeleteHandler.php | 5 +++ modules/salesforce_pull/src/QueueHandler.php | 2 +- .../tests/src/Functional/PullQueueTest.php | 25 +++++++---- .../tests/src/Unit/DeleteHandlerTest.php | 6 +++ .../tests/src/Unit/PullBaseTest.php | 6 +++ .../tests/src/Unit/PullQueueItemTest.php | 6 +++ .../tests/src/Unit/QueueHandlerTest.php | 6 +++ .../salesforce_push/salesforce_push.drush.inc | 4 -- .../SalesforcePushQueueProcessor/Rest.php | 6 +-- .../src/PushQueueInterface.php | 2 +- .../tests/src/Functional/PushQueueTest.php | 33 ++++++++++---- .../SalesforcePushQueueProcessorRestTest.php | 6 +++ .../salesforce_webform.module | 5 +++ salesforce.drush.inc | 20 --------- salesforce.info.yml | 1 + src/Commands/QueryResult.php | 17 ++++++++ src/Commands/SalesforceCommands.php | 7 ++- src/Form/SalesforceAuthSettings.php | 11 +++++ src/Rest/RestClient.php | 5 +++ src/SFID.php | 6 +++ src/SObject.php | 18 ++++++++ ...orceAuthProviderPluginManagerInterface.php | 1 + src/SelectQuery.php | 29 +++++++++++++ src/SelectQueryRaw.php | 5 +++ src/SelectQueryResult.php | 31 ++++++++++++- src/Tests/TestRestClient.php | 13 +++--- src/Tests/TestSalesforceAuthProvider.php | 15 ++++--- ...estSalesforceAuthProviderPluginManager.php | 43 ++++++++++++++++++- tests/src/Functional/StatusPageTest.php | 27 +++++++++++- tests/src/Unit/RestClientTest.php | 5 +++ tests/src/Unit/SFIDTest.php | 6 +++ tests/src/Unit/SObjectTest.php | 6 +++ tests/src/Unit/SelectQueryResultTest.php | 6 +++ 56 files changed, 470 insertions(+), 130 deletions(-) diff --git a/modules/salesforce_example/src/EventSubscriber/SalesforceExampleSubscriber.php b/modules/salesforce_example/src/EventSubscriber/SalesforceExampleSubscriber.php index e6bc6a4c..adb227d4 100644 --- a/modules/salesforce_example/src/EventSubscriber/SalesforceExampleSubscriber.php +++ b/modules/salesforce_example/src/EventSubscriber/SalesforceExampleSubscriber.php @@ -2,6 +2,7 @@ namespace Drupal\salesforce_example\EventSubscriber; +use Drupal\Core\File\FileSystemInterface; use Drupal\salesforce\Event\SalesforceEvents; use Drupal\salesforce_mapping\Event\SalesforcePullEvent; use Drupal\salesforce_mapping\Event\SalesforcePushOpEvent; @@ -159,9 +160,9 @@ class SalesforceExampleSubscriber implements EventSubscriberInterface { // Fetch file destination from account settings. $destination = "public://user_picture/profilepic-" . $sf_data->id() . ".jpg"; - // Attach the new file id to the user entity + // Attach the new file id to the user entity. /* var \Drupal\file\FileInterface */ - if ($file = file_save_data($file_data, $destination, FILE_EXISTS_REPLACE)) { + if ($file = file_save_data($file_data, $destination, FileSystemInterface::EXISTS_REPLACE)) { $account->user_picture->target_id = $file->id(); } else { diff --git a/modules/salesforce_jwt/src/Plugin/SalesforceAuthProvider/SalesforceJWTPlugin.php b/modules/salesforce_jwt/src/Plugin/SalesforceAuthProvider/SalesforceJWTPlugin.php index 51ffec93..7a867246 100644 --- a/modules/salesforce_jwt/src/Plugin/SalesforceAuthProvider/SalesforceJWTPlugin.php +++ b/modules/salesforce_jwt/src/Plugin/SalesforceAuthProvider/SalesforceJWTPlugin.php @@ -179,18 +179,7 @@ class SalesforceJWTPlugin extends SalesforceAuthProviderPluginBase { } /** - * Refreshes a the JWT access token: pass-through to requestAccessToken(). - * - * @param \OAuth\Common\Token\TokenInterface $token - * The JWT OAuth token to refresh. - * - * @return \OAuth\Common\Token\TokenInterface - * On success. - * - * @throws \OAuth\OAuth2\Service\Exception\MissingRefreshTokenException - * On error. - * @throws \OAuth\Common\Http\Exception\TokenResponseException - * On error. + * {@inheritDoc} */ public function refreshAccessToken(TokenInterface $token) { return $this->requestAccessToken($this->generateAssertion()); diff --git a/modules/salesforce_jwt/tests/src/FunctionalJavascript/SalesforceJwtTest.php b/modules/salesforce_jwt/tests/src/FunctionalJavascript/SalesforceJwtTest.php index 1a6a91ba..2a54a8e6 100644 --- a/modules/salesforce_jwt/tests/src/FunctionalJavascript/SalesforceJwtTest.php +++ b/modules/salesforce_jwt/tests/src/FunctionalJavascript/SalesforceJwtTest.php @@ -4,9 +4,6 @@ namespace Drupal\Tests\salesforce_jwt\FunctionalJavascript; use Drupal\FunctionalJavascriptTests\WebDriverTestBase; use Drupal\key\Entity\Key; -use Drupal\salesforce\Entity\SalesforceAuthConfig; -use Drupal\simpletest\WebTestBase; -use Drupal\Tests\BrowserTestBase; use Drupal\Tests\key\Functional\KeyTestTrait; /** @@ -18,7 +15,19 @@ class SalesforceJwtTest extends WebDriverTestBase { use KeyTestTrait; - public static $modules = ['key', 'typed_data', 'dynamic_entity_reference', 'salesforce', 'salesforce_test_rest_client', 'salesforce_jwt']; + /** + * Modules. + * + * @var array + */ + public static $modules = [ + 'key', + 'typed_data', + 'dynamic_entity_reference', + 'salesforce', + 'salesforce_test_rest_client', + 'salesforce_jwt', + ]; /** * Admin user to test form. @@ -88,4 +97,4 @@ class SalesforceJwtTest extends WebDriverTestBase { $assert_session->pageTextContainsOnce('Salesforce JWT OAuth'); } -} \ No newline at end of file +} diff --git a/modules/salesforce_logger/src/EventSubscriber/SalesforceLoggerSubscriber.php b/modules/salesforce_logger/src/EventSubscriber/SalesforceLoggerSubscriber.php index ed2cd1bb..47420ee0 100644 --- a/modules/salesforce_logger/src/EventSubscriber/SalesforceLoggerSubscriber.php +++ b/modules/salesforce_logger/src/EventSubscriber/SalesforceLoggerSubscriber.php @@ -18,6 +18,11 @@ class SalesforceLoggerSubscriber implements EventSubscriberInterface { const EXCEPTION_MESSAGE_PLACEHOLDER = '%type: @message in %function (line %line of %file).'; + /** + * Logger. + * + * @var \Psr\Log\LoggerInterface + */ protected $logger; /** diff --git a/modules/salesforce_mapping/salesforce_mapping.drush.inc b/modules/salesforce_mapping/salesforce_mapping.drush.inc index 407bf67d..46069360 100644 --- a/modules/salesforce_mapping/salesforce_mapping.drush.inc +++ b/modules/salesforce_mapping/salesforce_mapping.drush.inc @@ -50,8 +50,6 @@ function salesforce_mapping_drush_command() { /** * Support for drush 8 is deprecated and will be removed in a future release. - * - * @deprecated */ function drush_salesforce_mapping_sf_prune_revisions() { _drush_salesforce_deprecated(); @@ -103,8 +101,6 @@ function drush_salesforce_mapping_sf_prune_revisions() { /** * Support for drush 8 is deprecated and will be removed in a future release. - * - * @deprecated */ function drush_salesforce_mapping_sf_purge_drupal() { _drush_salesforce_deprecated(); @@ -152,8 +148,6 @@ function drush_salesforce_mapping_sf_purge_drupal() { /** * Support for drush 8 is deprecated and will be removed in a future release. - * - * @deprecated */ function drush_salesforce_mapping_sf_purge_salesforce() { _drush_salesforce_deprecated(); @@ -226,8 +220,6 @@ function drush_salesforce_mapping_sf_purge_salesforce() { /** * Support for drush 8 is deprecated and will be removed in a future release. - * - * @deprecated */ function drush_salesforce_mapping_sf_purge_mapping() { _drush_salesforce_deprecated(); @@ -274,8 +266,6 @@ function drush_salesforce_mapping_sf_purge_mapping() { /** * Support for drush 8 is deprecated and will be removed in a future release. - * - * @deprecated */ function drush_salesforce_mapping_sf_purge_all() { _drush_salesforce_deprecated(); diff --git a/modules/salesforce_mapping/src/Commands/SalesforceMappingCommands.php b/modules/salesforce_mapping/src/Commands/SalesforceMappingCommands.php index 2e911eb5..9ac34a7c 100644 --- a/modules/salesforce_mapping/src/Commands/SalesforceMappingCommands.php +++ b/modules/salesforce_mapping/src/Commands/SalesforceMappingCommands.php @@ -26,7 +26,18 @@ use Drupal\salesforce\Storage\SalesforceAuthTokenStorageInterface; */ class SalesforceMappingCommands extends SalesforceMappingCommandsBase { + /** + * Salesforce settings. + * + * @var \Drupal\Core\Config\ImmutableConfig + */ protected $salesforceConfig; + + /** + * Database service. + * + * @var \Drupal\Core\Database\Connection + */ protected $database; /** diff --git a/modules/salesforce_mapping/src/Plugin/Field/FieldType/SalesforceLinkItem.php b/modules/salesforce_mapping/src/Plugin/Field/FieldType/SalesforceLinkItem.php index 7aa83ef5..0fc56a5a 100644 --- a/modules/salesforce_mapping/src/Plugin/Field/FieldType/SalesforceLinkItem.php +++ b/modules/salesforce_mapping/src/Plugin/Field/FieldType/SalesforceLinkItem.php @@ -7,6 +7,8 @@ use Drupal\Core\TypedData\DataDefinition; use Drupal\link\Plugin\Field\FieldType\LinkItem; /** + * Salesforce link to external record. + * * @FieldType( * id = "salesforce_link", * label = @Translation("Salesforce Record"), diff --git a/modules/salesforce_mapping/src/Plugin/SalesforceMappingField/DrupalConstant.php b/modules/salesforce_mapping/src/Plugin/SalesforceMappingField/DrupalConstant.php index 5456b480..40617b3b 100644 --- a/modules/salesforce_mapping/src/Plugin/SalesforceMappingField/DrupalConstant.php +++ b/modules/salesforce_mapping/src/Plugin/SalesforceMappingField/DrupalConstant.php @@ -88,14 +88,14 @@ class DrupalConstant extends SalesforceMappingFieldPluginBase { /** * {@inheritdoc} */ - public function value(EntityInterface $entity, SalesforceMappingInterface $mapping){ + public function value(EntityInterface $entity, SalesforceMappingInterface $mapping) { } /** * {@inheritdoc} */ - public function pullValue(SObject $sf_object, EntityInterface $entity, SalesforceMappingInterface $mapping){ + public function pullValue(SObject $sf_object, EntityInterface $entity, SalesforceMappingInterface $mapping) { return $this->config('drupal_constant'); } diff --git a/modules/salesforce_mapping/src/Plugin/SalesforceMappingField/RelatedTermString.php b/modules/salesforce_mapping/src/Plugin/SalesforceMappingField/RelatedTermString.php index ef30c845..e50b86e0 100644 --- a/modules/salesforce_mapping/src/Plugin/SalesforceMappingField/RelatedTermString.php +++ b/modules/salesforce_mapping/src/Plugin/SalesforceMappingField/RelatedTermString.php @@ -112,10 +112,10 @@ class RelatedTermString extends SalesforceMappingFieldPluginBase { if (empty($term_id)) { $vocab = reset($vocabs); - $term = Term::create(array( + $term = Term::create([ 'name' => $value, 'vid' => $vocab, - )); + ]); $term->save(); $term_id = $term->id(); } @@ -134,7 +134,7 @@ class RelatedTermString extends SalesforceMappingFieldPluginBase { $options = []; foreach ($instances as $name => $instance) { $hand = $instance->getSetting('handler'); - //??? + // ??? if ($hand != "default:taxonomy_term") { continue; } diff --git a/modules/salesforce_mapping/src/Plugin/SalesforceMappingField/Token.php b/modules/salesforce_mapping/src/Plugin/SalesforceMappingField/Token.php index 3c020114..4a3f0a14 100644 --- a/modules/salesforce_mapping/src/Plugin/SalesforceMappingField/Token.php +++ b/modules/salesforce_mapping/src/Plugin/SalesforceMappingField/Token.php @@ -28,6 +28,11 @@ use Symfony\Component\EventDispatcher\EventDispatcherInterface; */ class Token extends SalesforceMappingFieldPluginBase { + /** + * Token service. + * + * @var \Drupal\Core\Utility\Token + */ protected $token; /** diff --git a/modules/salesforce_mapping/src/Plugin/Validation/Constraint/MappingEntityTypeConstraint.php b/modules/salesforce_mapping/src/Plugin/Validation/Constraint/MappingEntityTypeConstraint.php index 6260c8da..f274c34b 100644 --- a/modules/salesforce_mapping/src/Plugin/Validation/Constraint/MappingEntityTypeConstraint.php +++ b/modules/salesforce_mapping/src/Plugin/Validation/Constraint/MappingEntityTypeConstraint.php @@ -15,6 +15,11 @@ use Symfony\Component\Validator\Constraint; */ class MappingEntityTypeConstraint extends Constraint { + /** + * Constraint message. + * + * @var string + */ public $message = 'Mapping %mapping cannot be used with entity type %entity_type.'; } diff --git a/modules/salesforce_mapping/src/Plugin/Validation/Constraint/UniqueFieldsConstraint.php b/modules/salesforce_mapping/src/Plugin/Validation/Constraint/UniqueFieldsConstraint.php index d740bc4f..0693a63a 100644 --- a/modules/salesforce_mapping/src/Plugin/Validation/Constraint/UniqueFieldsConstraint.php +++ b/modules/salesforce_mapping/src/Plugin/Validation/Constraint/UniqueFieldsConstraint.php @@ -15,8 +15,18 @@ use Symfony\Component\Validator\Constraint; */ class UniqueFieldsConstraint extends Constraint { + /** + * Constraint message. + * + * @var string + */ public $message = 'A @entity_type already exists: <a href=":url">@label</a>'; + /** + * Array of unique fields. + * + * @var array + */ public $fields; /** diff --git a/modules/salesforce_mapping/src/PushParams.php b/modules/salesforce_mapping/src/PushParams.php index 15185c45..d6a3e070 100644 --- a/modules/salesforce_mapping/src/PushParams.php +++ b/modules/salesforce_mapping/src/PushParams.php @@ -12,8 +12,25 @@ use Drupal\Core\Entity\EntityInterface; */ class PushParams { + /** + * Key-value array of raw data. + * + * @var array + */ protected $params; + + /** + * Mapping for this push params. + * + * @var \Drupal\salesforce_mapping\Entity\SalesforceMappingInterface + */ protected $mapping; + + /** + * The Drupal entity being parameterized. + * + * @var \Drupal\Core\Entity\EntityInterface + */ protected $drupalEntity; /** diff --git a/modules/salesforce_mapping/src/SalesforceMappingFieldPluginBase.php b/modules/salesforce_mapping/src/SalesforceMappingFieldPluginBase.php index 913d95e2..0108393d 100644 --- a/modules/salesforce_mapping/src/SalesforceMappingFieldPluginBase.php +++ b/modules/salesforce_mapping/src/SalesforceMappingFieldPluginBase.php @@ -170,7 +170,7 @@ abstract class SalesforceMappingFieldPluginBase extends PluginBase implements Sa * {@inheritdoc} */ public function pushValue(EntityInterface $entity, SalesforceMappingInterface $mapping) { - // @TODO to provide for better extensibility, this would be better implemented as some kind of constraint or plugin system. That would also open new possibilities for injecting business logic into he mapping layer. + // @TODO to provide for better extensibility, this would be better implemented as some kind of constraint or plugin system. That would also open new possibilities for injecting business logic into the mapping layer. // If this field plugin doesn't support salesforce_field config type, or // doesn't do push, then return the raw value from the mapped entity. @@ -249,7 +249,7 @@ abstract class SalesforceMappingFieldPluginBase extends PluginBase implements Sa * {@inheritdoc} */ public function pullValue(SObject $sf_object, EntityInterface $entity, SalesforceMappingInterface $mapping) { - // @TODO to provide for better extensibility, this would be better implemented as some kind of constraint or plugin system. That would also open new possibilities for injecting business logic into he mapping layer. + // @TODO to provide for better extensibility, this would be better implemented as some kind of constraint or plugin system. That would also open new possibilities for injecting business logic into the mapping layer. if (!$this->pull() || empty($this->config('salesforce_field'))) { throw new SalesforceException('No data to pull. Salesforce field mapping is not defined.'); diff --git a/modules/salesforce_mapping/tests/src/Functional/PushParamsTest.php b/modules/salesforce_mapping/tests/src/Functional/PushParamsTest.php index 8fca488d..8135b1c3 100644 --- a/modules/salesforce_mapping/tests/src/Functional/PushParamsTest.php +++ b/modules/salesforce_mapping/tests/src/Functional/PushParamsTest.php @@ -18,7 +18,17 @@ use DateTime; */ class PushParamsTest extends BrowserTestBase { - public static $modules = ['typed_data', 'dynamic_entity_reference', 'salesforce_mapping', 'salesforce_mapping_test']; + /** + * Required modules. + * + * @var array + */ + public static $modules = [ + 'typed_data', + 'dynamic_entity_reference', + 'salesforce_mapping', + 'salesforce_mapping_test', + ]; /** * Test PushParams instantiation, where all the work gets done. @@ -30,9 +40,9 @@ class PushParamsTest extends BrowserTestBase { // Entity 1 is the target reference. $entity1 = Node::create([ - 'type' => 'salesforce_mapping_test_content', - 'title' => 'Test Example', - ] + 'type' => 'salesforce_mapping_test_content', + 'title' => 'Test Example', + ] ); $entity1->save(); diff --git a/modules/salesforce_mapping/tests/src/Unit/MappedObjectTest.php b/modules/salesforce_mapping/tests/src/Unit/MappedObjectTest.php index bdd4c356..5987fe6e 100644 --- a/modules/salesforce_mapping/tests/src/Unit/MappedObjectTest.php +++ b/modules/salesforce_mapping/tests/src/Unit/MappedObjectTest.php @@ -23,6 +23,12 @@ use Symfony\Component\EventDispatcher\EventDispatcherInterface; * @group salesforce_mapping */ class MappedObjectTest extends UnitTestCase { + + /** + * Required modules. + * + * @var array + */ static public $modules = ['salesforce_mapping']; /** diff --git a/modules/salesforce_mapping/tests/src/Unit/SalesforceMappingTest.php b/modules/salesforce_mapping/tests/src/Unit/SalesforceMappingTest.php index 8f7fa5e0..fd869786 100644 --- a/modules/salesforce_mapping/tests/src/Unit/SalesforceMappingTest.php +++ b/modules/salesforce_mapping/tests/src/Unit/SalesforceMappingTest.php @@ -21,6 +21,11 @@ use Prophecy\Argument; */ class SalesforceMappingTest extends UnitTestCase { + /** + * Required modules. + * + * @var array + */ static public $modules = ['salesforce_mapping']; /** @@ -162,7 +167,7 @@ class SalesforceMappingTest extends UnitTestCase { $expectedQuery->fields = $this->mapping->getPullFieldsArray(); $expectedQuery->fields[] = 'Id'; $expectedQuery->fields[] = $this->mapping->getPullTriggerDate(); - $expectedQuery->order[$this->mapping->getPullTriggerDate()] = 'ASC';- + $expectedQuery->order[$this->mapping->getPullTriggerDate()] = 'ASC'; $this->assertArrayEquals($expectedQuery->fields, $query->fields); $this->assertArrayEquals($expectedQuery->order, $query->order); $this->assertArrayEquals($expectedQuery->conditions, $query->conditions); diff --git a/modules/salesforce_mapping_ui/salesforce_mapping_ui.module b/modules/salesforce_mapping_ui/salesforce_mapping_ui.module index a719268b..81d10897 100644 --- a/modules/salesforce_mapping_ui/salesforce_mapping_ui.module +++ b/modules/salesforce_mapping_ui/salesforce_mapping_ui.module @@ -15,7 +15,6 @@ use Drupal\salesforce_mapping_ui\Form\SalesforceMappingEnableForm; use Drupal\salesforce_mapping_ui\Form\SalesforceMappingFieldsForm; use Drupal\salesforce_mapping_ui\MappedObjectList; use Drupal\salesforce_mapping_ui\Form\MappedObjectForm; -use Drupal\salesforce_mapping_ui\Form\MappedObjectDeleteForm; /** * Implements hook_entity_type_alter(). diff --git a/modules/salesforce_mapping_ui/src/Tests/SalesforceMappingCrudFormTest.php b/modules/salesforce_mapping_ui/src/Tests/SalesforceMappingCrudFormTest.php index ec7388df..d0808897 100644 --- a/modules/salesforce_mapping_ui/src/Tests/SalesforceMappingCrudFormTest.php +++ b/modules/salesforce_mapping_ui/src/Tests/SalesforceMappingCrudFormTest.php @@ -2,14 +2,14 @@ namespace Drupal\salesforce_mapping_ui\Tests; -use Drupal\simpletest\WebTestBase; +use Drupal\Tests\BrowserTestBase; /** * Tests for salesforce admin settings. * * @group salesforce_mapping */ -class SalesforceMappingCrudFormTest extends WebTestBase { +class SalesforceMappingCrudFormTest extends BrowserTestBase { /** * Modules to enable. @@ -26,7 +26,11 @@ class SalesforceMappingCrudFormTest extends WebTestBase { 'dynamic_entity_reference', ]; - protected $normalUser; + /** + * Admin user. + * + * @var \Drupal\user\Entity\User + */ protected $adminSalesforceUser; /** diff --git a/modules/salesforce_oauth/src/Controller/SalesforceOAuthController.php b/modules/salesforce_oauth/src/Controller/SalesforceOAuthController.php index 364d7e4a..27999698 100644 --- a/modules/salesforce_oauth/src/Controller/SalesforceOAuthController.php +++ b/modules/salesforce_oauth/src/Controller/SalesforceOAuthController.php @@ -18,8 +18,25 @@ use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException; */ class SalesforceOAuthController extends ControllerBase { + /** + * Request stack service. + * + * @var \Symfony\Component\HttpFoundation\Request + */ protected $request; + + /** + * Messenger service. + * + * @var \Drupal\Core\Messenger\MessengerInterface + */ protected $messenger; + + /** + * Temp store factory service. + * + * @var \Drupal\Core\TempStore\PrivateTempStore + */ protected $tempStore; /** diff --git a/modules/salesforce_oauth/tests/src/FunctionalJavascript/SalesforceOAuthTest.php b/modules/salesforce_oauth/tests/src/FunctionalJavascript/SalesforceOAuthTest.php index 1c4ff647..c1b48e0d 100644 --- a/modules/salesforce_oauth/tests/src/FunctionalJavascript/SalesforceOAuthTest.php +++ b/modules/salesforce_oauth/tests/src/FunctionalJavascript/SalesforceOAuthTest.php @@ -11,6 +11,11 @@ use Drupal\FunctionalJavascriptTests\WebDriverTestBase; */ class SalesforceOAuthTest extends WebDriverTestBase { + /** + * Required modules. + * + * @var array + */ public static $modules = [ 'key', 'typed_data', @@ -80,4 +85,5 @@ class SalesforceOAuthTest extends WebDriverTestBase { public function testOAuthCallback() { // @todo } -} \ No newline at end of file + +} diff --git a/modules/salesforce_pull/salesforce_pull.drush.inc b/modules/salesforce_pull/salesforce_pull.drush.inc index a2f472ca..64a1efd4 100644 --- a/modules/salesforce_pull/salesforce_pull.drush.inc +++ b/modules/salesforce_pull/salesforce_pull.drush.inc @@ -92,8 +92,6 @@ function salesforce_pull_drush_command() { * * @param string $name * Mapping name. - * - * @deprecated Support for drush 8 is deprecated and will be removed in a future release. */ function drush_salesforce_pull_sf_pull_query($name) { _drush_salesforce_deprecated(); @@ -154,8 +152,6 @@ function drush_salesforce_pull_sf_pull_query($name) { * File name with IDs. * @param string $name * Mapping name. - * - * @deprecated Support for drush 8 is deprecated and will be removed in a future release. */ function drush_salesforce_pull_sf_pull_file($file, $name = NULL) { _drush_salesforce_deprecated(); @@ -266,8 +262,6 @@ function drush_salesforce_pull_sf_pull_file($file, $name = NULL) { * * @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException * @throws \Drupal\Component\Plugin\Exception\PluginNotFoundException - * - * @deprecated Support for drush 8 is deprecated and will be removed in a future release. */ function _salesforce_pull_load_single_mapping_array_or_all_pull_mappings($name = NULL) { if ($name != NULL) { @@ -289,8 +283,6 @@ function _salesforce_pull_load_single_mapping_array_or_all_pull_mappings($name = /** * Reset pull time on all mappings, or the given mapping by name. - * - * @deprecated Support for drush 8 is deprecated and will be removed in a future release. */ function drush_salesforce_pull_sf_pull_reset($name = NULL) { $mappings = _salesforce_pull_load_single_mapping_array_or_all_pull_mappings($name); @@ -307,8 +299,6 @@ function drush_salesforce_pull_sf_pull_reset($name = NULL) { /** * Set pull time on all mappings, or the given mapping by name. - * - * @deprecated Support for drush 8 is deprecated and will be removed in a future release. */ function drush_salesforce_pull_sf_pull_set($name, $time = NULL) { _drush_salesforce_deprecated(); diff --git a/modules/salesforce_pull/src/Controller/PullController.php b/modules/salesforce_pull/src/Controller/PullController.php index e3562851..81f94541 100644 --- a/modules/salesforce_pull/src/Controller/PullController.php +++ b/modules/salesforce_pull/src/Controller/PullController.php @@ -105,7 +105,7 @@ class PullController extends ControllerBase { $this->deleteHandler = $deleteHandler; $this->mappingStorage = $etm->getStorage('salesforce_mapping'); $this->config = $config; - $this->state = $state; + $this->state = $state; $this->queueService = $queueService; $this->queueWorkerManager = $queueWorkerManager; $this->eventDispatcher = $eventDispatcher; @@ -113,7 +113,6 @@ class PullController extends ControllerBase { $this->request = $requestStack->getCurrentRequest(); } - /** * {@inheritdoc} */ @@ -164,6 +163,9 @@ class PullController extends ControllerBase { return new Response('', 204); } + /** + * Helper method to populate queue, optionally by mapping or a single record. + */ protected function populateQueue(SalesforceMappingInterface $mapping = NULL, SFID $id = NULL) { $mappings = []; if ($id) { @@ -182,12 +184,18 @@ class PullController extends ControllerBase { } } + /** + * Helper method to get queue processing time limit. + */ protected function getTimeLimit() { return self::DEFAULT_TIME_LIMIT; } + /** + * Helper method to process queue. + */ protected function processQueue() { - $start = microtime(true); + $start = microtime(TRUE); $worker = $this->queueWorkerManager->createInstance(QueueHandler::PULL_QUEUE_NAME); $end = time() + $this->getTimeLimit(); $queue = $this->queueService->get(QueueHandler::PULL_QUEUE_NAME); @@ -210,7 +218,12 @@ class PullController extends ControllerBase { throw new \Exception($e->getMessage()); } } - $elapsed = microtime(true) - $start; - $this->eventDispatcher->dispatch(SalesforceEvents::NOTICE, new SalesforceNoticeEvent(NULL, 'Processed @count items from the @name queue in @elapsed sec.', ['@count' => $count, '@name' => QueueHandler::PULL_QUEUE_NAME, '@elapsed' => round($elapsed, 2)])); + $elapsed = microtime(TRUE) - $start; + $this->eventDispatcher->dispatch(SalesforceEvents::NOTICE, new SalesforceNoticeEvent(NULL, 'Processed @count items from the @name queue in @elapsed sec.', [ + '@count' => $count, + '@name' => QueueHandler::PULL_QUEUE_NAME, + '@elapsed' => round($elapsed, 2), + ])); } + } diff --git a/modules/salesforce_pull/src/DeleteHandler.php b/modules/salesforce_pull/src/DeleteHandler.php index c68ab611..2b1ef837 100644 --- a/modules/salesforce_pull/src/DeleteHandler.php +++ b/modules/salesforce_pull/src/DeleteHandler.php @@ -63,6 +63,11 @@ class DeleteHandler { */ protected $time; + /** + * Event dispatcher service. + * + * @var \Symfony\Component\EventDispatcher\EventDispatcherInterface + */ protected $eventDispatcher; /** diff --git a/modules/salesforce_pull/src/QueueHandler.php b/modules/salesforce_pull/src/QueueHandler.php index a0143e75..099b0c88 100644 --- a/modules/salesforce_pull/src/QueueHandler.php +++ b/modules/salesforce_pull/src/QueueHandler.php @@ -195,7 +195,7 @@ class QueueHandler { if (!$mapping->doesPull()) { return FALSE; } - $record = $this->sfapi->objectRead($mapping->getSalesforceObjectType(), (string)$id); + $record = $this->sfapi->objectRead($mapping->getSalesforceObjectType(), (string) $id); if ($record) { $results = SelectQueryResult::createSingle($record); $this->enqueueAllResults($mapping, $results, $force_pull); diff --git a/modules/salesforce_pull/tests/src/Functional/PullQueueTest.php b/modules/salesforce_pull/tests/src/Functional/PullQueueTest.php index 3360a753..9fdd27c1 100644 --- a/modules/salesforce_pull/tests/src/Functional/PullQueueTest.php +++ b/modules/salesforce_pull/tests/src/Functional/PullQueueTest.php @@ -2,9 +2,6 @@ namespace Drupal\Tests\salesforce_pull\Functional; -use Drupal\Core\Queue\RequeueException; -use Drupal\Core\Queue\SuspendQueueException; -use Drupal\node\Entity\Node; use Drupal\salesforce\SFID; use Drupal\salesforce\Tests\TestRestClient; use Drupal\salesforce_mapping\Entity\SalesforceMapping; @@ -15,9 +12,20 @@ use Drupal\Tests\BrowserTestBase; * * @group salesforce_push */ -class PushQueueTest extends BrowserTestBase { +class PullQueueTest extends BrowserTestBase { - public static $modules = ['typed_data', 'dynamic_entity_reference', 'salesforce_mapping', 'salesforce_mapping_test', 'salesforce_pull']; + /** + * Required modules. + * + * @var array + */ + public static $modules = [ + 'typed_data', + 'dynamic_entity_reference', + 'salesforce_mapping', + 'salesforce_mapping_test', + 'salesforce_pull', + ]; /** * Test that saving mapped nodes enqueues them for push to Salesforce. @@ -45,7 +53,7 @@ class PushQueueTest extends BrowserTestBase { /** @var \Drupal\salesforce_mapping\MappedObjectStorage $mappedObjectStorage */ $mappedObjectStorage = \Drupal::entityTypeManager() ->getStorage('salesforce_mapped_object'); - for ($i = 0 ; $i < $items['totalSize']; $i++) { + for ($i = 0; $i < $items['totalSize']; $i++) { $item = $queue->claimItem(); /** @var \Drupal\salesforce_pull\PullQueueItem $data */ $data = $item->data; @@ -78,8 +86,7 @@ class PushQueueTest extends BrowserTestBase { // Make sure our queue was re-populated. $this->assertEquals($items['totalSize'], $queue->numberOfItems()); - - for ($i = 0 ; $i < $items['totalSize']; $i++) { + for ($i = 0; $i < $items['totalSize']; $i++) { $item = $queue->claimItem(); /** @var \Drupal\salesforce_pull\PullQueueItem $data */ $data = $item->data; @@ -102,4 +109,4 @@ class PushQueueTest extends BrowserTestBase { } } -} \ No newline at end of file +} diff --git a/modules/salesforce_pull/tests/src/Unit/DeleteHandlerTest.php b/modules/salesforce_pull/tests/src/Unit/DeleteHandlerTest.php index 308d5cca..54fbbd37 100644 --- a/modules/salesforce_pull/tests/src/Unit/DeleteHandlerTest.php +++ b/modules/salesforce_pull/tests/src/Unit/DeleteHandlerTest.php @@ -23,6 +23,12 @@ use Prophecy\Argument; * @group salesforce_pull */ class DeleteHandlerTest extends UnitTestCase { + + /** + * Required modules. + * + * @var array + */ protected static $modules = ['salesforce_pull']; /** diff --git a/modules/salesforce_pull/tests/src/Unit/PullBaseTest.php b/modules/salesforce_pull/tests/src/Unit/PullBaseTest.php index da4f47b3..424aa048 100644 --- a/modules/salesforce_pull/tests/src/Unit/PullBaseTest.php +++ b/modules/salesforce_pull/tests/src/Unit/PullBaseTest.php @@ -29,6 +29,12 @@ use Symfony\Component\DependencyInjection\ContainerBuilder; * @group salesforce_pull */ class PullBaseTest extends UnitTestCase { + + /** + * Required modules. + * + * @var array + */ public static $modules = ['salesforce_pull']; /** diff --git a/modules/salesforce_pull/tests/src/Unit/PullQueueItemTest.php b/modules/salesforce_pull/tests/src/Unit/PullQueueItemTest.php index f220be4f..eb2440ec 100644 --- a/modules/salesforce_pull/tests/src/Unit/PullQueueItemTest.php +++ b/modules/salesforce_pull/tests/src/Unit/PullQueueItemTest.php @@ -13,6 +13,12 @@ use Drupal\salesforce_pull\PullQueueItem; * @group salesforce_pull */ class PullQueueItemTest extends UnitTestCase { + + /** + * Required modules. + * + * @var array + */ public static $modules = ['salesforce_pull']; /** diff --git a/modules/salesforce_pull/tests/src/Unit/QueueHandlerTest.php b/modules/salesforce_pull/tests/src/Unit/QueueHandlerTest.php index de1f29a2..1ca66fa2 100644 --- a/modules/salesforce_pull/tests/src/Unit/QueueHandlerTest.php +++ b/modules/salesforce_pull/tests/src/Unit/QueueHandlerTest.php @@ -25,6 +25,12 @@ use Symfony\Component\EventDispatcher\EventDispatcherInterface; * @group salesforce_pull */ class QueueHandlerTest extends UnitTestCase { + + /** + * Required modules. + * + * @var array + */ static public $modules = ['salesforce_pull']; /** diff --git a/modules/salesforce_push/salesforce_push.drush.inc b/modules/salesforce_push/salesforce_push.drush.inc index d1831563..42e483a6 100644 --- a/modules/salesforce_push/salesforce_push.drush.inc +++ b/modules/salesforce_push/salesforce_push.drush.inc @@ -52,8 +52,6 @@ function salesforce_push_drush_command() { /** * Implements drush_hook_COMMAND(). - * - * @deprecated Support for drush 8 is deprecated and will be removed in a future release. */ function drush_salesforce_push_sf_push_queue($name = NULL) { _drush_salesforce_deprecated(); @@ -76,8 +74,6 @@ function drush_salesforce_push_sf_push_queue($name = NULL) { * * Search for entities without Salesforce Object mappings and attempt to push * them to Salesforce. - * - * @deprecated Support for drush 8 is deprecated and will be removed in a future release. */ function drush_salesforce_push_unmapped($name = NULL) { _drush_salesforce_deprecated(); diff --git a/modules/salesforce_push/src/Plugin/SalesforcePushQueueProcessor/Rest.php b/modules/salesforce_push/src/Plugin/SalesforcePushQueueProcessor/Rest.php index ce863b12..9a9c564d 100644 --- a/modules/salesforce_push/src/Plugin/SalesforcePushQueueProcessor/Rest.php +++ b/modules/salesforce_push/src/Plugin/SalesforcePushQueueProcessor/Rest.php @@ -133,7 +133,7 @@ class Rest extends PluginBase implements PushQueueProcessorInterface { /** * Push queue item process callback. * - * @param \stdClass $item + * @param object $item * The push queue item. * * @throws \Drupal\Core\Entity\EntityStorageException @@ -201,7 +201,7 @@ class Rest extends PluginBase implements PushQueueProcessorInterface { /** * Return the mapped object given a queue item and mapping. * - * @param \stdClass $item + * @param object $item * Push queue item. * @param \Drupal\salesforce_mapping\Entity\SalesforceMappingInterface $mapping * The mapping. @@ -244,7 +244,7 @@ class Rest extends PluginBase implements PushQueueProcessorInterface { /** * Helper method to generate a new MappedObject during push procesing. * - * @param \stdClass $item + * @param object $item * Push queue item. * @param \Drupal\salesforce_mapping\Entity\SalesforceMappingInterface $mapping * The mapping. diff --git a/modules/salesforce_push/src/PushQueueInterface.php b/modules/salesforce_push/src/PushQueueInterface.php index 81af7559..5e8916f9 100644 --- a/modules/salesforce_push/src/PushQueueInterface.php +++ b/modules/salesforce_push/src/PushQueueInterface.php @@ -49,7 +49,7 @@ interface PushQueueInterface extends ReliableQueueInterface { * * @param \Exception $e * The exception which caused the failure. - * @param \stdClass $item + * @param object $item * The failed item. */ public function failItem(\Exception $e, \stdClass $item); diff --git a/modules/salesforce_push/tests/src/Functional/PushQueueTest.php b/modules/salesforce_push/tests/src/Functional/PushQueueTest.php index e100f015..cf6d5c84 100644 --- a/modules/salesforce_push/tests/src/Functional/PushQueueTest.php +++ b/modules/salesforce_push/tests/src/Functional/PushQueueTest.php @@ -3,7 +3,6 @@ namespace Drupal\Tests\salesforce_push\Functional; use Drupal\node\Entity\Node; -use Drupal\salesforce_mapping\Entity\MappedObject; use Drupal\salesforce_mapping\Entity\SalesforceMapping; use Drupal\Tests\BrowserTestBase; @@ -14,7 +13,18 @@ use Drupal\Tests\BrowserTestBase; */ class PushQueueTest extends BrowserTestBase { - public static $modules = ['typed_data', 'dynamic_entity_reference', 'salesforce_mapping', 'salesforce_mapping_test', 'salesforce_push']; + /** + * Required modules. + * + * @var array + */ + public static $modules = [ + 'typed_data', + 'dynamic_entity_reference', + 'salesforce_mapping', + 'salesforce_mapping_test', + 'salesforce_push', + ]; /** * Test queue features. @@ -23,6 +33,11 @@ class PushQueueTest extends BrowserTestBase { * Test mocked push queue create and creation of mapped objects. * Test mocked push queue update and update of mapped objects. * Test deletion of entities and corresponding deletion of SF related records. + * + * @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException + * @throws \Drupal\Component\Plugin\Exception\PluginException + * @throws \Drupal\Component\Plugin\Exception\PluginNotFoundException + * @throws \Drupal\Core\Entity\EntityStorageException */ public function testQueue() { /** @var \Drupal\salesforce_push\PushQueue $queue */ @@ -37,17 +52,17 @@ class PushQueueTest extends BrowserTestBase { $this->assertEquals(0, $queue->numberOfItems()); $node1 = Node::create([ - 'type' => 'salesforce_mapping_test_content', - 'title' => 'Test Example', - ] + 'type' => 'salesforce_mapping_test_content', + 'title' => 'Test Example', + ] ); $node1->save(); $this->assertEquals(1, $queue->numberOfItems()); $node2 = Node::create([ - 'type' => 'salesforce_mapping_test_content', - 'title' => 'Test Example 2', - ] + 'type' => 'salesforce_mapping_test_content', + 'title' => 'Test Example 2', + ] ); $node2->save(); $this->assertEquals(2, $queue->numberOfItems()); @@ -111,4 +126,4 @@ class PushQueueTest extends BrowserTestBase { $this->assertNull($mappedObjectStorage->load($mappedObject2->id())); } -} \ No newline at end of file +} diff --git a/modules/salesforce_push/tests/src/Unit/SalesforcePushQueueProcessorRestTest.php b/modules/salesforce_push/tests/src/Unit/SalesforcePushQueueProcessorRestTest.php index 5f59d10c..73781042 100644 --- a/modules/salesforce_push/tests/src/Unit/SalesforcePushQueueProcessorRestTest.php +++ b/modules/salesforce_push/tests/src/Unit/SalesforcePushQueueProcessorRestTest.php @@ -27,6 +27,12 @@ use Drupal\Core\StringTranslation\TranslationInterface; * @group salesforce_pull */ class SalesforcePushQueueProcessorRestTest extends UnitTestCase { + + /** + * Required modules. + * + * @var array + */ static public $modules = ['salesforce_pull']; /** diff --git a/modules/salesforce_webform/salesforce_webform.module b/modules/salesforce_webform/salesforce_webform.module index 57954916..0768ba45 100644 --- a/modules/salesforce_webform/salesforce_webform.module +++ b/modules/salesforce_webform/salesforce_webform.module @@ -1,5 +1,10 @@ <?php +/** + * @file + * Salesforce webform. + */ + use Drupal\webform\Entity\WebformSubmission; /** diff --git a/salesforce.drush.inc b/salesforce.drush.inc index 98dec9bd..43b84333 100644 --- a/salesforce.drush.inc +++ b/salesforce.drush.inc @@ -11,8 +11,6 @@ use Drupal\salesforce\Exception as SalesforceException; /** * Implements hook_drush_command(). - * - * @deprecated Support for drush 8 is deprecated and will be removed in a future release. */ function salesforce_drush_command() { $items['sf-rest-version'] = [ @@ -149,8 +147,6 @@ raw: Display the complete, raw describe response.", * List the resources available for the specified API version. * * This command provides the name and URI of each resource. - * - * @deprecated Support for drush 8 is deprecated and will be removed in a future release. */ function drush_salesforce_sf_list_resources() { _drush_salesforce_deprecated(); @@ -178,8 +174,6 @@ function drush_salesforce_sf_list_resources() { * * @param string $object_name * The name of a Salesforce object to query. - * - * @deprecated Support for drush 8 is deprecated and will be removed in a future release. */ function drush_salesforce_sf_describe_object($object_name = NULL) { _drush_salesforce_deprecated(); @@ -259,8 +253,6 @@ function drush_salesforce_sf_describe_object($object_name = NULL) { /** * Displays information about the REST API version the site is using. - * - * @deprecated Support for drush 8 is deprecated and will be removed in a future release. */ function drush_salesforce_sf_rest_version() { _drush_salesforce_deprecated(); @@ -287,8 +279,6 @@ function drush_salesforce_sf_rest_version() { * * This command lists Salesforce objects that are available in your organization * and available to the logged-in user. - * - * @deprecated Support for drush 8 is deprecated and will be removed in a future release. */ function drush_salesforce_sf_list_objects() { _drush_salesforce_deprecated(); @@ -319,8 +309,6 @@ function drush_salesforce_sf_list_objects() { * The Salesforce ID. * * @throws \Exception - * - * @deprecated Support for drush 8 is deprecated and will be removed in a future release. */ function drush_salesforce_sf_read_object($id) { _drush_salesforce_deprecated(); @@ -347,8 +335,6 @@ function drush_salesforce_sf_read_object($id) { * The object type name, e.g. Account. * @param string $data * The object data, or '-' to read from stdin. - * - * @deprecated Support for drush 8 is deprecated and will be removed in a future release. */ function drush_salesforce_sf_create_object($name, $data) { _drush_salesforce_deprecated(); @@ -387,8 +373,6 @@ function drush_salesforce_sf_create_object($name, $data) { * * @param string $name * The object type name, e.g. Account. - * - * @deprecated Support for drush 8 is deprecated and will be removed in a future release. */ function drush_salesforce_sf_query_object($name) { _drush_salesforce_deprecated(); @@ -449,8 +433,6 @@ function drush_salesforce_sf_query_object($name) { * * @param string $query * The query to execute. - * - * @deprecated Support for drush 8 is deprecated and will be removed in a future release. */ function drush_salesforce_sf_execute_query($query = NULL) { _drush_salesforce_deprecated(); @@ -476,8 +458,6 @@ function drush_salesforce_sf_execute_query($query = NULL) { * * @return \Drupal\salesforce_mapping\Entity\SalesforceMappingInterface|null * The mapping. - * - * @deprecated Support for drush 8 is deprecated and will be removed in a future release. */ function _salesforce_drush_get_mapping($name = NULL) { _drush_salesforce_deprecated(); diff --git a/salesforce.info.yml b/salesforce.info.yml index 3be778fa..5f719410 100644 --- a/salesforce.info.yml +++ b/salesforce.info.yml @@ -3,6 +3,7 @@ type: module description: Modules to integrate Drupal and Salesforce package: Salesforce core: 8.x +core_version_requirement: ^8.7 || ^9 configure: salesforce.admin_config_salesforce dependencies: typed_data:typed_data diff --git a/src/Commands/QueryResult.php b/src/Commands/QueryResult.php index 8567f452..878e1716 100644 --- a/src/Commands/QueryResult.php +++ b/src/Commands/QueryResult.php @@ -11,8 +11,25 @@ use Drupal\salesforce\SelectQueryResult; */ class QueryResult extends RowsOfFieldsWithMetadata { + /** + * Size of query result. + * + * @var int + */ protected $size; + + /** + * Total records returned by query. + * + * @var int + */ protected $total; + + /** + * The query. + * + * @var \Drupal\salesforce\SelectQueryInterface + */ protected $query; /** diff --git a/src/Commands/SalesforceCommands.php b/src/Commands/SalesforceCommands.php index 75d6f428..137d7b1e 100644 --- a/src/Commands/SalesforceCommands.php +++ b/src/Commands/SalesforceCommands.php @@ -178,7 +178,6 @@ class SalesforceCommands extends SalesforceCommandsBase { * Display the full metadata for Contact SObject type. * * @command salesforce:describe-object-deprecated - * @deprecated Use describeFields, describeMetadata, describeRecordTypes... * * @return \Consolidation\OutputFormatters\StructuredData\RowsOfFields|null * Describe result. @@ -672,8 +671,6 @@ class SalesforceCommands extends SalesforceCommandsBase { return $this->returnQueryResult(new QueryResult($query, $this->client->query($query))); } - - /** * Lists authentication providers. * @@ -691,7 +688,7 @@ class SalesforceCommands extends SalesforceCommandsBase { */ public function listAuthProviders() { $rows = []; - foreach($this->authMan->getProviders() as $provider) { + foreach ($this->authMan->getProviders() as $provider) { $rows[] = [ 'default' => $this->authMan->getConfig()->id() == $provider->id() ? '✓' : '', @@ -717,6 +714,7 @@ class SalesforceCommands extends SalesforceCommandsBase { * Message indicating success or failure. * * @throws \OAuth\OAuth2\Service\Exception\MissingRefreshTokenException + * For missing token. */ public function refreshToken($providerName = '') { // If no provider name given, use the default. @@ -746,6 +744,7 @@ class SalesforceCommands extends SalesforceCommandsBase { * Message indicating success or failure. * * @throws \OAuth\OAuth2\Service\Exception\MissingRefreshTokenException + * For missing token. */ public function revokeToken($providerName = '') { // If no provider name given, use the default. diff --git a/src/Form/SalesforceAuthSettings.php b/src/Form/SalesforceAuthSettings.php index e5858d87..7f7442b9 100644 --- a/src/Form/SalesforceAuthSettings.php +++ b/src/Form/SalesforceAuthSettings.php @@ -16,7 +16,18 @@ use Symfony\Component\EventDispatcher\EventDispatcherInterface; */ class SalesforceAuthSettings extends ConfigFormBase { + /** + * Auth provider plugin manager service. + * + * @var \Drupal\salesforce\SalesforceAuthProviderPluginManagerInterface + */ protected $salesforceAuth; + + /** + * Event dispatcher service. + * + * @var \Symfony\Component\EventDispatcher\EventDispatcherInterface + */ protected $eventDispatcher; /** diff --git a/src/Rest/RestClient.php b/src/Rest/RestClient.php index 331efd9a..4c61c2e7 100644 --- a/src/Rest/RestClient.php +++ b/src/Rest/RestClient.php @@ -106,6 +106,11 @@ class RestClient implements RestClientInterface { */ protected $authToken; + /** + * HTTP client options. + * + * @var array + */ protected $httpClientOptions; const CACHE_LIFETIME = 300; diff --git a/src/SFID.php b/src/SFID.php index d2a3ff8b..c978c9a5 100644 --- a/src/SFID.php +++ b/src/SFID.php @@ -9,7 +9,13 @@ namespace Drupal\salesforce; */ class SFID { + /** + * The id string value. + * + * @var string + */ protected $id; + const MAX_LENGTH = 18; /** diff --git a/src/SObject.php b/src/SObject.php index 58fe6f33..0d77de8e 100644 --- a/src/SObject.php +++ b/src/SObject.php @@ -8,8 +8,26 @@ namespace Drupal\salesforce; * @package Drupal\salesforce */ class SObject { + + /** + * The Salesforce table name, e.g. Contact, Account, etc. + * + * @var string + */ protected $type; + + /** + * Key-value array of record fields. + * + * @var array + */ protected $fields; + + /** + * The id. + * + * @var \Drupal\salesforce\SFID + */ protected $id; /** diff --git a/src/SalesforceAuthProviderPluginManagerInterface.php b/src/SalesforceAuthProviderPluginManagerInterface.php index 8c5fbc96..49488660 100644 --- a/src/SalesforceAuthProviderPluginManagerInterface.php +++ b/src/SalesforceAuthProviderPluginManagerInterface.php @@ -71,6 +71,7 @@ interface SalesforceAuthProviderPluginManagerInterface extends PluginManagerInte * * @return \OAuth\Common\Token\TokenInterface * The token. + * * @throws \Drupal\Component\Plugin\Exception\PluginException * @throws \OAuth\OAuth2\Service\Exception\MissingRefreshTokenException */ diff --git a/src/SelectQuery.php b/src/SelectQuery.php index 9fa5d2fa..69df9caa 100644 --- a/src/SelectQuery.php +++ b/src/SelectQuery.php @@ -9,10 +9,39 @@ namespace Drupal\salesforce; */ class SelectQuery implements SelectQueryInterface { + /** + * Fields to be selected. + * + * @var array + */ public $fields = []; + + /** + * Order-by statements. + * + * @var array + */ public $order = []; + + /** + * Objct type name, e.g. Contact, Account, etc. + * + * @var string + */ public $objectType; + + /** + * Limit query result to this number. + * + * @var int + */ public $limit; + + /** + * Condition statements. + * + * @var array + */ public $conditions = []; /** diff --git a/src/SelectQueryRaw.php b/src/SelectQueryRaw.php index e1732af4..6ef207cd 100644 --- a/src/SelectQueryRaw.php +++ b/src/SelectQueryRaw.php @@ -7,6 +7,11 @@ namespace Drupal\salesforce; */ class SelectQueryRaw implements SelectQueryInterface { + /** + * The query. + * + * @var string + */ protected $query; /** diff --git a/src/SelectQueryResult.php b/src/SelectQueryResult.php index b9684980..95ffd48b 100644 --- a/src/SelectQueryResult.php +++ b/src/SelectQueryResult.php @@ -9,9 +9,32 @@ namespace Drupal\salesforce; */ class SelectQueryResult { + /** + * Total number of records for this query. + * + * @var int + */ protected $totalSize; + + /** + * Indicates whether the current result set is the complete set. + * + * @var bool + */ protected $done; + + /** + * The current result set. + * + * @var array + */ protected $records; + + /** + * If there are additional records, the URL of the query to fetch them. + * + * @var string + */ protected $nextRecordsUrl; /** @@ -35,9 +58,13 @@ class SelectQueryResult { } /** - * Create a SelectQueryResult from a single SObject record. + * Convenience method a SelectQueryResult from a single SObject record. * * @param \Drupal\salesforce\SObject $record + * The record to be created. + * + * @return \Drupal\salesforce\SelectQueryResult + * A query result containing the given record. */ public static function createSingle(SObject $record) { $results = [ @@ -46,7 +73,7 @@ class SelectQueryResult { 'records' => [] ]; $result = new static($results); - $result->records[(string)$record->id()] = $record; + $result->records[(string) $record->id()] = $record; return $result; } diff --git a/src/Tests/TestRestClient.php b/src/Tests/TestRestClient.php index 9ca618ce..3856b1ae 100644 --- a/src/Tests/TestRestClient.php +++ b/src/Tests/TestRestClient.php @@ -8,7 +8,6 @@ use Drupal\salesforce\Rest\RestResponseDescribe; use Drupal\salesforce\SelectQueryInterface; use Drupal\salesforce\SelectQueryResult; use Drupal\salesforce\SFID; -use Drupal\salesforce\SObject; use GuzzleHttp\Psr7\Response; use Drupal\salesforce\Rest\RestClient; @@ -29,6 +28,9 @@ class TestRestClient extends RestClient { return TRUE; } + /** + * Wrapper for test results. + */ public static function getContactQueryResults() { return json_decode(file_get_contents(__DIR__ . '/contactQuery.json'), JSON_OBJECT_AS_ARRAY); } @@ -122,7 +124,7 @@ class TestRestClient extends RestClient { } /** - * @inheritDoc + * {@inheritDoc} */ public function objectCreate($name, array $params) { $random = new Random(); @@ -130,7 +132,7 @@ class TestRestClient extends RestClient { } /** - * @inheritDoc + * {@inheritDoc} */ public function objectUpsert($name, $key, $value, array $params) { $random = new Random(); @@ -138,7 +140,7 @@ class TestRestClient extends RestClient { } /** - * @inheritDoc + * {@inheritDoc} */ public function objectUpdate($name, $id, array $params) { // Object update does... NOTHING! @@ -146,12 +148,11 @@ class TestRestClient extends RestClient { } /** - * @inheritDoc + * {@inheritDoc} */ public function objectDelete($name, $id, $throw_exception = FALSE) { // Object delete does... NOTHING! return NULL; } - } diff --git a/src/Tests/TestSalesforceAuthProvider.php b/src/Tests/TestSalesforceAuthProvider.php index e0beaaed..17216ecc 100644 --- a/src/Tests/TestSalesforceAuthProvider.php +++ b/src/Tests/TestSalesforceAuthProvider.php @@ -4,38 +4,39 @@ namespace Drupal\salesforce\Tests; use Drupal\Core\Form\FormStateInterface; use Drupal\salesforce\SalesforceAuthProviderPluginBase; -use Drupal\salesforce\Storage\SalesforceAuthTokenStorageInterface; -use OAuth\Common\Http\Client\ClientInterface; use OAuth\Common\Token\TokenInterface; +/** + * Test auth provider. + */ class TestSalesforceAuthProvider extends SalesforceAuthProviderPluginBase { /** - * @inheritDoc + * {@inheritDoc} */ public function __construct() { // NOOP. } /** - * @inheritDoc + * {@inheritDoc} */ public function getInstanceUrl() { return 'https://example.com'; } /** - * @inheritDoc + * {@inheritDoc} */ public function refreshAccessToken(TokenInterface $token) { return TRUE; } /** - * @inheritDoc + * {@inheritDoc} */ public function buildConfigurationForm(array $form, FormStateInterface $form_state) { return []; } -} \ No newline at end of file +} diff --git a/src/Tests/TestSalesforceAuthProviderPluginManager.php b/src/Tests/TestSalesforceAuthProviderPluginManager.php index cda1c9af..03a918ef 100644 --- a/src/Tests/TestSalesforceAuthProviderPluginManager.php +++ b/src/Tests/TestSalesforceAuthProviderPluginManager.php @@ -6,41 +6,82 @@ use Drupal\salesforce\Entity\SalesforceAuthConfig; use Drupal\salesforce\SalesforceAuthProviderPluginManager; use Drupal\salesforce\Token\SalesforceToken; +/** + * Test auth provider plugn manager. + */ class TestSalesforceAuthProviderPluginManager extends SalesforceAuthProviderPluginManager { + /** + * Allows testing provider states. + * + * @var bool + */ protected $hasProviders = TRUE; + + /** + * Allows testing config states. + * + * @var bool + */ protected $hasConfig = TRUE; + + /** + * Allows testing token states. + * + * @var bool + */ protected $hasToken = TRUE; + /** + * Test token state. + */ public function setHasToken($hasToken) { $this->hasToken = $hasToken; return $this; } + /** + * Get token. + */ public function getToken() { return $this->hasToken ? new SalesforceToken() : FALSE; } + /** + * Test config states. + */ public function setHasConfig($hasConfig) { $this->hasConfig = $hasConfig; return $this; } + /** + * Get config. + */ public function getConfig() { return $this->hasConfig ? SalesforceAuthConfig::create(['id' => 1]) : NULL; } + /** + * Set provider state. + */ public function setHasProviders($hasProviders) { $this->hasProviders = $hasProviders; return $this; } + /** + * Get has providers. + */ public function hasProviders() { return $this->hasProviders; } + /** + * Get a test provider. + */ public function getProvider() { return new TestSalesforceAuthProvider(); } -} \ No newline at end of file +} diff --git a/tests/src/Functional/StatusPageTest.php b/tests/src/Functional/StatusPageTest.php index 123d99f5..3f6969e9 100644 --- a/tests/src/Functional/StatusPageTest.php +++ b/tests/src/Functional/StatusPageTest.php @@ -12,28 +12,44 @@ use Drupal\Tests\BrowserTestBase; */ class StatusPageTest extends BrowserTestBase { - public static $modules = array('salesforce', 'salesforce_test_rest_client'); + /** + * Required modules. + * + * @var array + */ + public static $modules = ['salesforce', 'salesforce_test_rest_client']; /** + * Auth provider manager service. + * * @var \Drupal\salesforce\Tests\TestSalesforceAuthProviderPluginManager */ protected $authMan; /** + * Token service. + * * @var \OAuth\OAuth2\Token\TokenInterface */ protected $authToken; /** + * Auth provider. + * * @var \Drupal\salesforce\SalesforceAuthProviderInterface */ protected $authProvider; /** + * Auth config. + * * @var \Drupal\salesforce\Entity\SalesforceAuthConfig */ protected $authConfig; + /** + * {@inheritDoc} + */ public function setUp() { parent::setUp(); $this->authMan = \Drupal::service('plugin.manager.salesforce.auth_providers'); @@ -95,11 +111,18 @@ class StatusPageTest extends BrowserTestBase { $this->assertArrayNotHasKey('description', $requirements); } + /** + * Need to do. + */ public function testTlsRequirements() { // @TODO write me. } + /** + * Need to do. + */ public function testUsageRequirements() { // @TODO write me. } -} \ No newline at end of file + +} diff --git a/tests/src/Unit/RestClientTest.php b/tests/src/Unit/RestClientTest.php index 424c073d..f0fe2631 100644 --- a/tests/src/Unit/RestClientTest.php +++ b/tests/src/Unit/RestClientTest.php @@ -31,6 +31,11 @@ use Drupal\Component\Datetime\TimeInterface; */ class RestClientTest extends UnitTestCase { + /** + * Required modules. + * + * @var array + */ protected static $modules = ['salesforce']; /** diff --git a/tests/src/Unit/SFIDTest.php b/tests/src/Unit/SFIDTest.php index 363c0e50..e2b4e430 100644 --- a/tests/src/Unit/SFIDTest.php +++ b/tests/src/Unit/SFIDTest.php @@ -11,6 +11,12 @@ use Drupal\salesforce\SFID; * @group salesforce_pull */ class SFIDTest extends UnitTestCase { + + /** + * Required modules. + * + * @var array + */ static public $modules = ['salesforce']; /** diff --git a/tests/src/Unit/SObjectTest.php b/tests/src/Unit/SObjectTest.php index 5b4ac10f..21bea951 100644 --- a/tests/src/Unit/SObjectTest.php +++ b/tests/src/Unit/SObjectTest.php @@ -11,6 +11,12 @@ use Drupal\salesforce\SObject; * @group salesforce_pull */ class SObjectTest extends UnitTestCase { + + /** + * Required modules. + * + * @var array + */ static public $modules = ['salesforce']; /** diff --git a/tests/src/Unit/SelectQueryResultTest.php b/tests/src/Unit/SelectQueryResultTest.php index 8e6713bc..c263ce6b 100644 --- a/tests/src/Unit/SelectQueryResultTest.php +++ b/tests/src/Unit/SelectQueryResultTest.php @@ -12,6 +12,12 @@ use Drupal\salesforce\SelectQueryResult; * @group salesforce_pull */ class SelectQueryResultTest extends UnitTestCase { + + /** + * Required modules. + * + * @var array + */ static public $modules = ['salesforce']; /** -- GitLab