123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- <?php
- namespace OSS\Tests;
- use OSS\Core\OssException;
- use OSS\Http\RequestCore;
- use OSS\Http\ResponseCore;
- use OSS\OssClient;
- require_once __DIR__ . DIRECTORY_SEPARATOR . 'TestOssClientBase.php';
- class OssClientSignatureTest extends TestOssClientBase
- {
- function testGetSignedUrlForGettingObject()
- {
- $object = "a.file";
- $this->ossClient->putObject($this->bucket, $object, file_get_contents(__FILE__));
- $timeout = 3600;
- try {
- $signedUrl = $this->ossClient->signUrl($this->bucket, $object, $timeout);
- } catch (OssException $e) {
- $this->assertFalse(true);
- }
- $request = new RequestCore($signedUrl);
- $request->set_method('GET');
- $request->add_header('Content-Type', '');
- $request->send_request();
- $res = new ResponseCore($request->get_response_header(), $request->get_response_body(), $request->get_response_code());
- $this->assertEquals(file_get_contents(__FILE__), $res->body);
- }
- public function testGetSignedUrlForPuttingObject()
- {
- $object = "a.file";
- $timeout = 3600;
- try {
- $signedUrl = $this->ossClient->signUrl($this->bucket, $object, $timeout, "PUT");
- $content = file_get_contents(__FILE__);
- $request = new RequestCore($signedUrl);
- $request->set_method('PUT');
- $request->add_header('Content-Type', '');
- $request->add_header('Content-Length', strlen($content));
- $request->set_body($content);
- $request->send_request();
- $res = new ResponseCore($request->get_response_header(),
- $request->get_response_body(), $request->get_response_code());
- $this->assertTrue($res->isOK());
- } catch (OssException $e) {
- $this->assertFalse(true);
- }
- }
- public function testGetSignedUrlForPuttingObjectFromFile()
- {
- $file = __FILE__;
- $object = "a.file";
- $timeout = 3600;
- $options = array('Content-Type' => 'txt');
- try {
- $signedUrl = $this->ossClient->signUrl($this->bucket, $object, $timeout, "PUT", $options);
- $request = new RequestCore($signedUrl);
- $request->set_method('PUT');
- $request->add_header('Content-Type', 'txt');
- $request->set_read_file($file);
- $request->set_read_stream_size(filesize($file));
- $request->send_request();
- $res = new ResponseCore($request->get_response_header(),
- $request->get_response_body(), $request->get_response_code());
- $this->assertTrue($res->isOK());
- } catch (OssException $e) {
- $this->assertFalse(true);
- }
- }
- public function tearDown()
- {
- $this->ossClient->deleteObject($this->bucket, "a.file");
- parent::tearDown();
- }
- public function setUp()
- {
- parent::setUp();
- /**
- * 上传本地变量到bucket
- */
- $object = "a.file";
- $content = file_get_contents(__FILE__);
- $options = array(
- OssClient::OSS_LENGTH => strlen($content),
- OssClient::OSS_HEADERS => array(
- 'Expires' => 'Fri, 28 Feb 2020 05:38:42 GMT',
- 'Cache-Control' => 'no-cache',
- 'Content-Disposition' => 'attachment;filename=oss_download.log',
- 'Content-Encoding' => 'utf-8',
- 'Content-Language' => 'zh-CN',
- 'x-oss-server-side-encryption' => 'AES256',
- 'x-oss-meta-self-define-title' => 'user define meta info',
- ),
- );
- try {
- $this->ossClient->putObject($this->bucket, $object, $content, $options);
- } catch (OssException $e) {
- $this->assertFalse(true);
- }
- }
- }
|