Skip to content

Commit

Permalink
Added base class for ApigeeX functional testcase
Browse files Browse the repository at this point in the history
  • Loading branch information
shishir-intelli committed Nov 16, 2023
1 parent 523fad7 commit bdedee2
Show file tree
Hide file tree
Showing 3 changed files with 77 additions and 5 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
<?php

/**
* Copyright 2023 Google Inc.
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License version 2 as published by the
* Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
* License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/

namespace Drupal\Tests\apigee_edge_teams\Functional\ApigeeX;

use Drupal\apigee_edge\OauthTokenFileStorage;
use Drupal\Tests\apigee_edge\Functional\ApigeeX\ApigeeEdgeFunctionalTestBase;

/**
* Base class for Apigee Edge Teams functional tests.
*/
abstract class ApigeeEdgeTeamsFunctionalTestBase extends ApigeeEdgeFunctionalTestBase {

/**
* {@inheritdoc}
*/
protected static $modules = [
'apigee_edge_teams',
];

/**
* Stores pre-configured token storage service for testing.
*/
protected function storeToken() {
// Storing the token for Appigeex Hybrid Org.
$this->testTokenData = [
'access_token' => mb_strtolower($this->randomMachineName(32)),
'token_type' => 'bearer',
'expires_in' => 300,
'refresh_token' => mb_strtolower($this->randomMachineName(32)),
'scope' => 'create',
];
$storage = $this->tokenStorage();

// Save the token.
$storage->saveToken($this->testTokenData);
}

/**
* Returns a pre-configured token storage service for testing.
*
* @param bool $rebuild
* Enforces rebuild of the container and with the the token storage
* service.
*
* @return \Drupal\apigee_edge\OauthTokenFileStorage
* The configured and initialized OAuth file token storage service.
*
* @throws \Exception
*/
private function tokenStorage(bool $rebuild = FALSE): OauthTokenFileStorage {
$config = $this->config('apigee_edge.auth');
$config->set('oauth_token_storage_location', OauthTokenFileStorage::DEFAULT_DIRECTORY)->save();
if ($rebuild) {
$this->container->get('kernel')->rebuildContainer();
}
return $this->container->get('apigee_edge.authentication.oauth_token_storage');
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
use Drupal\apigee_edge\Entity\Developer;
use Drupal\apigee_edge_teams\Entity\TeamRoleInterface;
use Drupal\Core\Url;
use Drupal\Tests\apigee_edge_teams\Functional\ApigeeEdgeTeamsFunctionalTestBase;
use Drupal\Tests\apigee_mock_api_client\Traits\ApigeeMockApiClientHelperTrait;
use Drupal\views\Views;

Expand Down Expand Up @@ -85,6 +84,7 @@ class TeamInvitationsTest extends ApigeeEdgeTeamsFunctionalTestBase {
protected function setUp(): void {
parent::setUp();

$this->storeToken();
$this->addApigeexOrganizationMatchedResponse();
$this->teamA = $this->createApigeexTeam();
$this->teamB = $this->createApigeexTeam();
Expand All @@ -106,10 +106,6 @@ protected function setUp(): void {
* {@inheritdoc}
*/
protected function tearDown(): void {
if (!$this->integration_enabled) {
return;
}

$teams = [
$this->teamA,
$this->teamB,
Expand Down
Empty file.

0 comments on commit bdedee2

Please sign in to comment.