提交的内容
This commit is contained in:
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/AclResultTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/AclResultTest.php
vendored
Executable file → Normal file
32
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/AssumeRole.php
vendored
Normal file
32
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/AssumeRole.php
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
<?php
|
||||
namespace OSS\Tests;
|
||||
|
||||
|
||||
class AssumeRole extends StsBase
|
||||
{
|
||||
private $Action = "AssumeRole";
|
||||
|
||||
private $RoleArn;
|
||||
|
||||
private $RoleSessionName;
|
||||
|
||||
private $Policy;
|
||||
|
||||
private $DurationSeconds = "3600";
|
||||
|
||||
public function getAttributes()
|
||||
{
|
||||
return get_object_vars($this);
|
||||
}
|
||||
|
||||
public function __set($name, $value)
|
||||
{
|
||||
$this->$name = $value;
|
||||
}
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->RoleSessionName = "sts";
|
||||
}
|
||||
}
|
||||
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/BodyResultTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/BodyResultTest.php
vendored
Executable file → Normal file
60
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/BucketCnameTest.php
vendored
Executable file → Normal file
60
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/BucketCnameTest.php
vendored
Executable file → Normal file
@ -4,6 +4,7 @@ namespace OSS\Tests;
|
||||
|
||||
require_once __DIR__ . '/Common.php';
|
||||
|
||||
use OSS\Core\OssException;
|
||||
use OSS\Model\CnameConfig;
|
||||
|
||||
class BucketCnameTest extends \PHPUnit\Framework\TestCase
|
||||
@ -31,47 +32,34 @@ class BucketCnameTest extends \PHPUnit\Framework\TestCase
|
||||
|
||||
public function testAddCname()
|
||||
{
|
||||
$this->client->addBucketCname($this->bucketName, 'www.baidu.com');
|
||||
$this->client->addBucketCname($this->bucketName, 'www.qq.com');
|
||||
|
||||
$ret = $this->client->getBucketCname($this->bucketName);
|
||||
$this->assertEquals(2, count($ret->getCnames()));
|
||||
|
||||
// add another 2 cnames
|
||||
$this->client->addBucketCname($this->bucketName, 'www.sina.com.cn');
|
||||
$this->client->addBucketCname($this->bucketName, 'www.iqiyi.com');
|
||||
|
||||
$ret = $this->client->getBucketCname($this->bucketName);
|
||||
$cnames = $ret->getCnames();
|
||||
$cnameList = array();
|
||||
|
||||
foreach ($cnames as $c) {
|
||||
$cnameList[] = $c['Domain'];
|
||||
try {
|
||||
$this->client->addBucketCname($this->bucketName, 'www.baidu.com');
|
||||
} catch (OssException $e) {
|
||||
print_r($e->getMessage());
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
|
||||
try {
|
||||
$ret = $this->client->getBucketCname($this->bucketName);
|
||||
$this->assertEquals(0, count($ret->getCnames()));
|
||||
} catch (OssException $e) {
|
||||
$this->assertTrue(false);
|
||||
}
|
||||
$should = array(
|
||||
'www.baidu.com',
|
||||
'www.qq.com',
|
||||
'www.sina.com.cn',
|
||||
'www.iqiyi.com'
|
||||
);
|
||||
$this->assertEquals(4, count($cnames));
|
||||
$this->assertEquals(sort($should), sort($cnameList));
|
||||
}
|
||||
|
||||
public function testDeleteCname()
|
||||
{
|
||||
$this->client->addBucketCname($this->bucketName, 'www.baidu.com');
|
||||
$this->client->addBucketCname($this->bucketName, 'www.qq.com');
|
||||
try {
|
||||
$this->client->deleteBucketCname($this->bucketName, 'www.not-exist.com');
|
||||
} catch (OssException $e) {
|
||||
$this->assertTrue(false);
|
||||
}
|
||||
|
||||
$ret = $this->client->getBucketCname($this->bucketName);
|
||||
$this->assertEquals(2, count($ret->getCnames()));
|
||||
|
||||
// delete one cname
|
||||
$this->client->deleteBucketCname($this->bucketName, 'www.baidu.com');
|
||||
|
||||
$ret = $this->client->getBucketCname($this->bucketName);
|
||||
$this->assertEquals(1, count($ret->getCnames()));
|
||||
$cnames = $ret->getCnames();
|
||||
$this->assertEquals('www.qq.com', $cnames[0]['Domain']);
|
||||
try {
|
||||
$ret = $this->client->getBucketCname($this->bucketName);
|
||||
$this->assertEquals(0, count($ret->getCnames()));
|
||||
} catch (OssException $e) {
|
||||
$this->assertTrue(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/BucketInfoTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/BucketInfoTest.php
vendored
Executable file → Normal file
12
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/BucketLiveChannelTest.php
vendored
Executable file → Normal file
12
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/BucketLiveChannelTest.php
vendored
Executable file → Normal file
@ -14,10 +14,14 @@ class BucketLiveChannelTest extends \PHPUnit\Framework\TestCase
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
$this->client = Common::getOssClient();
|
||||
$this->bucketName = 'php-sdk-test-rtmp-bucket-name-' . strval(rand(0, 10000));
|
||||
$this->client->createBucket($this->bucketName);
|
||||
Common::waitMetaSync();
|
||||
try {
|
||||
$this->client = Common::getOssClient();
|
||||
$this->bucketName = 'php-sdk-test-rtmp-bucket-name-' . strval(rand(0, 10000));
|
||||
$this->client->createBucket($this->bucketName);
|
||||
Common::waitMetaSync();
|
||||
}catch(\Exception $e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
protected function tearDown(): void
|
||||
|
||||
143
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/CallbackTest.php
vendored
Executable file → Normal file
143
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/CallbackTest.php
vendored
Executable file → Normal file
@ -44,27 +44,26 @@ class CallbackTest extends TestOssClientBase
|
||||
/**
|
||||
* step 3.
|
||||
*/
|
||||
$json =
|
||||
'{
|
||||
"callbackUrl":"'.Common::getCallbackUrl().'",'.
|
||||
' "callbackHost":"oss-cn-hangzhou.aliyuncs.com",
|
||||
$json =
|
||||
'{
|
||||
"callbackUrl":"' . Common::getCallbackUrl() . '",' .
|
||||
' "callbackHost":"oss-cn-hangzhou.aliyuncs.com",
|
||||
"callbackBody":"{\"mimeType\":${mimeType},\"size\":${size},\"x:var1\":${x:var1},\"x:var2\":${x:var2}}",
|
||||
"callbackBodyType":"application/json"
|
||||
}';
|
||||
|
||||
$var =
|
||||
'{
|
||||
|
||||
$var =
|
||||
'{
|
||||
"x:var1":"value1",
|
||||
"x:var2":"值2"
|
||||
}';
|
||||
$options = array(OssClient::OSS_CALLBACK => $json,
|
||||
OssClient::OSS_CALLBACK_VAR => $var
|
||||
);
|
||||
$options = array(OssClient::OSS_CALLBACK => $json,
|
||||
OssClient::OSS_CALLBACK_VAR => $var
|
||||
);
|
||||
|
||||
try {
|
||||
$result = $this->ossClient->completeMultipartUpload($this->bucket, $object, $upload_id, $upload_parts, $options);
|
||||
$this->assertEquals("200", $result['info']['http_code']);
|
||||
$this->assertEquals("{\"Status\":\"OK\"}", $result['body']);
|
||||
} catch (OssException $e) {
|
||||
$this->assertTrue(false);
|
||||
}
|
||||
@ -104,24 +103,24 @@ class CallbackTest extends TestOssClientBase
|
||||
/**
|
||||
* step 3.
|
||||
*/
|
||||
|
||||
$json =
|
||||
'{
|
||||
|
||||
$json =
|
||||
'{
|
||||
"callbackUrl":"www.baidu.com",
|
||||
"callbackHost":"oss-cn-hangzhou.aliyuncs.com",
|
||||
"callbackBody":"{\"mimeType\":${mimeType},\"size\":${size},\"x:var1\":${x:var1},\"x:var2\":${x:var2}}",
|
||||
"callbackBodyType":"application/json"
|
||||
}';
|
||||
|
||||
$var =
|
||||
'{
|
||||
|
||||
$var =
|
||||
'{
|
||||
"x:var1":"value1",
|
||||
"x:var2":"值2"
|
||||
}';
|
||||
$options = array(OssClient::OSS_CALLBACK => $json,
|
||||
OssClient::OSS_CALLBACK_VAR => $var
|
||||
);
|
||||
|
||||
$options = array(OssClient::OSS_CALLBACK => $json,
|
||||
OssClient::OSS_CALLBACK_VAR => $var
|
||||
);
|
||||
|
||||
try {
|
||||
$result = $this->ossClient->completeMultipartUpload($this->bucket, $object, $upload_id, $upload_parts, $options);
|
||||
$this->assertTrue(false);
|
||||
@ -131,39 +130,39 @@ class CallbackTest extends TestOssClientBase
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
public function testPutObjectCallbackNormal()
|
||||
{
|
||||
//json
|
||||
{
|
||||
$json =
|
||||
'{
|
||||
"callbackUrl":"'.Common::getCallbackUrl().'",'.
|
||||
' "callbackHost":"oss-cn-hangzhou.aliyuncs.com",
|
||||
$json =
|
||||
'{
|
||||
"callbackUrl":"' . Common::getCallbackUrl() . '",' .
|
||||
' "callbackHost":"oss-cn-hangzhou.aliyuncs.com",
|
||||
"callbackBody":"{\"mimeType\":${mimeType},\"size\":${size}}",
|
||||
"callbackBodyType":"application/json"
|
||||
}';
|
||||
$options = array(OssClient::OSS_CALLBACK => $json);
|
||||
$this->putObjectCallbackOk($options, "200");
|
||||
}
|
||||
//url
|
||||
{
|
||||
$url =
|
||||
'{
|
||||
"callbackUrl":"'.Common::getCallbackUrl().'",'.
|
||||
' "callbackHost":"oss-cn-hangzhou.aliyuncs.com",
|
||||
}
|
||||
//url
|
||||
{
|
||||
$url =
|
||||
'{
|
||||
"callbackUrl":"' . Common::getCallbackUrl() . '",' .
|
||||
' "callbackHost":"oss-cn-hangzhou.aliyuncs.com",
|
||||
"callbackBody":"bucket=${bucket}&object=${object}&etag=${etag}&size=${size}&mimeType=${mimeType}&imageInfo.height=${imageInfo.height}&imageInfo.width=${imageInfo.width}&imageInfo.format=${imageInfo.format}",
|
||||
"callbackBodyType":"application/x-www-form-urlencoded"
|
||||
}';
|
||||
$options = array(OssClient::OSS_CALLBACK => $url);
|
||||
$this->putObjectCallbackOk($options, "200");
|
||||
}
|
||||
}
|
||||
// Unspecified typre
|
||||
{
|
||||
$url =
|
||||
'{
|
||||
"callbackUrl":"'.Common::getCallbackUrl().'",'.
|
||||
' "callbackHost":"oss-cn-hangzhou.aliyuncs.com",
|
||||
{
|
||||
$url =
|
||||
'{
|
||||
"callbackUrl":"' . Common::getCallbackUrl() . '",' .
|
||||
' "callbackHost":"oss-cn-hangzhou.aliyuncs.com",
|
||||
"callbackBody":"bucket=${bucket}&object=${object}&etag=${etag}&size=${size}&mimeType=${mimeType}&imageInfo.height=${imageInfo.height}&imageInfo.width=${imageInfo.width}&imageInfo.format=${imageInfo.format}"
|
||||
}';
|
||||
$options = array(OssClient::OSS_CALLBACK => $url);
|
||||
@ -171,10 +170,10 @@ class CallbackTest extends TestOssClientBase
|
||||
}
|
||||
//json and body is chinese
|
||||
{
|
||||
$json =
|
||||
'{
|
||||
"callbackUrl":"'.Common::getCallbackUrl().'",'.
|
||||
' "callbackHost":"oss-cn-hangzhou.aliyuncs.com",
|
||||
$json =
|
||||
'{
|
||||
"callbackUrl":"' . Common::getCallbackUrl() . '",' .
|
||||
' "callbackHost":"oss-cn-hangzhou.aliyuncs.com",
|
||||
"callbackBody":"{\" 春水碧于天,画船听雨眠。\":\"垆边人似月,皓腕凝霜雪。\"}",
|
||||
"callbackBodyType":"application/json"
|
||||
}';
|
||||
@ -183,10 +182,10 @@ class CallbackTest extends TestOssClientBase
|
||||
}
|
||||
//url and body is chinese
|
||||
{
|
||||
$url =
|
||||
'{
|
||||
"callbackUrl":"'.Common::getCallbackUrl().'",'.
|
||||
' "callbackHost":"oss-cn-hangzhou.aliyuncs.com",
|
||||
$url =
|
||||
'{
|
||||
"callbackUrl":"' . Common::getCallbackUrl() . '",' .
|
||||
' "callbackHost":"oss-cn-hangzhou.aliyuncs.com",
|
||||
"callbackBody":"春水碧于天,画船听雨眠。垆边人似月,皓腕凝霜雪",
|
||||
"callbackBodyType":"application/x-www-form-urlencoded"
|
||||
}';
|
||||
@ -195,51 +194,51 @@ class CallbackTest extends TestOssClientBase
|
||||
}
|
||||
//json and add callback_var
|
||||
{
|
||||
$json =
|
||||
'{
|
||||
"callbackUrl":"'.Common::getCallbackUrl().'",'.
|
||||
' "callbackHost":"oss-cn-hangzhou.aliyuncs.com",
|
||||
$json =
|
||||
'{
|
||||
"callbackUrl":"' . Common::getCallbackUrl() . '",' .
|
||||
' "callbackHost":"oss-cn-hangzhou.aliyuncs.com",
|
||||
"callbackBody":"{\"mimeType\":${mimeType},\"size\":${size},\"x:var1\":${x:var1},\"x:var2\":${x:var2}}",
|
||||
"callbackBodyType":"application/json"
|
||||
}';
|
||||
|
||||
$var =
|
||||
'{
|
||||
|
||||
$var =
|
||||
'{
|
||||
"x:var1":"value1",
|
||||
"x:var2":"aliyun.com"
|
||||
}';
|
||||
$options = array(OssClient::OSS_CALLBACK => $json,
|
||||
OssClient::OSS_CALLBACK_VAR => $var
|
||||
);
|
||||
OssClient::OSS_CALLBACK_VAR => $var
|
||||
);
|
||||
$this->putObjectCallbackOk($options, "200");
|
||||
}
|
||||
//url and add callback_var
|
||||
{
|
||||
$url =
|
||||
'{
|
||||
"callbackUrl":"'.Common::getCallbackUrl().'",'.
|
||||
' "callbackHost":"oss-cn-hangzhou.aliyuncs.com",
|
||||
$url =
|
||||
'{
|
||||
"callbackUrl":"' . Common::getCallbackUrl() . '",' .
|
||||
' "callbackHost":"oss-cn-hangzhou.aliyuncs.com",
|
||||
"callbackBody":"bucket=${bucket}&object=${object}&etag=${etag}&size=${size}&mimeType=${mimeType}&imageInfo.height=${imageInfo.height}&imageInfo.width=${imageInfo.width}&imageInfo.format=${imageInfo.format}&my_var1=${x:var1}&my_var2=${x:var2}",
|
||||
"callbackBodyType":"application/x-www-form-urlencoded"
|
||||
}';
|
||||
$var =
|
||||
'{
|
||||
$var =
|
||||
'{
|
||||
"x:var1":"value1凌波不过横塘路,但目送,芳",
|
||||
"x:var2":"值2"
|
||||
}';
|
||||
$options = array(OssClient::OSS_CALLBACK => $url,
|
||||
OssClient::OSS_CALLBACK_VAR => $var
|
||||
);
|
||||
OssClient::OSS_CALLBACK_VAR => $var
|
||||
);
|
||||
$this->putObjectCallbackOk($options, "200");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function testPutCallbackWithCallbackFailed()
|
||||
{
|
||||
{
|
||||
{
|
||||
$json =
|
||||
'{
|
||||
$json =
|
||||
'{
|
||||
"callbackUrl":"http://www.baidu.com",
|
||||
"callbackHost":"oss-cn-hangzhou.aliyuncs.com",
|
||||
"callbackBody":"{\"mimeType\":${mimeType},\"size\":${size}}",
|
||||
@ -250,13 +249,13 @@ class CallbackTest extends TestOssClientBase
|
||||
}
|
||||
|
||||
{
|
||||
$url =
|
||||
'{
|
||||
$url =
|
||||
'{
|
||||
"callbackUrl":"http://www.baidu.com",
|
||||
"callbackHost":"oss-cn-hangzhou.aliyuncs.com",
|
||||
"callbackBody":"bucket=${bucket}&object=${object}&etag=${etag}&size=${size}&mimeType=${mimeType}&imageInfo.height=${imageInfo.height}&imageInfo.width=${imageInfo.width}&imageInfo.format=${imageInfo.format}&my_var1=${x:var1}&my_var2=${x:var2}",
|
||||
"callbackBodyType":"application/x-www-form-urlencoded"
|
||||
}';
|
||||
}';
|
||||
$options = array(OssClient::OSS_CALLBACK => $url);
|
||||
$this->putObjectCallbackFailed($options, "203");
|
||||
}
|
||||
@ -270,7 +269,6 @@ class CallbackTest extends TestOssClientBase
|
||||
try {
|
||||
$result = $this->ossClient->putObject($this->bucket, $object, $content, $options);
|
||||
$this->assertEquals($status, $result['info']['http_code']);
|
||||
$this->assertEquals("{\"Status\":\"OK\"}", $result['body']);
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
@ -292,5 +290,8 @@ class CallbackTest extends TestOssClientBase
|
||||
protected function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
if (strlen(Common::getCallbackUrl()) == 0) {
|
||||
throw new OssException("callback url can not be empty!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/CnameConfigTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/CnameConfigTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/CnameTokenInfoTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/CnameTokenInfoTest.php
vendored
Executable file → Normal file
107
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/Common.php
vendored
Executable file → Normal file
107
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/Common.php
vendored
Executable file → Normal file
@ -3,9 +3,11 @@
|
||||
namespace OSS\Tests;
|
||||
|
||||
require_once __DIR__ . '/../../../autoload.php';
|
||||
require_once __DIR__ . DIRECTORY_SEPARATOR . 'StsClient.php';
|
||||
|
||||
use OSS\OssClient;
|
||||
use OSS\Core\OssException;
|
||||
use OSS\Credentials\StaticCredentialsProvider;
|
||||
|
||||
/**
|
||||
* Class Common
|
||||
@ -19,34 +21,121 @@ class Common
|
||||
*
|
||||
* @return OssClient An OssClient instance
|
||||
*/
|
||||
public static function getOssClient()
|
||||
public static function getOssClient($conf = NULL)
|
||||
{
|
||||
try {
|
||||
$ossClient = new OssClient(
|
||||
getenv('OSS_ACCESS_KEY_ID'),
|
||||
getenv('OSS_ACCESS_KEY_SECRET'),
|
||||
getenv('OSS_ENDPOINT'), false);
|
||||
$provider = new StaticCredentialsProvider(
|
||||
getenv('OSS_ACCESS_KEY_ID'),
|
||||
getenv('OSS_ACCESS_KEY_SECRET')
|
||||
);
|
||||
$config = array(
|
||||
'region' => self::getRegion(),
|
||||
'endpoint' => self::getEndpoint(),
|
||||
'provider' => $provider,
|
||||
'signatureVersion' => self::getSignVersion()
|
||||
);
|
||||
|
||||
if ($conf != null) {
|
||||
foreach ($conf as $key => $value) {
|
||||
$config[$key] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
$ossClient = new OssClient($config);
|
||||
|
||||
} catch (OssException $e) {
|
||||
printf(__FUNCTION__ . "creating OssClient instance: FAILED\n");
|
||||
printf($e->getMessage() . "\n");
|
||||
}
|
||||
return $ossClient;
|
||||
}
|
||||
|
||||
public static function getStsOssClient($conf = NULL)
|
||||
{
|
||||
$stsClient = new StsClient();
|
||||
$assumeRole = new AssumeRole();
|
||||
$stsClient->AccessSecret = getenv('OSS_ACCESS_KEY_SECRET');
|
||||
$assumeRole->AccessKeyId = getenv('OSS_ACCESS_KEY_ID');
|
||||
$assumeRole->RoleArn = getenv('OSS_TEST_RAM_ROLE_ARN');
|
||||
$params = $assumeRole->getAttributes();
|
||||
$response = $stsClient->doAction($params);
|
||||
|
||||
try {
|
||||
$provider = new StaticCredentialsProvider(
|
||||
$response->Credentials->AccessKeyId,
|
||||
$response->Credentials->AccessKeySecret,
|
||||
$response->Credentials->SecurityToken
|
||||
);
|
||||
$config = array(
|
||||
'region' => self::getRegion(),
|
||||
'endpoint' => self::getEndpoint(),
|
||||
'provider' => $provider,
|
||||
'signatureVersion' => self::getSignVersion()
|
||||
);
|
||||
|
||||
if ($conf != null) {
|
||||
foreach ($conf as $key => $value) {
|
||||
$config[$key] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
$ossStsClient = new OssClient($config);
|
||||
|
||||
} catch (OssException $e) {
|
||||
printf(__FUNCTION__ . "creating OssClient instance: FAILED\n");
|
||||
printf($e->getMessage() . "\n");
|
||||
return null;
|
||||
}
|
||||
return $ossClient;
|
||||
return $ossStsClient;
|
||||
}
|
||||
|
||||
public static function getBucketName()
|
||||
{
|
||||
return getenv('OSS_BUCKET');
|
||||
$name = getenv('OSS_BUCKET');
|
||||
if (empty($name)) {
|
||||
return "skyranch-php-test";
|
||||
}
|
||||
return $name;
|
||||
}
|
||||
|
||||
public static function getRegion()
|
||||
{
|
||||
return getenv('OSS_REGION');
|
||||
return getenv('OSS_TEST_REGION');
|
||||
}
|
||||
|
||||
public static function getEndpoint()
|
||||
{
|
||||
return getenv('OSS_TEST_ENDPOINT');
|
||||
}
|
||||
|
||||
public static function getCallbackUrl()
|
||||
{
|
||||
return getenv('OSS_CALLBACK_URL');
|
||||
return getenv('OSS_TEST_CALLBACK_URL');
|
||||
}
|
||||
|
||||
public static function getPayerUid()
|
||||
{
|
||||
return getenv('OSS_TEST_PAYER_UID');
|
||||
}
|
||||
|
||||
public static function getPayerAccessKeyId()
|
||||
{
|
||||
return getenv('OSS_TEST_PAYER_ACCESS_KEY_ID');
|
||||
}
|
||||
|
||||
public static function getPayerAccessKeySecret()
|
||||
{
|
||||
return getenv('OSS_TEST_PAYER_ACCESS_KEY_SECRET');
|
||||
}
|
||||
|
||||
public static function getSignVersion()
|
||||
{
|
||||
return OssClient::OSS_SIGNATURE_VERSION_V1;
|
||||
}
|
||||
|
||||
public static function getPathStyleBucket()
|
||||
{
|
||||
return getenv('OSS_TEST_PATHSTYLE_BUCKET');
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
70
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/ContentTypeTest.php
vendored
Executable file → Normal file
70
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/ContentTypeTest.php
vendored
Executable file → Normal file
@ -2,19 +2,14 @@
|
||||
|
||||
namespace OSS\Tests;
|
||||
|
||||
use OSS\Core\OssUtil;
|
||||
use OSS\OssClient;
|
||||
|
||||
require_once __DIR__ . '/Common.php';
|
||||
require_once __DIR__ . DIRECTORY_SEPARATOR . 'TestOssClientBase.php';
|
||||
|
||||
class ContentTypeTest extends TestOssClientBase
|
||||
{
|
||||
private function runCmd($cmd)
|
||||
{
|
||||
$output = array();
|
||||
$status = 0;
|
||||
exec($cmd . ' 2>/dev/null', $output, $status);
|
||||
|
||||
$this->assertEquals(0, $status);
|
||||
}
|
||||
|
||||
private function getContentType($bucket, $object)
|
||||
{
|
||||
$client = $this->ossClient;
|
||||
@ -27,22 +22,22 @@ class ContentTypeTest extends TestOssClientBase
|
||||
$client = $this->ossClient;
|
||||
$bucket = $this->bucket;
|
||||
|
||||
$file = '/tmp/x.html';
|
||||
$file = __DIR__ . DIRECTORY_SEPARATOR . 'x.html';
|
||||
$object = 'test/x';
|
||||
$this->runCmd('touch ' . $file);
|
||||
OssUtil::generateFile($file, 5);
|
||||
|
||||
$client->uploadFile($bucket, $object, $file);
|
||||
$type = $this->getContentType($bucket, $object);
|
||||
|
||||
$this->assertEquals('text/html', $type);
|
||||
unlink($file);
|
||||
|
||||
$file = '/tmp/x.json';
|
||||
$file = __DIR__ . DIRECTORY_SEPARATOR . 'x.json';
|
||||
$object = 'test/y';
|
||||
$this->runCmd('dd if=/dev/urandom of=' . $file . ' bs=1024 count=100');
|
||||
OssUtil::generateFile($file, 100 * 1024);
|
||||
|
||||
$client->multiuploadFile($bucket, $object, $file, array('partSize' => 100));
|
||||
$type = $this->getContentType($bucket, $object);
|
||||
|
||||
unlink($file);
|
||||
$this->assertEquals('application/json', $type);
|
||||
}
|
||||
|
||||
@ -54,43 +49,37 @@ class ContentTypeTest extends TestOssClientBase
|
||||
$object = "test/x.txt";
|
||||
$client->putObject($bucket, $object, "hello world");
|
||||
$type = $this->getContentType($bucket, $object);
|
||||
|
||||
$this->assertEquals('text/plain', $type);
|
||||
|
||||
$file = '/tmp/x.html';
|
||||
$file = __DIR__ . DIRECTORY_SEPARATOR . 'x.html';
|
||||
$object = 'test/x.txt';
|
||||
$this->runCmd('touch ' . $file);
|
||||
|
||||
OssUtil::generateFile($file, 5);
|
||||
$client->uploadFile($bucket, $object, $file);
|
||||
unlink($file);
|
||||
$type = $this->getContentType($bucket, $object);
|
||||
|
||||
$this->assertEquals('text/html', $type);
|
||||
|
||||
$file = '/tmp/x.none';
|
||||
$file = __DIR__ . DIRECTORY_SEPARATOR . 'x.none';
|
||||
$object = 'test/x.txt';
|
||||
$this->runCmd('touch ' . $file);
|
||||
|
||||
OssUtil::generateFile($file, 5);
|
||||
$client->uploadFile($bucket, $object, $file);
|
||||
unlink($file);
|
||||
$type = $this->getContentType($bucket, $object);
|
||||
|
||||
$this->assertEquals('text/plain', $type);
|
||||
|
||||
$file = '/tmp/x.mp3';
|
||||
$file = __DIR__ . DIRECTORY_SEPARATOR . 'x.mp3';
|
||||
OssUtil::generateFile($file, 1024 * 100);
|
||||
$object = 'test/y.json';
|
||||
$this->runCmd('dd if=/dev/urandom of=' . $file . ' bs=1024 count=100');
|
||||
|
||||
$client->multiuploadFile($bucket, $object, $file, array('partSize' => 100));
|
||||
unlink($file);
|
||||
$type = $this->getContentType($bucket, $object);
|
||||
|
||||
$this->assertEquals('audio/mpeg', $type);
|
||||
|
||||
$file = '/tmp/x.none';
|
||||
$file = __DIR__ . DIRECTORY_SEPARATOR . 'x.none';
|
||||
OssUtil::generateFile($file, 1024 * 100);
|
||||
$object = 'test/y.json';
|
||||
$this->runCmd('dd if=/dev/urandom of=' . $file . ' bs=1024 count=100');
|
||||
|
||||
$client->multiuploadFile($bucket, $object, $file, array('partSize' => 100));
|
||||
unlink($file);
|
||||
$type = $this->getContentType($bucket, $object);
|
||||
|
||||
$this->assertEquals('application/json', $type);
|
||||
}
|
||||
|
||||
@ -107,27 +96,28 @@ class ContentTypeTest extends TestOssClientBase
|
||||
|
||||
$this->assertEquals('text/html', $type);
|
||||
|
||||
$file = '/tmp/x.html';
|
||||
$file = __DIR__ . DIRECTORY_SEPARATOR . 'x.html';
|
||||
$object = 'test/x';
|
||||
$this->runCmd('touch ' . $file);
|
||||
OssUtil::generateFile($file, 100);
|
||||
|
||||
$client->uploadFile($bucket, $object, $file, array(
|
||||
$client->uploadFile($bucket, $object, $file, array(OssClient::OSS_HEADERS => array(
|
||||
'Content-Type' => 'application/json'
|
||||
));
|
||||
)));
|
||||
unlink($file);
|
||||
$type = $this->getContentType($bucket, $object);
|
||||
|
||||
$this->assertEquals('application/json', $type);
|
||||
|
||||
$file = '/tmp/x.json';
|
||||
$file = __DIR__ . DIRECTORY_SEPARATOR . 'x.json';
|
||||
$object = 'test/y';
|
||||
$this->runCmd('dd if=/dev/urandom of=' . $file . ' bs=1024 count=100');
|
||||
OssUtil::generateFile($file, 100 * 1024);
|
||||
|
||||
$client->multiuploadFile($bucket, $object, $file, array(
|
||||
'partSize' => 100,
|
||||
'Content-Type' => 'audio/mpeg'
|
||||
));
|
||||
unlink($file);
|
||||
$type = $this->getContentType($bucket, $object);
|
||||
|
||||
$this->assertEquals('audio/mpeg', $type);
|
||||
}
|
||||
}
|
||||
|
||||
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/CopyObjectResult.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/CopyObjectResult.php
vendored
Executable file → Normal file
71
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/CorsConfigTest.php
vendored
Executable file → Normal file
71
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/CorsConfigTest.php
vendored
Executable file → Normal file
@ -3,9 +3,12 @@
|
||||
namespace OSS\Tests;
|
||||
|
||||
|
||||
use OSS\Http\ResponseCore;
|
||||
use OSS\Model\CorsConfig;
|
||||
use OSS\Model\CorsRule;
|
||||
use OSS\Core\OssException;
|
||||
use OSS\Result\GetCorsResult;
|
||||
use OSS\Result\Result;
|
||||
|
||||
class CorsConfigTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
@ -35,6 +38,7 @@ class CorsConfigTest extends \PHPUnit\Framework\TestCase
|
||||
<ExposeHeader>x-oss-test1</ExposeHeader>
|
||||
<MaxAgeSeconds>110</MaxAgeSeconds>
|
||||
</CORSRule>
|
||||
<ResponseVary>false</ResponseVary>
|
||||
</CORSConfiguration>
|
||||
BBBB;
|
||||
|
||||
@ -58,6 +62,23 @@ BBBB;
|
||||
<MaxAgeSeconds>10</MaxAgeSeconds>
|
||||
</CORSRule>
|
||||
</CORSConfiguration>
|
||||
BBBB;
|
||||
|
||||
private $validXml3 = <<<BBBB
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<CORSConfiguration>
|
||||
<CORSRule>
|
||||
<AllowedOrigin>http://www.b.com</AllowedOrigin>
|
||||
<AllowedOrigin>http://www.a.com</AllowedOrigin>
|
||||
<AllowedOrigin>http://www.a.com</AllowedOrigin>
|
||||
<AllowedMethod>GET</AllowedMethod>
|
||||
<AllowedMethod>PUT</AllowedMethod>
|
||||
<AllowedMethod>POST</AllowedMethod>
|
||||
<AllowedHeader>x-oss-test</AllowedHeader>
|
||||
<MaxAgeSeconds>10</MaxAgeSeconds>
|
||||
</CORSRule>
|
||||
<ResponseVary>true</ResponseVary>
|
||||
</CORSConfiguration>
|
||||
BBBB;
|
||||
|
||||
public function testParseValidXml()
|
||||
@ -81,6 +102,56 @@ BBBB;
|
||||
$this->assertEquals($this->cleanXml($this->validXml2), $this->cleanXml($corsConfig->serializeToXml()));
|
||||
}
|
||||
|
||||
public function testParseValidXml3()
|
||||
{
|
||||
$corsConfig = new CorsConfig();
|
||||
$corsConfig->parseFromXml($this->validXml3);
|
||||
$this->assertEquals($this->cleanXml($this->validXml3), $this->cleanXml($corsConfig->serializeToXml()));
|
||||
$this->assertTrue($corsConfig->getResponseVary());
|
||||
}
|
||||
|
||||
public function testResponseValidXml3()
|
||||
{
|
||||
$response = new ResponseCore(array(), $this->validXml, 200);
|
||||
$result = new GetCorsResult($response);
|
||||
$this->assertTrue($result->isOK());
|
||||
$this->assertNotNull($result->getData());
|
||||
$this->assertNotNull($result->getRawResponse());
|
||||
$this->assertNotNull($result->getRawResponse()->body);
|
||||
$corsConfig = $result->getData();
|
||||
$this->assertEquals($this->cleanXml($this->validXml), $this->cleanXml($corsConfig->serializeToXml()));
|
||||
$this->assertNotNull($corsConfig->getRules());
|
||||
$rules = $corsConfig->getRules();
|
||||
$this->assertNotNull($rules[0]->getAllowedHeaders());
|
||||
$this->assertNotNull($rules[0]->getAllowedMethods());
|
||||
$this->assertNotNull($rules[0]->getAllowedOrigins());
|
||||
$this->assertNotNull($rules[0]->getExposeHeaders());
|
||||
$this->assertNotNull($rules[0]->getMaxAgeSeconds());
|
||||
$this->assertFalse($corsConfig->getResponseVary());
|
||||
|
||||
}
|
||||
|
||||
public function testResponseValidXml4()
|
||||
{
|
||||
$response = new ResponseCore(array(), $this->validXml3, 200);
|
||||
$result = new GetCorsResult($response);
|
||||
$this->assertTrue($result->isOK());
|
||||
$this->assertNotNull($result->getData());
|
||||
$this->assertNotNull($result->getRawResponse());
|
||||
$this->assertNotNull($result->getRawResponse()->body);
|
||||
$corsConfig = $result->getData();
|
||||
$this->assertEquals($this->cleanXml($this->validXml3), $this->cleanXml($corsConfig->serializeToXml()));
|
||||
$this->assertNotNull($corsConfig->getRules());
|
||||
$rules = $corsConfig->getRules();
|
||||
$this->assertNotNull($rules[0]->getAllowedHeaders());
|
||||
$this->assertNotNull($rules[0]->getAllowedMethods());
|
||||
$this->assertNotNull($rules[0]->getAllowedOrigins());
|
||||
$this->assertNotNull($rules[0]->getExposeHeaders());
|
||||
$this->assertNotNull($rules[0]->getMaxAgeSeconds());
|
||||
$this->assertTrue($corsConfig->getResponseVary());
|
||||
|
||||
}
|
||||
|
||||
public function testCreateCorsConfigFromMoreThan10Rules()
|
||||
{
|
||||
$corsConfig = new CorsConfig();
|
||||
|
||||
128
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/DeleteObjectVersionsResultTest.php
vendored
Executable file → Normal file
128
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/DeleteObjectVersionsResultTest.php
vendored
Executable file → Normal file
@ -10,79 +10,79 @@ class DeleteObjectVersionsResultTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
|
||||
private $validXml = <<<BBBB
|
||||
<?xml version="1.0" ?>
|
||||
<DeleteResult>
|
||||
<Deleted>
|
||||
<Key>demo.jpg</Key>
|
||||
<VersionId>CAEQNRiBgICEoPiC0BYiIGMxZWJmYmMzYjE0OTQ0ZmZhYjgzNzkzYjc2NjZk****</VersionId>
|
||||
<DeleteMarker>true</DeleteMarker>
|
||||
<DeleteMarkerVersionId>111111</DeleteMarkerVersionId>
|
||||
</Deleted>
|
||||
</DeleteResult>
|
||||
BBBB;
|
||||
<?xml version="1.0" ?>
|
||||
<DeleteResult>
|
||||
<Deleted>
|
||||
<Key>demo.jpg</Key>
|
||||
<VersionId>CAEQNRiBgICEoPiC0BYiIGMxZWJmYmMzYjE0OTQ0ZmZhYjgzNzkzYjc2NjZk****</VersionId>
|
||||
<DeleteMarker>true</DeleteMarker>
|
||||
<DeleteMarkerVersionId>111111</DeleteMarkerVersionId>
|
||||
</Deleted>
|
||||
</DeleteResult>
|
||||
BBBB;
|
||||
|
||||
private $validXml1 = <<<BBBB
|
||||
<?xml version="1.0" ?>
|
||||
<DeleteResult>
|
||||
<Deleted>
|
||||
<Key>multipart.data</Key>
|
||||
<VersionId>CAEQNRiBgIDyz.6C0BYiIGQ2NWEwNmVhNTA3ZTQ3MzM5ODliYjM1ZTdjYjA4****</VersionId>
|
||||
</Deleted>
|
||||
</DeleteResult>
|
||||
BBBB;
|
||||
<?xml version="1.0" ?>
|
||||
<DeleteResult>
|
||||
<Deleted>
|
||||
<Key>multipart.data</Key>
|
||||
<VersionId>CAEQNRiBgIDyz.6C0BYiIGQ2NWEwNmVhNTA3ZTQ3MzM5ODliYjM1ZTdjYjA4****</VersionId>
|
||||
</Deleted>
|
||||
</DeleteResult>
|
||||
BBBB;
|
||||
|
||||
private $validXml2 = <<<BBBB
|
||||
<?xml version="1.0" ?>
|
||||
<DeleteResult>
|
||||
<Deleted>
|
||||
<Key>multipart.data</Key>
|
||||
<DeleteMarker>true</DeleteMarker>
|
||||
<DeleteMarkerVersionId>CAEQMhiBgIDXiaaB0BYiIGQzYmRkZGUxMTM1ZDRjOTZhNjk4YjRjMTAyZjhl****</DeleteMarkerVersionId>
|
||||
</Deleted>
|
||||
<Deleted>
|
||||
<Key>test.jpg</Key>
|
||||
<DeleteMarker>true</DeleteMarker>
|
||||
<DeleteMarkerVersionId>CAEQMhiBgIDB3aWB0BYiIGUzYTA3YzliMzVmNzRkZGM5NjllYTVlMjYyYWEy****</DeleteMarkerVersionId>
|
||||
</Deleted>
|
||||
</DeleteResult>
|
||||
BBBB;
|
||||
<?xml version="1.0" ?>
|
||||
<DeleteResult>
|
||||
<Deleted>
|
||||
<Key>multipart.data</Key>
|
||||
<DeleteMarker>true</DeleteMarker>
|
||||
<DeleteMarkerVersionId>CAEQMhiBgIDXiaaB0BYiIGQzYmRkZGUxMTM1ZDRjOTZhNjk4YjRjMTAyZjhl****</DeleteMarkerVersionId>
|
||||
</Deleted>
|
||||
<Deleted>
|
||||
<Key>test.jpg</Key>
|
||||
<DeleteMarker>true</DeleteMarker>
|
||||
<DeleteMarkerVersionId>CAEQMhiBgIDB3aWB0BYiIGUzYTA3YzliMzVmNzRkZGM5NjllYTVlMjYyYWEy****</DeleteMarkerVersionId>
|
||||
</Deleted>
|
||||
</DeleteResult>
|
||||
BBBB;
|
||||
|
||||
private $validXml3 = <<<BBBB
|
||||
<?xml version="1.0" ?>
|
||||
<DeleteResult>
|
||||
<Deleted>
|
||||
<Key>multipart.data</Key>
|
||||
</Deleted>
|
||||
<Deleted>
|
||||
<Key>test.jpg</Key>
|
||||
</Deleted>
|
||||
<Deleted>
|
||||
<Key>demo.jpg</Key>
|
||||
</Deleted>
|
||||
</DeleteResult>
|
||||
BBBB;
|
||||
<?xml version="1.0" ?>
|
||||
<DeleteResult>
|
||||
<Deleted>
|
||||
<Key>multipart.data</Key>
|
||||
</Deleted>
|
||||
<Deleted>
|
||||
<Key>test.jpg</Key>
|
||||
</Deleted>
|
||||
<Deleted>
|
||||
<Key>demo.jpg</Key>
|
||||
</Deleted>
|
||||
</DeleteResult>
|
||||
BBBB;
|
||||
|
||||
private $validXml4 = <<<BBBB
|
||||
<?xml version="1.0" ?>
|
||||
<DeleteResult>
|
||||
<EncodingType>url</EncodingType>
|
||||
<Deleted>
|
||||
<Key>multipart%2F.data</Key>
|
||||
</Deleted>
|
||||
<Deleted>
|
||||
<Key>test%2F.jpg</Key>
|
||||
</Deleted>
|
||||
<Deleted>
|
||||
<Key>demo%2F.jpg</Key>
|
||||
</Deleted>
|
||||
</DeleteResult>
|
||||
BBBB;
|
||||
|
||||
<?xml version="1.0" ?>
|
||||
<DeleteResult>
|
||||
<EncodingType>url</EncodingType>
|
||||
<Deleted>
|
||||
<Key>multipart%2F.data</Key>
|
||||
</Deleted>
|
||||
<Deleted>
|
||||
<Key>test%2F.jpg</Key>
|
||||
</Deleted>
|
||||
<Deleted>
|
||||
<Key>demo%2F.jpg</Key>
|
||||
</Deleted>
|
||||
</DeleteResult>
|
||||
BBBB;
|
||||
|
||||
private $invalidXml = <<<BBBB
|
||||
<?xml version="1.0" ?>
|
||||
<DeleteResult>
|
||||
</DeleteResult>
|
||||
BBBB;
|
||||
<?xml version="1.0" ?>
|
||||
<DeleteResult>
|
||||
</DeleteResult>
|
||||
BBBB;
|
||||
|
||||
public function testParseValidXml()
|
||||
{
|
||||
|
||||
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/ExistResultTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/ExistResultTest.php
vendored
Executable file → Normal file
54
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/GetBucketEncryptionResultTest.php
vendored
Executable file → Normal file
54
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/GetBucketEncryptionResultTest.php
vendored
Executable file → Normal file
@ -10,39 +10,39 @@ class GetBucketEncryptionResultTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
|
||||
private $validXml = <<<BBBB
|
||||
<?xml version="1.0" ?>
|
||||
<ServerSideEncryptionRule>
|
||||
<ApplyServerSideEncryptionByDefault>
|
||||
<SSEAlgorithm>AES256</SSEAlgorithm>
|
||||
<KMSMasterKeyID></KMSMasterKeyID>
|
||||
</ApplyServerSideEncryptionByDefault>
|
||||
</ServerSideEncryptionRule>
|
||||
BBBB;
|
||||
<?xml version="1.0" ?>
|
||||
<ServerSideEncryptionRule>
|
||||
<ApplyServerSideEncryptionByDefault>
|
||||
<SSEAlgorithm>AES256</SSEAlgorithm>
|
||||
<KMSMasterKeyID></KMSMasterKeyID>
|
||||
</ApplyServerSideEncryptionByDefault>
|
||||
</ServerSideEncryptionRule>
|
||||
BBBB;
|
||||
|
||||
private $validXml1 = <<<BBBB
|
||||
<?xml version="1.0" ?>
|
||||
<ServerSideEncryptionRule>
|
||||
<ApplyServerSideEncryptionByDefault>
|
||||
<SSEAlgorithm>KMS</SSEAlgorithm>
|
||||
<KMSMasterKeyID>kms-id</KMSMasterKeyID>
|
||||
</ApplyServerSideEncryptionByDefault>
|
||||
</ServerSideEncryptionRule>
|
||||
BBBB;
|
||||
<?xml version="1.0" ?>
|
||||
<ServerSideEncryptionRule>
|
||||
<ApplyServerSideEncryptionByDefault>
|
||||
<SSEAlgorithm>KMS</SSEAlgorithm>
|
||||
<KMSMasterKeyID>kms-id</KMSMasterKeyID>
|
||||
</ApplyServerSideEncryptionByDefault>
|
||||
</ServerSideEncryptionRule>
|
||||
BBBB;
|
||||
|
||||
private $validXml2 = <<<BBBB
|
||||
<?xml version="1.0" ?>
|
||||
<ServerSideEncryptionRule>
|
||||
<ApplyServerSideEncryptionByDefault>
|
||||
<SSEAlgorithm>KMS</SSEAlgorithm>
|
||||
</ApplyServerSideEncryptionByDefault>
|
||||
</ServerSideEncryptionRule>
|
||||
BBBB;
|
||||
<?xml version="1.0" ?>
|
||||
<ServerSideEncryptionRule>
|
||||
<ApplyServerSideEncryptionByDefault>
|
||||
<SSEAlgorithm>KMS</SSEAlgorithm>
|
||||
</ApplyServerSideEncryptionByDefault>
|
||||
</ServerSideEncryptionRule>
|
||||
BBBB;
|
||||
|
||||
private $invalidXml = <<<BBBB
|
||||
<?xml version="1.0" ?>
|
||||
<ServerSideEncryptionRule>
|
||||
</ServerSideEncryptionRule>
|
||||
BBBB;
|
||||
<?xml version="1.0" ?>
|
||||
<ServerSideEncryptionRule>
|
||||
</ServerSideEncryptionRule>
|
||||
BBBB;
|
||||
|
||||
public function testParseValidXml()
|
||||
{
|
||||
|
||||
30
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/GetBucketRequestPaymentResultTest.php
vendored
Executable file → Normal file
30
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/GetBucketRequestPaymentResultTest.php
vendored
Executable file → Normal file
@ -10,24 +10,24 @@ class GetBucketRequestPaymentResultTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
|
||||
private $validXml = <<<BBBB
|
||||
<?xml version="1.0" ?>
|
||||
<RequestPaymentConfiguration>
|
||||
<Payer>Requester</Payer>
|
||||
</RequestPaymentConfiguration>
|
||||
BBBB;
|
||||
|
||||
<?xml version="1.0" ?>
|
||||
<RequestPaymentConfiguration>
|
||||
<Payer>Requester</Payer>
|
||||
</RequestPaymentConfiguration>
|
||||
BBBB;
|
||||
|
||||
private $validXml2 = <<<BBBB
|
||||
<?xml version="1.0" ?>
|
||||
<RequestPaymentConfiguration>
|
||||
<Payer>BucketOwner</Payer>
|
||||
</RequestPaymentConfiguration>
|
||||
BBBB;
|
||||
<?xml version="1.0" ?>
|
||||
<RequestPaymentConfiguration>
|
||||
<Payer>BucketOwner</Payer>
|
||||
</RequestPaymentConfiguration>
|
||||
BBBB;
|
||||
|
||||
private $invalidXml = <<<BBBB
|
||||
<?xml version="1.0" ?>
|
||||
<RequestPaymentConfiguration>
|
||||
</RequestPaymentConfiguration>
|
||||
BBBB;
|
||||
<?xml version="1.0" ?>
|
||||
<RequestPaymentConfiguration>
|
||||
</RequestPaymentConfiguration>
|
||||
BBBB;
|
||||
|
||||
public function testParseValidXml()
|
||||
{
|
||||
|
||||
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/GetBucketStatResultTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/GetBucketStatResultTest.php
vendored
Executable file → Normal file
48
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/GetBucketTagsResultTest.php
vendored
Executable file → Normal file
48
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/GetBucketTagsResultTest.php
vendored
Executable file → Normal file
@ -9,34 +9,34 @@ use OSS\Http\ResponseCore;
|
||||
class GetBucketTagsResultTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
private $validXml = <<<BBBB
|
||||
<?xml version="1.0" ?>
|
||||
<Tagging>
|
||||
<TagSet>
|
||||
<Tag>
|
||||
<Key>testa</Key>
|
||||
<Value>value1-test</Value>
|
||||
</Tag>
|
||||
<Tag>
|
||||
<Key>testb</Key>
|
||||
<Value>value2-test</Value>
|
||||
</Tag>
|
||||
</TagSet>
|
||||
</Tagging>
|
||||
BBBB;
|
||||
<?xml version="1.0" ?>
|
||||
<Tagging>
|
||||
<TagSet>
|
||||
<Tag>
|
||||
<Key>testa</Key>
|
||||
<Value>value1-test</Value>
|
||||
</Tag>
|
||||
<Tag>
|
||||
<Key>testb</Key>
|
||||
<Value>value2-test</Value>
|
||||
</Tag>
|
||||
</TagSet>
|
||||
</Tagging>
|
||||
BBBB;
|
||||
|
||||
private $invalidXml = <<<BBBB
|
||||
<?xml version="1.0" ?>
|
||||
<Tagging>
|
||||
</Tagging>
|
||||
BBBB;
|
||||
<?xml version="1.0" ?>
|
||||
<Tagging>
|
||||
</Tagging>
|
||||
BBBB;
|
||||
|
||||
private $invalidXml2 = <<<BBBB
|
||||
<?xml version="1.0" ?>
|
||||
<Tagging>
|
||||
<TagSet>
|
||||
</TagSet>
|
||||
</Tagging>
|
||||
BBBB;
|
||||
<?xml version="1.0" ?>
|
||||
<Tagging>
|
||||
<TagSet>
|
||||
</TagSet>
|
||||
</Tagging>
|
||||
BBBB;
|
||||
|
||||
public function testParseValidXml()
|
||||
{
|
||||
|
||||
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/GetBucketTransferAccelerationResultTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/GetBucketTransferAccelerationResultTest.php
vendored
Executable file → Normal file
44
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/GetBucketWormResultTest.php
vendored
Executable file → Normal file
44
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/GetBucketWormResultTest.php
vendored
Executable file → Normal file
@ -10,30 +10,30 @@ class GetBucketWormResultTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
|
||||
private $validXml = <<<BBBB
|
||||
<?xml version="1.0" ?>
|
||||
<WormConfiguration>
|
||||
<WormId>ID1</WormId>
|
||||
<State>Locked</State>
|
||||
<RetentionPeriodInDays>1</RetentionPeriodInDays>
|
||||
<CreationDate>2018-08-14T15:50:32</CreationDate>
|
||||
</WormConfiguration>
|
||||
BBBB;
|
||||
|
||||
private $validXml2 = <<<BBBB
|
||||
<?xml version="1.0" ?>
|
||||
<WormConfiguration>
|
||||
<WormId>ID2</WormId>
|
||||
<State>InProgress</State>
|
||||
<RetentionPeriodInDays>10</RetentionPeriodInDays>
|
||||
<CreationDate>2018-09-14T15:50:32</CreationDate>
|
||||
</WormConfiguration>
|
||||
BBBB;
|
||||
<?xml version="1.0" ?>
|
||||
<WormConfiguration>
|
||||
<WormId>ID1</WormId>
|
||||
<State>Locked</State>
|
||||
<RetentionPeriodInDays>1</RetentionPeriodInDays>
|
||||
<CreationDate>2018-08-14T15:50:32</CreationDate>
|
||||
</WormConfiguration>
|
||||
BBBB;
|
||||
|
||||
private $validXml2 = <<<BBBB
|
||||
<?xml version="1.0" ?>
|
||||
<WormConfiguration>
|
||||
<WormId>ID2</WormId>
|
||||
<State>InProgress</State>
|
||||
<RetentionPeriodInDays>10</RetentionPeriodInDays>
|
||||
<CreationDate>2018-09-14T15:50:32</CreationDate>
|
||||
</WormConfiguration>
|
||||
BBBB;
|
||||
|
||||
private $invalidXml = <<<BBBB
|
||||
<?xml version="1.0" ?>
|
||||
<WormConfiguration>
|
||||
</WormConfiguration>
|
||||
BBBB;
|
||||
<?xml version="1.0" ?>
|
||||
<WormConfiguration>
|
||||
</WormConfiguration>
|
||||
BBBB;
|
||||
|
||||
public function testParseValidXml()
|
||||
{
|
||||
|
||||
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/GetCorsResultTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/GetCorsResultTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/GetLifecycleResultTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/GetLifecycleResultTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/GetLoggingResultTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/GetLoggingResultTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/GetRefererResultTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/GetRefererResultTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/GetWebsiteResultTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/GetWebsiteResultTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/HeaderResultTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/HeaderResultTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/HttpTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/HttpTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/InitiateMultipartUploadResultTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/InitiateMultipartUploadResultTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/LifecycleConfigTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/LifecycleConfigTest.php
vendored
Executable file → Normal file
99
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/ListBucketsResultTest.php
vendored
Executable file → Normal file
99
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/ListBucketsResultTest.php
vendored
Executable file → Normal file
@ -42,6 +42,53 @@ BBBB;
|
||||
</ListAllMyBucketsResult>
|
||||
BBBB;
|
||||
|
||||
|
||||
private $errorBody = <<< BBBB
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Error>
|
||||
<Code>NoSuchBucket</Code>
|
||||
<Message>The specified bucket does not exist.</Message>
|
||||
<RequestId>566B870D207FB3044302EB0A</RequestId>
|
||||
<HostId>hello.oss-test.aliyun-inc.com</HostId>
|
||||
<BucketName>hello</BucketName>
|
||||
</Error>
|
||||
BBBB;
|
||||
|
||||
private $xml = <<<BBBB
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ListAllMyBucketsResult>
|
||||
<Owner>
|
||||
<ID>ut_test_put_bucket</ID>
|
||||
<DisplayName>ut_test_put_bucket</DisplayName>
|
||||
</Owner>
|
||||
<Buckets>
|
||||
<Bucket>
|
||||
<CreationDate>2015-12-17T18:12:43.000Z</CreationDate>
|
||||
<ExtranetEndpoint>oss-cn-shanghai.aliyuncs.com</ExtranetEndpoint>
|
||||
<IntranetEndpoint>oss-cn-shanghai-internal.aliyuncs.com</IntranetEndpoint>
|
||||
<Location>oss-cn-shanghai</Location>
|
||||
<Name>app-base-oss</Name>
|
||||
<Region>cn-shanghai</Region>
|
||||
<StorageClass>Standard</StorageClass>
|
||||
</Bucket>
|
||||
<Bucket>
|
||||
<CreationDate>2014-12-25T11:21:04.000Z</CreationDate>
|
||||
<ExtranetEndpoint>oss-cn-hangzhou.aliyuncs.com</ExtranetEndpoint>
|
||||
<IntranetEndpoint>oss-cn-hangzhou-internal.aliyuncs.com</IntranetEndpoint>
|
||||
<Location>oss-cn-hangzhou</Location>
|
||||
<Name>atestleo23</Name>
|
||||
<Region>cn-hangzhou</Region>
|
||||
<StorageClass>IA</StorageClass>
|
||||
</Bucket>
|
||||
<Bucket>
|
||||
<CreationDate>2014-12-25T11:21:04.000Z</CreationDate>
|
||||
<Location>oss-cn-hangzhou</Location>
|
||||
<Name>atestleo23</Name>
|
||||
</Bucket>
|
||||
</Buckets>
|
||||
</ListAllMyBucketsResult>
|
||||
BBBB;
|
||||
|
||||
public function testParseValidXml()
|
||||
{
|
||||
$response = new ResponseCore(array(), $this->validXml, 200);
|
||||
@ -69,18 +116,7 @@ BBBB;
|
||||
$errorHeader = array(
|
||||
'x-oss-request-id' => '1a2b-3c4d'
|
||||
);
|
||||
|
||||
$errorBody = <<< BBBB
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Error>
|
||||
<Code>NoSuchBucket</Code>
|
||||
<Message>The specified bucket does not exist.</Message>
|
||||
<RequestId>566B870D207FB3044302EB0A</RequestId>
|
||||
<HostId>hello.oss-test.aliyun-inc.com</HostId>
|
||||
<BucketName>hello</BucketName>
|
||||
</Error>
|
||||
BBBB;
|
||||
$response = new ResponseCore($errorHeader, $errorBody, 403);
|
||||
$response = new ResponseCore($errorHeader, $this->errorBody, 403);
|
||||
try {
|
||||
new ListBucketsResult($response);
|
||||
} catch (OssException $e) {
|
||||
@ -91,48 +127,13 @@ BBBB;
|
||||
$this->assertEquals($e->getRequestId(), '1a2b-3c4d');
|
||||
$this->assertEquals($e->getErrorCode(), 'NoSuchBucket');
|
||||
$this->assertEquals($e->getErrorMessage(), 'The specified bucket does not exist.');
|
||||
$this->assertEquals($e->getDetails(), $errorBody);
|
||||
$this->assertEquals($e->getDetails(), $this->errorBody);
|
||||
}
|
||||
}
|
||||
|
||||
public function testParseXml2()
|
||||
{
|
||||
$xml = <<<BBBB
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ListAllMyBucketsResult>
|
||||
<Owner>
|
||||
<ID>ut_test_put_bucket</ID>
|
||||
<DisplayName>ut_test_put_bucket</DisplayName>
|
||||
</Owner>
|
||||
<Buckets>
|
||||
<Bucket>
|
||||
<CreationDate>2015-12-17T18:12:43.000Z</CreationDate>
|
||||
<ExtranetEndpoint>oss-cn-shanghai.aliyuncs.com</ExtranetEndpoint>
|
||||
<IntranetEndpoint>oss-cn-shanghai-internal.aliyuncs.com</IntranetEndpoint>
|
||||
<Location>oss-cn-shanghai</Location>
|
||||
<Name>app-base-oss</Name>
|
||||
<Region>cn-shanghai</Region>
|
||||
<StorageClass>Standard</StorageClass>
|
||||
</Bucket>
|
||||
<Bucket>
|
||||
<CreationDate>2014-12-25T11:21:04.000Z</CreationDate>
|
||||
<ExtranetEndpoint>oss-cn-hangzhou.aliyuncs.com</ExtranetEndpoint>
|
||||
<IntranetEndpoint>oss-cn-hangzhou-internal.aliyuncs.com</IntranetEndpoint>
|
||||
<Location>oss-cn-hangzhou</Location>
|
||||
<Name>atestleo23</Name>
|
||||
<Region>cn-hangzhou</Region>
|
||||
<StorageClass>IA</StorageClass>
|
||||
</Bucket>
|
||||
<Bucket>
|
||||
<CreationDate>2014-12-25T11:21:04.000Z</CreationDate>
|
||||
<Location>oss-cn-hangzhou</Location>
|
||||
<Name>atestleo23</Name>
|
||||
</Bucket>
|
||||
</Buckets>
|
||||
</ListAllMyBucketsResult>
|
||||
BBBB;
|
||||
|
||||
$response = new ResponseCore(array(), $xml, 200);
|
||||
$response = new ResponseCore(array(), $this->xml, 200);
|
||||
$result = new ListBucketsResult($response);
|
||||
$this->assertTrue($result->isOK());
|
||||
$this->assertNotNull($result->getData());
|
||||
|
||||
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/ListMultipartUploadResultTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/ListMultipartUploadResultTest.php
vendored
Executable file → Normal file
196
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/ListObjectVersionsResultTest.php
vendored
Executable file → Normal file
196
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/ListObjectVersionsResultTest.php
vendored
Executable file → Normal file
@ -10,106 +10,106 @@ class ListObjectVersionsResultTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
|
||||
private $validXml = <<<BBBB
|
||||
<?xml version="1.0" ?>
|
||||
<ListVersionsResult>
|
||||
<Name>oss-example</Name>
|
||||
<Prefix></Prefix>
|
||||
<KeyMarker>example</KeyMarker>
|
||||
<VersionIdMarker>CAEQMxiBgICbof2D0BYiIGRhZjgwMzJiMjA3MjQ0ODE5MWYxZDYwMzJlZjU1****</VersionIdMarker>
|
||||
<MaxKeys>100</MaxKeys>
|
||||
<Delimiter></Delimiter>
|
||||
<IsTruncated>false</IsTruncated>
|
||||
<DeleteMarker>
|
||||
<Key>example</Key>
|
||||
<VersionId>CAEQMxiBgICAof2D0BYiIDJhMGE3N2M1YTI1NDQzOGY5NTkyNTI3MGYyMzJm****</VersionId>
|
||||
<IsLatest>false</IsLatest>
|
||||
<LastModified>2019-04-09T07:27:28.000Z</LastModified>
|
||||
<Owner>
|
||||
<ID>1234512528586****</ID>
|
||||
<DisplayName>12345125285864390</DisplayName>
|
||||
</Owner>
|
||||
</DeleteMarker>
|
||||
<Version>
|
||||
<Key>example</Key>
|
||||
<VersionId>CAEQMxiBgMDNoP2D0BYiIDE3MWUxNzgxZDQxNTRiODI5OGYwZGMwNGY3MzZjN****</VersionId>
|
||||
<IsLatest>false</IsLatest>
|
||||
<LastModified>2019-04-09T07:27:28.000Z</LastModified>
|
||||
<ETag>"250F8A0AE989679A22926A875F0A2****"</ETag>
|
||||
<Type>Normal</Type>
|
||||
<Size>93731</Size>
|
||||
<StorageClass>Standard</StorageClass>
|
||||
<Owner>
|
||||
<ID>1234512528586****</ID>
|
||||
<DisplayName>12345125285864390</DisplayName>
|
||||
</Owner>
|
||||
</Version>
|
||||
<Version>
|
||||
<Key>pic.jpg</Key>
|
||||
<VersionId>CAEQMxiBgMCZov2D0BYiIDY4MDllOTc2YmY5MjQxMzdiOGI3OTlhNTU0ODIx****</VersionId>
|
||||
<IsLatest>true</IsLatest>
|
||||
<LastModified>2019-04-09T07:27:28.000Z</LastModified>
|
||||
<ETag>"3663F7B0B9D3153F884C821E7CF4****"</ETag>
|
||||
<Type>Normal</Type>
|
||||
<Size>574768</Size>
|
||||
<StorageClass>IA</StorageClass>
|
||||
<Owner>
|
||||
<ID>1234512528586****</ID>
|
||||
<DisplayName>12345125285864390</DisplayName>
|
||||
</Owner>
|
||||
</Version>
|
||||
</ListVersionsResult>
|
||||
BBBB;
|
||||
<?xml version="1.0" ?>
|
||||
<ListVersionsResult>
|
||||
<Name>oss-example</Name>
|
||||
<Prefix></Prefix>
|
||||
<KeyMarker>example</KeyMarker>
|
||||
<VersionIdMarker>CAEQMxiBgICbof2D0BYiIGRhZjgwMzJiMjA3MjQ0ODE5MWYxZDYwMzJlZjU1****</VersionIdMarker>
|
||||
<MaxKeys>100</MaxKeys>
|
||||
<Delimiter></Delimiter>
|
||||
<IsTruncated>false</IsTruncated>
|
||||
<DeleteMarker>
|
||||
<Key>example</Key>
|
||||
<VersionId>CAEQMxiBgICAof2D0BYiIDJhMGE3N2M1YTI1NDQzOGY5NTkyNTI3MGYyMzJm****</VersionId>
|
||||
<IsLatest>false</IsLatest>
|
||||
<LastModified>2019-04-09T07:27:28.000Z</LastModified>
|
||||
<Owner>
|
||||
<ID>1234512528586****</ID>
|
||||
<DisplayName>12345125285864390</DisplayName>
|
||||
</Owner>
|
||||
</DeleteMarker>
|
||||
<Version>
|
||||
<Key>example</Key>
|
||||
<VersionId>CAEQMxiBgMDNoP2D0BYiIDE3MWUxNzgxZDQxNTRiODI5OGYwZGMwNGY3MzZjN****</VersionId>
|
||||
<IsLatest>false</IsLatest>
|
||||
<LastModified>2019-04-09T07:27:28.000Z</LastModified>
|
||||
<ETag>"250F8A0AE989679A22926A875F0A2****"</ETag>
|
||||
<Type>Normal</Type>
|
||||
<Size>93731</Size>
|
||||
<StorageClass>Standard</StorageClass>
|
||||
<Owner>
|
||||
<ID>1234512528586****</ID>
|
||||
<DisplayName>12345125285864390</DisplayName>
|
||||
</Owner>
|
||||
</Version>
|
||||
<Version>
|
||||
<Key>pic.jpg</Key>
|
||||
<VersionId>CAEQMxiBgMCZov2D0BYiIDY4MDllOTc2YmY5MjQxMzdiOGI3OTlhNTU0ODIx****</VersionId>
|
||||
<IsLatest>true</IsLatest>
|
||||
<LastModified>2019-04-09T07:27:28.000Z</LastModified>
|
||||
<ETag>"3663F7B0B9D3153F884C821E7CF4****"</ETag>
|
||||
<Type>Normal</Type>
|
||||
<Size>574768</Size>
|
||||
<StorageClass>IA</StorageClass>
|
||||
<Owner>
|
||||
<ID>1234512528586****</ID>
|
||||
<DisplayName>12345125285864390</DisplayName>
|
||||
</Owner>
|
||||
</Version>
|
||||
</ListVersionsResult>
|
||||
BBBB;
|
||||
|
||||
private $validXml1 = <<<BBBB
|
||||
<?xml version="1.0" ?>
|
||||
<ListVersionsResult>
|
||||
<Name>oss-example</Name>
|
||||
<Prefix></Prefix>
|
||||
<KeyMarker>example</KeyMarker>
|
||||
<VersionIdMarker>CAEQMxiBgICbof2D0BYiIGRhZjgwMzJiMjA3MjQ0ODE5MWYxZDYwMzJlZjU1****</VersionIdMarker>
|
||||
<MaxKeys>100</MaxKeys>
|
||||
<Delimiter></Delimiter>
|
||||
<IsTruncated>false</IsTruncated>
|
||||
<DeleteMarker>
|
||||
<Key>example</Key>
|
||||
<VersionId>CAEQMxiBgICAof2D0BYiIDJhMGE3N2M1YTI1NDQzOGY5NTkyNTI3MGYyMzJm****</VersionId>
|
||||
<IsLatest>true</IsLatest>
|
||||
<LastModified>2019-04-09T07:27:28.000Z</LastModified>
|
||||
<Owner>
|
||||
<ID>1234512528586****</ID>
|
||||
<DisplayName>12345125285864390</DisplayName>
|
||||
</Owner>
|
||||
</DeleteMarker>
|
||||
<DeleteMarker>
|
||||
<Key>example-1</Key>
|
||||
<VersionId>CAEQMxiBgICAof2D0BYiIDJhMGE3N2M1YTI1NDQzOGY5NTkyNTI3MGYyMzJm****</VersionId>
|
||||
<LastModified>2019-04-09T07:27:28.000Z</LastModified>
|
||||
<Owner>
|
||||
<ID>1234512528586****</ID>
|
||||
<DisplayName>12345125285864390</DisplayName>
|
||||
</Owner>
|
||||
</DeleteMarker>
|
||||
<Version>
|
||||
<Key>example-2</Key>
|
||||
<VersionId>CAEQMxiBgMDNoP2D0BYiIDE3MWUxNzgxZDQxNTRiODI5OGYwZGMwNGY3MzZjN****</VersionId>
|
||||
<LastModified>2019-04-09T07:27:28.000Z</LastModified>
|
||||
<ETag>"250F8A0AE989679A22926A875F0A2****"</ETag>
|
||||
<Type>Normal</Type>
|
||||
<Size>93731</Size>
|
||||
<StorageClass>Standard</StorageClass>
|
||||
<Owner>
|
||||
<ID>1234512528586****</ID>
|
||||
<DisplayName>12345125285864390</DisplayName>
|
||||
</Owner>
|
||||
</Version>
|
||||
</ListVersionsResult>
|
||||
BBBB;
|
||||
<?xml version="1.0" ?>
|
||||
<ListVersionsResult>
|
||||
<Name>oss-example</Name>
|
||||
<Prefix></Prefix>
|
||||
<KeyMarker>example</KeyMarker>
|
||||
<VersionIdMarker>CAEQMxiBgICbof2D0BYiIGRhZjgwMzJiMjA3MjQ0ODE5MWYxZDYwMzJlZjU1****</VersionIdMarker>
|
||||
<MaxKeys>100</MaxKeys>
|
||||
<Delimiter></Delimiter>
|
||||
<IsTruncated>false</IsTruncated>
|
||||
<DeleteMarker>
|
||||
<Key>example</Key>
|
||||
<VersionId>CAEQMxiBgICAof2D0BYiIDJhMGE3N2M1YTI1NDQzOGY5NTkyNTI3MGYyMzJm****</VersionId>
|
||||
<IsLatest>true</IsLatest>
|
||||
<LastModified>2019-04-09T07:27:28.000Z</LastModified>
|
||||
<Owner>
|
||||
<ID>1234512528586****</ID>
|
||||
<DisplayName>12345125285864390</DisplayName>
|
||||
</Owner>
|
||||
</DeleteMarker>
|
||||
<DeleteMarker>
|
||||
<Key>example-1</Key>
|
||||
<VersionId>CAEQMxiBgICAof2D0BYiIDJhMGE3N2M1YTI1NDQzOGY5NTkyNTI3MGYyMzJm****</VersionId>
|
||||
<LastModified>2019-04-09T07:27:28.000Z</LastModified>
|
||||
<Owner>
|
||||
<ID>1234512528586****</ID>
|
||||
<DisplayName>12345125285864390</DisplayName>
|
||||
</Owner>
|
||||
</DeleteMarker>
|
||||
<Version>
|
||||
<Key>example-2</Key>
|
||||
<VersionId>CAEQMxiBgMDNoP2D0BYiIDE3MWUxNzgxZDQxNTRiODI5OGYwZGMwNGY3MzZjN****</VersionId>
|
||||
<LastModified>2019-04-09T07:27:28.000Z</LastModified>
|
||||
<ETag>"250F8A0AE989679A22926A875F0A2****"</ETag>
|
||||
<Type>Normal</Type>
|
||||
<Size>93731</Size>
|
||||
<StorageClass>Standard</StorageClass>
|
||||
<Owner>
|
||||
<ID>1234512528586****</ID>
|
||||
<DisplayName>12345125285864390</DisplayName>
|
||||
</Owner>
|
||||
</Version>
|
||||
</ListVersionsResult>
|
||||
BBBB;
|
||||
|
||||
private $invalidXml = <<<BBBB
|
||||
<?xml version="1.0" ?>
|
||||
<ListVersionsResult>
|
||||
</ListVersionsResult>
|
||||
BBBB;
|
||||
<?xml version="1.0" ?>
|
||||
<ListVersionsResult>
|
||||
</ListVersionsResult>
|
||||
BBBB;
|
||||
|
||||
public function testParseValidXml()
|
||||
{
|
||||
@ -136,7 +136,7 @@ class ListObjectVersionsResultTest extends \PHPUnit\Framework\TestCase
|
||||
$this->assertEquals('CAEQMxiBgICAof2D0BYiIDJhMGE3N2M1YTI1NDQzOGY5NTkyNTI3MGYyMzJm****', $deleteMarkerList[0]->getVersionId());
|
||||
$this->assertEquals('false', $deleteMarkerList[0]->getIsLatest());
|
||||
$this->assertEquals('2019-04-09T07:27:28.000Z', $deleteMarkerList[0]->getLastModified());
|
||||
|
||||
|
||||
$objectVersionList = $list->getObjectVersionList();
|
||||
$this->assertEquals('example', $objectVersionList[0]->getKey());
|
||||
$this->assertEquals('CAEQMxiBgMDNoP2D0BYiIDE3MWUxNzgxZDQxNTRiODI5OGYwZGMwNGY3MzZjN****', $objectVersionList[0]->getVersionId());
|
||||
@ -180,7 +180,7 @@ class ListObjectVersionsResultTest extends \PHPUnit\Framework\TestCase
|
||||
$this->assertEquals('CAEQMxiBgICAof2D0BYiIDJhMGE3N2M1YTI1NDQzOGY5NTkyNTI3MGYyMzJm****', $deleteMarkerList[0]->getVersionId());
|
||||
$this->assertEquals('true', $deleteMarkerList[0]->getIsLatest());
|
||||
$this->assertEquals('2019-04-09T07:27:28.000Z', $deleteMarkerList[0]->getLastModified());
|
||||
|
||||
|
||||
$this->assertEquals('example-1', $deleteMarkerList[1]->getKey());
|
||||
$this->assertEquals('CAEQMxiBgICAof2D0BYiIDJhMGE3N2M1YTI1NDQzOGY5NTkyNTI3MGYyMzJm****', $deleteMarkerList[1]->getVersionId());
|
||||
$this->assertEquals('', $deleteMarkerList[1]->getIsLatest());
|
||||
|
||||
57
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/ListObjectsResultTest.php
vendored
Executable file → Normal file
57
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/ListObjectsResultTest.php
vendored
Executable file → Normal file
@ -75,6 +75,33 @@ BBBB;
|
||||
</Owner>
|
||||
</Contents>
|
||||
</ListBucketResult>
|
||||
BBBB;
|
||||
|
||||
private $validXmlWithResoreInfo = <<<BBBB
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ListBucketResult>
|
||||
<Name>testbucket-hf</Name>
|
||||
<EncodingType>url</EncodingType>
|
||||
<Prefix>php%2Fprefix</Prefix>
|
||||
<Marker>php%2Fmarker</Marker>
|
||||
<NextMarker>php%2Fnext-marker</NextMarker>
|
||||
<MaxKeys>1000</MaxKeys>
|
||||
<Delimiter>%2F</Delimiter>
|
||||
<IsTruncated>true</IsTruncated>
|
||||
<Contents>
|
||||
<Key>php/a%2Bb</Key>
|
||||
<LastModified>2015-11-18T03:36:00.000Z</LastModified>
|
||||
<ETag>"89B9E567E7EB8815F2F7D41851F9A2CD"</ETag>
|
||||
<Type>Normal</Type>
|
||||
<Size>13115</Size>
|
||||
<StorageClass>Standard</StorageClass>
|
||||
<Owner>
|
||||
<ID>cname_user</ID>
|
||||
<DisplayName>cname_user</DisplayName>
|
||||
</Owner>
|
||||
<RestoreInfo>ongoing-request="false", expiry-date="Tue, 25 Apr 2023 07:30:00 GMT"</RestoreInfo>
|
||||
</Contents>
|
||||
</ListBucketResult>
|
||||
BBBB;
|
||||
|
||||
public function testParseValidXml1()
|
||||
@ -148,4 +175,34 @@ BBBB;
|
||||
$this->assertEquals(13115, $objects[0]->getSize());
|
||||
$this->assertEquals('Standard', $objects[0]->getStorageClass());
|
||||
}
|
||||
|
||||
|
||||
public function testParseValidXmlWithRestoreInfo()
|
||||
{
|
||||
$response = new ResponseCore(array(), $this->validXmlWithResoreInfo, 200);
|
||||
$result = new ListObjectsResult($response);
|
||||
$this->assertTrue($result->isOK());
|
||||
$this->assertNotNull($result->getData());
|
||||
$this->assertNotNull($result->getRawResponse());
|
||||
$objectListInfo = $result->getData();
|
||||
$this->assertEquals(0, count($objectListInfo->getPrefixList()));
|
||||
$this->assertEquals(1, count($objectListInfo->getObjectList()));
|
||||
$this->assertEquals('testbucket-hf', $objectListInfo->getBucketName());
|
||||
$this->assertEquals('php/prefix', $objectListInfo->getPrefix());
|
||||
$this->assertEquals('php/marker', $objectListInfo->getMarker());
|
||||
$this->assertEquals('php/next-marker', $objectListInfo->getNextMarker());
|
||||
$this->assertEquals(1000, $objectListInfo->getMaxKeys());
|
||||
$this->assertEquals('/', $objectListInfo->getDelimiter());
|
||||
$this->assertEquals('true', $objectListInfo->getIsTruncated());
|
||||
$objects = $objectListInfo->getObjectList();
|
||||
$this->assertEquals('php/a+b', $objects[0]->getKey());
|
||||
$this->assertEquals('2015-11-18T03:36:00.000Z', $objects[0]->getLastModified());
|
||||
$this->assertEquals('"89B9E567E7EB8815F2F7D41851F9A2CD"', $objects[0]->getETag());
|
||||
$this->assertEquals('Normal', $objects[0]->getType());
|
||||
$this->assertEquals(13115, $objects[0]->getSize());
|
||||
$this->assertEquals('Standard', $objects[0]->getStorageClass());
|
||||
$this->assertEquals('ongoing-request="false", expiry-date="Tue, 25 Apr 2023 07:30:00 GMT"', $objects[0]->getRestoreInfo());
|
||||
$this->assertEquals('cname_user', $objects[0]->getOwner()->getId());
|
||||
$this->assertEquals('cname_user', $objects[0]->getOwner()->getDisplayName());
|
||||
}
|
||||
}
|
||||
|
||||
61
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/ListObjectsV2ResultTest.php
vendored
Executable file → Normal file
61
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/ListObjectsV2ResultTest.php
vendored
Executable file → Normal file
@ -74,6 +74,35 @@ BBBB;
|
||||
</Contents>
|
||||
<KeyCount>1</KeyCount>
|
||||
</ListBucketResult>
|
||||
BBBB;
|
||||
|
||||
private $validXmlWithRestoreInfo = <<<BBBB
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ListBucketResult>
|
||||
<Name>testbucket-hf</Name>
|
||||
<EncodingType>url</EncodingType>
|
||||
<Prefix>php%2Fprefix</Prefix>
|
||||
<StartAfter>php%2Fmarker</StartAfter>
|
||||
<ContinuationToken>1gJiYw--</ContinuationToken>
|
||||
<NextContinuationToken>CgJiYw--</NextContinuationToken>
|
||||
<MaxKeys>1000</MaxKeys>
|
||||
<Delimiter>%2F</Delimiter>
|
||||
<IsTruncated>true</IsTruncated>
|
||||
<Contents>
|
||||
<Key>php/a%2Bb</Key>
|
||||
<LastModified>2015-11-18T03:36:00.000Z</LastModified>
|
||||
<ETag>"89B9E567E7EB8815F2F7D41851F9A2CD"</ETag>
|
||||
<Type>Normal</Type>
|
||||
<Size>13115</Size>
|
||||
<StorageClass>Standard</StorageClass>
|
||||
<Owner>
|
||||
<ID>cname_user</ID>
|
||||
<DisplayName>cname_user</DisplayName>
|
||||
</Owner>
|
||||
<RestoreInfo>ongoing-request="false", expiry-date="Tue, 25 Apr 2023 07:30:00 GMT"</RestoreInfo>
|
||||
</Contents>
|
||||
<KeyCount>1</KeyCount>
|
||||
</ListBucketResult>
|
||||
BBBB;
|
||||
|
||||
public function testParseValidXml1()
|
||||
@ -151,4 +180,36 @@ BBBB;
|
||||
$this->assertEquals(13115, $objects[0]->getSize());
|
||||
$this->assertEquals('Standard', $objects[0]->getStorageClass());
|
||||
}
|
||||
|
||||
|
||||
public function testParseValidXmlWithRestoreInfo()
|
||||
{
|
||||
$response = new ResponseCore(array(), $this->validXmlWithRestoreInfo, 200);
|
||||
$result = new ListObjectsV2Result($response);
|
||||
$this->assertTrue($result->isOK());
|
||||
$this->assertNotNull($result->getData());
|
||||
$this->assertNotNull($result->getRawResponse());
|
||||
$objectListInfo = $result->getData();
|
||||
$this->assertEquals(0, count($objectListInfo->getPrefixList()));
|
||||
$this->assertEquals(1, count($objectListInfo->getObjectList()));
|
||||
$this->assertEquals('testbucket-hf', $objectListInfo->getBucketName());
|
||||
$this->assertEquals('php/prefix', $objectListInfo->getPrefix());
|
||||
$this->assertEquals('php/marker', $objectListInfo->getStartAfter());
|
||||
$this->assertEquals('CgJiYw--', $objectListInfo->getNextContinuationToken());
|
||||
$this->assertEquals('1gJiYw--', $objectListInfo->getContinuationToken());
|
||||
$this->assertEquals(1000, $objectListInfo->getMaxKeys());
|
||||
$this->assertEquals('/', $objectListInfo->getDelimiter());
|
||||
$this->assertEquals('true', $objectListInfo->getIsTruncated());
|
||||
$this->assertEquals(1, $objectListInfo->getKeyCount());
|
||||
$objects = $objectListInfo->getObjectList();
|
||||
$this->assertEquals('php/a+b', $objects[0]->getKey());
|
||||
$this->assertEquals('2015-11-18T03:36:00.000Z', $objects[0]->getLastModified());
|
||||
$this->assertEquals('"89B9E567E7EB8815F2F7D41851F9A2CD"', $objects[0]->getETag());
|
||||
$this->assertEquals('Normal', $objects[0]->getType());
|
||||
$this->assertEquals(13115, $objects[0]->getSize());
|
||||
$this->assertEquals('Standard', $objects[0]->getStorageClass());
|
||||
$this->assertEquals('ongoing-request="false", expiry-date="Tue, 25 Apr 2023 07:30:00 GMT"', $objects[0]->getRestoreInfo());
|
||||
$this->assertEquals('cname_user', $objects[0]->getOwner()->getId());
|
||||
$this->assertEquals('cname_user', $objects[0]->getOwner()->getDisplayName());
|
||||
}
|
||||
}
|
||||
|
||||
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/ListPartsResultTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/ListPartsResultTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/LiveChannelXmlTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/LiveChannelXmlTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/LoggingConfigTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/LoggingConfigTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/MimeTypesTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/MimeTypesTest.php
vendored
Executable file → Normal file
1
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/ObjectAclTest.php
vendored
Executable file → Normal file
1
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/ObjectAclTest.php
vendored
Executable file → Normal file
@ -3,6 +3,7 @@
|
||||
namespace OSS\Tests;
|
||||
|
||||
require_once __DIR__ . '/Common.php';
|
||||
require_once __DIR__ . DIRECTORY_SEPARATOR . 'TestOssClientBase.php';
|
||||
|
||||
class ObjectAclTest extends TestOssClientBase
|
||||
{
|
||||
|
||||
68
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientAsyncProcessObjectTest.php
vendored
Normal file
68
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientAsyncProcessObjectTest.php
vendored
Normal file
@ -0,0 +1,68 @@
|
||||
<?php
|
||||
|
||||
namespace OSS\Tests;
|
||||
|
||||
require_once __DIR__ . '/Common.php';
|
||||
require_once __DIR__ . DIRECTORY_SEPARATOR . 'TestOssClientBase.php';
|
||||
|
||||
use OSS\Core\OssException;
|
||||
|
||||
class OssClientAsyncProcessObjectTest extends TestOssClientBase
|
||||
{
|
||||
private $bucketName;
|
||||
private $client;
|
||||
private $local_file;
|
||||
private $object;
|
||||
private $download_file;
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
$this->client = $this->ossClient;
|
||||
$this->bucketName = $this->bucket;
|
||||
|
||||
$url = 'https://oss-console-img-demo-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/video.mp4?spm=a2c4g.64555.0.0.515675979u4B8w&file=video.mp4';
|
||||
$file_name = "video.mp4";
|
||||
$fp = fopen($file_name, 'w');
|
||||
$ch = curl_init($url);
|
||||
curl_setopt($ch, CURLOPT_FILE, $fp);
|
||||
curl_exec($ch);
|
||||
curl_close($ch);
|
||||
fclose($fp);
|
||||
|
||||
$this->local_file = $file_name;
|
||||
$this->object = "oss-example.mp4";
|
||||
|
||||
Common::waitMetaSync();
|
||||
$this->client->uploadFile($this->bucketName, $this->object, $this->local_file);
|
||||
}
|
||||
|
||||
protected function tearDown(): void
|
||||
{
|
||||
parent::tearDown();
|
||||
unlink($this->local_file);
|
||||
}
|
||||
|
||||
public function testAsyncProcessObject()
|
||||
{
|
||||
|
||||
try {
|
||||
$object = 'php-async-copy';
|
||||
$process = 'video/convert,f_avi,vcodec_h265,s_1920x1080,vb_2000000,fps_30,acodec_aac,ab_100000,sn_1'.
|
||||
'|sys/saveas'.
|
||||
',o_'.$this->base64url_encode($object).
|
||||
',b_'.$this->base64url_encode($this->bucketName);
|
||||
$result = $this->client->asyncProcessObject($this->bucketName, $this->object, $process);
|
||||
}catch (OssException $e){
|
||||
$this->assertEquals($e->getErrorCode(),"Imm Client");
|
||||
$this->assertTrue(strpos($e->getErrorMessage(), "ResourceNotFound, The specified resource Attachment is not found") !== false);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private function base64url_encode($data)
|
||||
{
|
||||
return rtrim(strtr(base64_encode($data), '+/', '-_'), '=');
|
||||
}
|
||||
}
|
||||
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketCnameTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketCnameTest.php
vendored
Executable file → Normal file
41
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketCorsTest.php
vendored
Executable file → Normal file
41
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketCorsTest.php
vendored
Executable file → Normal file
@ -7,6 +7,7 @@ use OSS\Model\CorsConfig;
|
||||
use OSS\Model\CorsRule;
|
||||
use OSS\OssClient;
|
||||
|
||||
|
||||
require_once __DIR__ . DIRECTORY_SEPARATOR . 'TestOssClientBase.php';
|
||||
|
||||
|
||||
@ -38,6 +39,7 @@ class OssClientBucketCorsTest extends TestOssClientBase
|
||||
$rule->addExposeHeader("x-oss-test1");
|
||||
$rule->setMaxAgeSeconds(110);
|
||||
$corsConfig->addRule($rule);
|
||||
$corsConfig->setResponseVary(true);
|
||||
|
||||
try {
|
||||
$this->ossClient->putBucketCors($this->bucket, $corsConfig);
|
||||
@ -80,5 +82,44 @@ class OssClientBucketCorsTest extends TestOssClientBase
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
|
||||
|
||||
try {
|
||||
Common::waitMetaSync();
|
||||
$this->ossClient->deleteBucketCors($this->bucket);
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
|
||||
$corsConfig = new CorsConfig();
|
||||
$rule = new CorsRule();
|
||||
$rule->addAllowedHeader("x-oss-test");
|
||||
$rule->addAllowedOrigin("http://www.b.com");
|
||||
$rule->addAllowedMethod("GET");
|
||||
$rule->addExposeHeader("x-oss-test1");
|
||||
$rule->setMaxAgeSeconds(10);
|
||||
$corsConfig->addRule($rule);
|
||||
$rule = new CorsRule();
|
||||
$rule->addAllowedHeader("x-oss-test");
|
||||
$rule->addAllowedMethod("GET");
|
||||
$rule->addAllowedOrigin("http://www.b.com");
|
||||
$rule->addExposeHeader("x-oss-test1");
|
||||
$rule->setMaxAgeSeconds(110);
|
||||
$corsConfig->addRule($rule);
|
||||
$corsConfig->setResponseVary(false);
|
||||
|
||||
try {
|
||||
$this->ossClient->putBucketCors($this->bucket, $corsConfig);
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
|
||||
try {
|
||||
Common::waitMetaSync();
|
||||
$corsConfig4 = $this->ossClient->getBucketCors($this->bucket);
|
||||
$this->assertNotNull($corsConfig4);
|
||||
$this->assertEquals($corsConfig->serializeToXml(), $corsConfig4->serializeToXml());
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(True);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketEncryptionTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketEncryptionTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketInfoTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketInfoTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketLifecycleTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketLifecycleTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketLoggingTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketLoggingTest.php
vendored
Executable file → Normal file
39
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketPolicyTest.php
vendored
Executable file → Normal file
39
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketPolicyTest.php
vendored
Executable file → Normal file
@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
namespace OSS\Tests;
|
||||
|
||||
use OSS\Core\OssException;
|
||||
@ -10,21 +11,25 @@ class OssClientBucketPolicyTest extends TestOssClientBase
|
||||
public function testBucket()
|
||||
{
|
||||
$policy_str = <<< BBBB
|
||||
{
|
||||
"Version":"1",
|
||||
"Statement":[
|
||||
{
|
||||
"Action":[
|
||||
"oss:PutObject",
|
||||
"oss:GetObject"
|
||||
],
|
||||
"Effect":"Deny",
|
||||
"Principal":["1234567890"],
|
||||
"Resource":["acs:oss:*:1234567890:*/*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
BBBB;
|
||||
{
|
||||
"Version": "1",
|
||||
"Statement": [
|
||||
{
|
||||
"Action": [
|
||||
"oss:PutObject",
|
||||
"oss:GetObject"
|
||||
],
|
||||
"Effect": "Deny",
|
||||
"Principal": [
|
||||
"1234567890"
|
||||
],
|
||||
"Resource": [
|
||||
"acs:oss:*:1234567890:*/*"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
BBBB;
|
||||
|
||||
try {
|
||||
$this->ossClient->deleteBucketPolicy($this->bucket);
|
||||
@ -38,7 +43,9 @@ class OssClientBucketPolicyTest extends TestOssClientBase
|
||||
try {
|
||||
$this->ossClient->putBucketPolicy($this->bucket, $policy_str);
|
||||
$policy = $this->ossClient->getBucketPolicy($this->bucket);
|
||||
$this->assertEquals($policy_str, $policy);
|
||||
$data1 = json_decode($policy_str, true);
|
||||
$data2 = json_decode($policy, true);
|
||||
$this->assertEquals($data1, $data2);
|
||||
$this->ossClient->deleteBucketPolicy($this->bucket);
|
||||
} catch (OssException $e) {
|
||||
$this->assertTrue(false);
|
||||
|
||||
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketRefererTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketRefererTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketRequestPaymentTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketRequestPaymentTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketStatTestTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketStatTestTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketStorageCapacityTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketStorageCapacityTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketTagsTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketTagsTest.php
vendored
Executable file → Normal file
4
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketTest.php
vendored
Executable file → Normal file
4
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketTest.php
vendored
Executable file → Normal file
@ -52,11 +52,11 @@ class OssClientBucketTest extends TestOssClientBase
|
||||
$this->assertTrue($this->ossClient->doesBucketExist($this->bucket));
|
||||
$this->assertFalse($this->ossClient->doesBucketExist($this->bucket . '-notexist'));
|
||||
|
||||
$this->assertEquals($this->ossClient->getBucketLocation($this->bucket), Common::getRegion());
|
||||
//$this->assertContains(Common::getRegion(), $this->ossClient->getBucketLocation($this->bucket));
|
||||
|
||||
$res = $this->ossClient->getBucketMeta($this->bucket);
|
||||
$this->assertEquals('200', $res['info']['http_code']);
|
||||
$this->assertEquals(Common::getRegion(), $res['x-oss-bucket-region']);
|
||||
//$this->assertContains(Common::getRegion(), $res['x-oss-bucket-region']);
|
||||
}
|
||||
|
||||
public function testCreateBucketWithStorageType()
|
||||
|
||||
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketTransferAccelerationTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketTransferAccelerationTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketVersioningTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketVersioningTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketWebsiteTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketWebsiteTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketWormTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientBucketWormTest.php
vendored
Executable file → Normal file
124
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientForcePathStyleTest.php
vendored
Normal file
124
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientForcePathStyleTest.php
vendored
Normal file
@ -0,0 +1,124 @@
|
||||
<?php
|
||||
|
||||
namespace OSS\Tests;
|
||||
|
||||
use OSS\Core\OssException;
|
||||
use OSS\Http\RequestCore;
|
||||
use OSS\OssClient;
|
||||
|
||||
require_once __DIR__ . DIRECTORY_SEPARATOR . 'TestOssClientBase.php';
|
||||
|
||||
|
||||
class OssClientForcePathStyleTest extends TestOssClientBase
|
||||
{
|
||||
public function testForcePathStyle()
|
||||
{
|
||||
$config = array(
|
||||
'signatureVersion' => OssClient::OSS_SIGNATURE_VERSION_V4,
|
||||
'forcePathStyle' => true,
|
||||
);
|
||||
|
||||
$pathStyleClient = Common::getOssClient($config);
|
||||
|
||||
try {
|
||||
$pathStyleClient->getBucketInfo($this->bucket);
|
||||
$this->assertTrue(false, "should not here");
|
||||
} catch (OssException $e) {
|
||||
$this->assertEquals($e->getErrorCode(), "SecondLevelDomainForbidden");
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
|
||||
try {
|
||||
$object = "oss-php-sdk-test/upload-test-object-name.txt";
|
||||
$pathStyleClient->putObject($this->bucket, $object, 'hi oss');
|
||||
$this->assertTrue(false, "should not here");
|
||||
} catch (OssException $e) {
|
||||
$this->assertEquals($e->getErrorCode(), "SecondLevelDomainForbidden");
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
|
||||
try {
|
||||
$endpoint = Common::getEndpoint();
|
||||
$endpoint = str_replace(array('http://', 'https://'), '', $endpoint);
|
||||
$strUrl = $endpoint . "/" . $this->bucket . '/' . $object;
|
||||
$signUrl = $pathStyleClient->signUrl($this->bucket, $object, 3600);
|
||||
$this->assertTrue(strpos($signUrl, $strUrl) !== false);
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
}
|
||||
|
||||
public function testForcePathStyleOKV1()
|
||||
{
|
||||
$bucket = Common::getPathStyleBucket();
|
||||
|
||||
$this->assertFalse(empty($bucket), "path style bucket is not set.");
|
||||
|
||||
$config = array(
|
||||
'signatureVersion' => OssClient::OSS_SIGNATURE_VERSION_V1,
|
||||
'forcePathStyle' => true,
|
||||
);
|
||||
|
||||
$pathStyleClient = Common::getOssClient($config);
|
||||
|
||||
// bucket
|
||||
$info = $pathStyleClient->getBucketInfo($bucket);
|
||||
$this->assertEquals($bucket, $info->getName());
|
||||
|
||||
// object
|
||||
$object = "upload-test-object-name.txt";
|
||||
$pathStyleClient->putObject($bucket, $object, 'hi oss');
|
||||
$res = $pathStyleClient->getObject($bucket, $object);
|
||||
$this->assertEquals($res, 'hi oss');
|
||||
|
||||
//presign
|
||||
$signUrl = $pathStyleClient->signUrl($bucket, $object, 3600);
|
||||
|
||||
$httpCore = new RequestCore($signUrl);
|
||||
$httpCore->set_body("");
|
||||
$httpCore->set_method("GET");
|
||||
$httpCore->connect_timeout = 10;
|
||||
$httpCore->timeout = 10;
|
||||
$httpCore->add_header("Content-Type", "");
|
||||
$httpCore->send_request();
|
||||
$this->assertEquals(200, $httpCore->response_code);
|
||||
}
|
||||
|
||||
public function testForcePathStyleOKV4()
|
||||
{
|
||||
$bucket = Common::getPathStyleBucket();
|
||||
|
||||
$this->assertFalse(empty($bucket), "path style bucket is not set.");
|
||||
|
||||
$config = array(
|
||||
'signatureVersion' => OssClient::OSS_SIGNATURE_VERSION_V4,
|
||||
'forcePathStyle' => true,
|
||||
);
|
||||
|
||||
$pathStyleClient = Common::getOssClient($config);
|
||||
|
||||
// bucket
|
||||
$info = $pathStyleClient->getBucketInfo($bucket);
|
||||
$this->assertEquals($bucket, $info->getName());
|
||||
|
||||
// object
|
||||
$object = "upload-test-object-name.txt";
|
||||
$pathStyleClient->putObject($bucket, $object, 'hi oss');
|
||||
$res = $pathStyleClient->getObject($bucket, $object);
|
||||
$this->assertEquals($res, 'hi oss');
|
||||
|
||||
//presign
|
||||
$signUrl = $pathStyleClient->signUrl($bucket, $object, 3600);
|
||||
|
||||
#print("signUrl" . $signUrl . "\n");
|
||||
|
||||
$httpCore = new RequestCore($signUrl);
|
||||
$httpCore->set_body("");
|
||||
$httpCore->set_method("GET");
|
||||
$httpCore->connect_timeout = 10;
|
||||
$httpCore->timeout = 10;
|
||||
$httpCore->add_header("Content-Type", "");
|
||||
$httpCore->send_request();
|
||||
$this->assertEquals(200, $httpCore->response_code);
|
||||
}
|
||||
}
|
||||
42
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientImageTest.php
vendored
Executable file → Normal file
42
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientImageTest.php
vendored
Executable file → Normal file
@ -4,9 +4,11 @@ namespace OSS\Tests;
|
||||
|
||||
require_once __DIR__ . '/Common.php';
|
||||
|
||||
require_once __DIR__ . DIRECTORY_SEPARATOR . 'TestOssClientBase.php';
|
||||
|
||||
use OSS\OssClient;
|
||||
|
||||
class OssClinetImageTest extends TestOssClientBase
|
||||
class OssClientImageTest extends TestOssClientBase
|
||||
{
|
||||
private $bucketName;
|
||||
private $client;
|
||||
@ -33,20 +35,20 @@ class OssClinetImageTest extends TestOssClientBase
|
||||
parent::tearDown();
|
||||
unlink($this->download_file);
|
||||
}
|
||||
|
||||
|
||||
public function testImageResize()
|
||||
{
|
||||
$options = array(
|
||||
OssClient::OSS_FILE_DOWNLOAD => $this->download_file,
|
||||
OssClient::OSS_PROCESS => "image/resize,m_fixed,h_100,w_100", );
|
||||
OssClient::OSS_PROCESS => "image/resize,m_fixed,h_100,w_100",);
|
||||
$this->check($options, 100, 100, 3267, 'jpg');
|
||||
}
|
||||
|
||||
|
||||
public function testImageCrop()
|
||||
{
|
||||
$options = array(
|
||||
OssClient::OSS_FILE_DOWNLOAD => $this->download_file,
|
||||
OssClient::OSS_PROCESS => "image/crop,w_100,h_100,x_100,y_100,r_1", );
|
||||
OssClient::OSS_PROCESS => "image/crop,w_100,h_100,x_100,y_100,r_1",);
|
||||
$this->check($options, 100, 100, 1969, 'jpg');
|
||||
}
|
||||
|
||||
@ -54,7 +56,7 @@ class OssClinetImageTest extends TestOssClientBase
|
||||
{
|
||||
$options = array(
|
||||
OssClient::OSS_FILE_DOWNLOAD => $this->download_file,
|
||||
OssClient::OSS_PROCESS => "image/rotate,90", );
|
||||
OssClient::OSS_PROCESS => "image/rotate,90",);
|
||||
$this->check($options, 267, 400, 20998, 'jpg');
|
||||
}
|
||||
|
||||
@ -62,7 +64,7 @@ class OssClinetImageTest extends TestOssClientBase
|
||||
{
|
||||
$options = array(
|
||||
OssClient::OSS_FILE_DOWNLOAD => $this->download_file,
|
||||
OssClient::OSS_PROCESS => "image/sharpen,100", );
|
||||
OssClient::OSS_PROCESS => "image/sharpen,100",);
|
||||
$this->check($options, 400, 267, 23015, 'jpg');
|
||||
}
|
||||
|
||||
@ -70,7 +72,7 @@ class OssClinetImageTest extends TestOssClientBase
|
||||
{
|
||||
$options = array(
|
||||
OssClient::OSS_FILE_DOWNLOAD => $this->download_file,
|
||||
OssClient::OSS_PROCESS => "image/watermark,text_SGVsbG8g5Zu-54mH5pyN5YqhIQ", );
|
||||
OssClient::OSS_PROCESS => "image/watermark,text_SGVsbG8g5Zu-54mH5pyN5YqhIQ",);
|
||||
$this->check($options, 400, 267, 26369, 'jpg');
|
||||
}
|
||||
|
||||
@ -78,7 +80,7 @@ class OssClinetImageTest extends TestOssClientBase
|
||||
{
|
||||
$options = array(
|
||||
OssClient::OSS_FILE_DOWNLOAD => $this->download_file,
|
||||
OssClient::OSS_PROCESS => "image/format,png", );
|
||||
OssClient::OSS_PROCESS => "image/format,png",);
|
||||
$this->check($options, 400, 267, 160733, 'png');
|
||||
}
|
||||
|
||||
@ -86,22 +88,22 @@ class OssClinetImageTest extends TestOssClientBase
|
||||
{
|
||||
$options = array(
|
||||
OssClient::OSS_FILE_DOWNLOAD => $this->download_file,
|
||||
OssClient::OSS_PROCESS => "image/resize,m_fixed,w_100,h_100", );
|
||||
OssClient::OSS_PROCESS => "image/resize,m_fixed,w_100,h_100",);
|
||||
$this->check($options, 100, 100, 3267, 'jpg');
|
||||
}
|
||||
|
||||
public function testProcesObject()
|
||||
{
|
||||
$object = 'process-object.jpg';
|
||||
$process = 'image/resize,m_fixed,w_100,h_100'.
|
||||
'|sys/saveas'.
|
||||
',o_'.$this->base64url_encode($object).
|
||||
',b_'.$this->base64url_encode($this->bucketName);
|
||||
$process = 'image/resize,m_fixed,w_100,h_100' .
|
||||
'|sys/saveas' .
|
||||
',o_' . $this->base64url_encode($object) .
|
||||
',b_' . $this->base64url_encode($this->bucketName);
|
||||
$result = $this->client->processObject($this->bucketName, $this->object, $process);
|
||||
$this->assertTrue(stripos($result, '"object": "process-object.jpg",') > 0);
|
||||
$this->assertTrue(stripos($result, '"status": "OK"') > 0);
|
||||
|
||||
|
||||
|
||||
$options = array(
|
||||
OssClient::OSS_FILE_DOWNLOAD => $this->download_file,
|
||||
);
|
||||
@ -113,14 +115,14 @@ class OssClinetImageTest extends TestOssClientBase
|
||||
|
||||
//without bucket
|
||||
$object = 'process-object-1.jpg';
|
||||
$process = 'image/watermark,text_SGVsbG8g5Zu-54mH5pyN5YqhIQ'.
|
||||
'|sys/saveas'.
|
||||
',o_'.$this->base64url_encode($object);
|
||||
$process = 'image/watermark,text_SGVsbG8g5Zu-54mH5pyN5YqhIQ' .
|
||||
'|sys/saveas' .
|
||||
',o_' . $this->base64url_encode($object);
|
||||
$result = $this->client->processObject($this->bucketName, $this->object, $process);
|
||||
$this->assertTrue(stripos($result, '"object": "process-object-1.jpg",') > 0);
|
||||
$this->assertTrue(stripos($result, '"status": "OK"') > 0);
|
||||
|
||||
|
||||
|
||||
$options = array(
|
||||
OssClient::OSS_FILE_DOWNLOAD => $this->download_file,
|
||||
);
|
||||
@ -142,6 +144,6 @@ class OssClinetImageTest extends TestOssClientBase
|
||||
|
||||
private function base64url_encode($data)
|
||||
{
|
||||
return rtrim(strtr(base64_encode($data), '+/', '-_'), '=');
|
||||
return rtrim(strtr(base64_encode($data), '+/', '-_'), '=');
|
||||
}
|
||||
}
|
||||
|
||||
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientListObjectsTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientListObjectsTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientListObjectsV2Test.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientListObjectsV2Test.php
vendored
Executable file → Normal file
2
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientMultipartUploadTest.php
vendored
Executable file → Normal file
2
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientMultipartUploadTest.php
vendored
Executable file → Normal file
@ -399,7 +399,6 @@ class OssClientMultipartUploadTest extends TestOssClientBase
|
||||
try {
|
||||
$uploadId = $this->ossClient->initiateMultipartUpload($this->bucket, $object);
|
||||
$listMultipartUploadInfo = $this->ossClient->completeMultipartUpload($this->bucket, $object, $uploadId, array());
|
||||
var_dump($listMultipartUploadInfo);
|
||||
$this->assertNotNull($listMultipartUploadInfo);
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
@ -465,7 +464,6 @@ class OssClientMultipartUploadTest extends TestOssClientBase
|
||||
|
||||
try {
|
||||
$result = $this->ossClient->completeMultipartUpload($this->bucket, $object, $upload_id, null,$options);
|
||||
var_dump($result);
|
||||
$this->assertNotNull($result);
|
||||
} catch (OssException $e) {
|
||||
$this->assertTrue(false);
|
||||
|
||||
8
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientObjectRequestPaymentTest.php
vendored
Executable file → Normal file
8
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientObjectRequestPaymentTest.php
vendored
Executable file → Normal file
@ -451,12 +451,12 @@ class OssClientObjectRequestPaymentTest extends TestOssClientBase
|
||||
{
|
||||
parent::setUp();
|
||||
$this->payerClient = new OssClient(
|
||||
getenv('OSS_PAYER_ACCESS_KEY_ID'),
|
||||
getenv('OSS_PAYER_ACCESS_KEY_SECRET'),
|
||||
getenv('OSS_ENDPOINT'), false);
|
||||
Common::getPayerAccessKeyId(),
|
||||
Common::getPayerAccessKeySecret(),
|
||||
Common::getEndpoint(), false);
|
||||
|
||||
$policy = '{"Version":"1","Statement":[{"Action":["oss:*"],"Effect": "Allow",'.
|
||||
'"Principal":["' . getenv('OSS_PAYER_UID') . '"],'.
|
||||
'"Principal":["' . Common::getPayerUid() . '"],'.
|
||||
'"Resource": ["acs:oss:*:*:' . $this->bucket . '","acs:oss:*:*:' . $this->bucket . '/*"]}]}';
|
||||
|
||||
$this->ossClient->putBucketPolicy($this->bucket, $policy);
|
||||
|
||||
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientObjectTaggingTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientObjectTaggingTest.php
vendored
Executable file → Normal file
461
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientObjectTest.php
vendored
Executable file → Normal file
461
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientObjectTest.php
vendored
Executable file → Normal file
@ -3,6 +3,7 @@
|
||||
namespace OSS\Tests;
|
||||
|
||||
use OSS\Core\OssException;
|
||||
use OSS\Core\OssUtil;
|
||||
use OSS\OssClient;
|
||||
|
||||
require_once __DIR__ . DIRECTORY_SEPARATOR . 'TestOssClientBase.php';
|
||||
@ -20,8 +21,7 @@ class OssClientObjectTest extends TestOssClientBase
|
||||
$this->assertEquals('200', $res['info']['http_code']);
|
||||
$this->assertEquals('text/plain', $res['content-type']);
|
||||
$this->assertEquals('Accept-Encoding', $res['vary']);
|
||||
$this->assertTrue(isset($res['content-length']));
|
||||
$this->assertFalse(isset($res['content-encoding']));
|
||||
$this->assertTrue(isset($res['content-encoding']));
|
||||
} catch (OssException $e) {
|
||||
$this->assertTrue(false);
|
||||
}
|
||||
@ -33,7 +33,6 @@ class OssClientObjectTest extends TestOssClientBase
|
||||
$this->assertEquals('200', $res['info']['http_code']);
|
||||
$this->assertEquals('text/plain', $res['content-type']);
|
||||
$this->assertEquals('Accept-Encoding', $res['vary']);
|
||||
$this->assertFalse(isset($res['content-length']));
|
||||
$this->assertEquals('gzip', $res['content-encoding']);
|
||||
} catch (OssException $e) {
|
||||
$this->assertTrue(false);
|
||||
@ -99,13 +98,13 @@ class OssClientObjectTest extends TestOssClientBase
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
|
||||
try {
|
||||
$this->ossClient->putObject($this->bucket, $object, $content, $options);
|
||||
$this->ossClient->putObject($this->bucket, $object, $content, $options);
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
|
||||
try {
|
||||
$result = $this->ossClient->deleteObjects($this->bucket, "stringtype", $options);
|
||||
$this->assertEquals('stringtype', $result[0]);
|
||||
@ -200,8 +199,7 @@ class OssClientObjectTest extends TestOssClientBase
|
||||
} catch (OssException $e) {
|
||||
$this->assertTrue(true);
|
||||
$this->assertFalse(file_exists($localfile));
|
||||
if (strpos($e, "The specified key does not exist") == false)
|
||||
{
|
||||
if (strpos($e, "The specified key does not exist") == false) {
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
}
|
||||
@ -214,8 +212,7 @@ class OssClientObjectTest extends TestOssClientBase
|
||||
$this->assertTrue(false);
|
||||
} catch (OssException $e) {
|
||||
$this->assertTrue(true);
|
||||
if (strpos($e, "The specified key does not exist") == false)
|
||||
{
|
||||
if (strpos($e, "The specified key does not exist") == false) {
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
}
|
||||
@ -235,7 +232,7 @@ class OssClientObjectTest extends TestOssClientBase
|
||||
$this->assertFalse(true);
|
||||
var_dump($e->getMessage());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the replication is the same
|
||||
@ -325,11 +322,11 @@ class OssClientObjectTest extends TestOssClientBase
|
||||
$list = array($object1, $object2);
|
||||
try {
|
||||
$this->assertTrue($this->ossClient->doesObjectExist($this->bucket, $object2));
|
||||
|
||||
|
||||
$result = $this->ossClient->deleteObjects($this->bucket, $list);
|
||||
$this->assertEquals($list[0], $result[0]);
|
||||
$this->assertEquals($list[1], $result[1]);
|
||||
|
||||
|
||||
$result = $this->ossClient->deleteObjects($this->bucket, $list, array('quiet' => 'true'));
|
||||
$this->assertEquals(array(), $result);
|
||||
$this->assertFalse($this->ossClient->doesObjectExist($this->bucket, $object2));
|
||||
@ -348,7 +345,7 @@ class OssClientObjectTest extends TestOssClientBase
|
||||
{
|
||||
$object = "oss-php-sdk-test/append-test-object-name.txt";
|
||||
$content_array = array('Hello OSS', 'Hi OSS', 'OSS OK');
|
||||
|
||||
|
||||
/**
|
||||
* Append the upload string
|
||||
*/
|
||||
@ -373,7 +370,7 @@ class OssClientObjectTest extends TestOssClientBase
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Delete test object
|
||||
*/
|
||||
@ -382,7 +379,7 @@ class OssClientObjectTest extends TestOssClientBase
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Append the upload of invalid local files
|
||||
*/
|
||||
@ -398,9 +395,9 @@ class OssClientObjectTest extends TestOssClientBase
|
||||
*/
|
||||
try {
|
||||
$position = $this->ossClient->appendFile($this->bucket, $object, __FILE__, 0);
|
||||
$this->assertEquals($position, sprintf('%u',filesize(__FILE__)));
|
||||
$this->assertEquals($position, sprintf('%u', filesize(__FILE__)));
|
||||
$position = $this->ossClient->appendFile($this->bucket, $object, __FILE__, $position);
|
||||
$this->assertEquals($position, sprintf('%u',filesize(__FILE__)) * 2);
|
||||
$this->assertEquals($position, sprintf('%u', filesize(__FILE__)) * 2);
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
@ -414,7 +411,7 @@ class OssClientObjectTest extends TestOssClientBase
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Delete test object
|
||||
*/
|
||||
@ -461,138 +458,138 @@ class OssClientObjectTest extends TestOssClientBase
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function testPutIllelObject()
|
||||
{
|
||||
$object = "/ilegal.txt";
|
||||
try {
|
||||
$this->ossClient->putObject($this->bucket, $object, "hi", null);
|
||||
$this->assertFalse(true);
|
||||
} catch (OssException $e) {
|
||||
$this->assertEquals('"/ilegal.txt" object name is invalid', $e->getMessage());
|
||||
}
|
||||
$object = "/ilegal.txt";
|
||||
try {
|
||||
$this->ossClient->putObject($this->bucket, $object, "hi", null);
|
||||
$this->assertFalse(true);
|
||||
} catch (OssException $e) {
|
||||
$this->assertEquals('"/ilegal.txt" object name is invalid', $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function testCheckMD5()
|
||||
{
|
||||
$object = "oss-php-sdk-test/upload-test-object-name.txt";
|
||||
$content = file_get_contents(__FILE__);
|
||||
$options = array(OssClient::OSS_CHECK_MD5 => true);
|
||||
|
||||
/**
|
||||
* Upload data to start MD5
|
||||
*/
|
||||
try {
|
||||
$this->ossClient->putObject($this->bucket, $object, $content, $options);
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the replication is the same
|
||||
*/
|
||||
try {
|
||||
$content = $this->ossClient->getObject($this->bucket, $object);
|
||||
$this->assertEquals($content, file_get_contents(__FILE__));
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
$object = "oss-php-sdk-test/upload-test-object-name.txt";
|
||||
$content = file_get_contents(__FILE__);
|
||||
$options = array(OssClient::OSS_CHECK_MD5 => true);
|
||||
|
||||
/**
|
||||
* Upload file to start MD5
|
||||
*/
|
||||
try {
|
||||
$this->ossClient->uploadFile($this->bucket, $object, __FILE__, $options);
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the replication is the same
|
||||
*/
|
||||
try {
|
||||
$content = $this->ossClient->getObject($this->bucket, $object);
|
||||
$this->assertEquals($content, file_get_contents(__FILE__));
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete test object
|
||||
*/
|
||||
try {
|
||||
$this->ossClient->deleteObject($this->bucket, $object);
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
/**
|
||||
* Upload data to start MD5
|
||||
*/
|
||||
try {
|
||||
$this->ossClient->putObject($this->bucket, $object, $content, $options);
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
$object = "oss-php-sdk-test/append-test-object-name.txt";
|
||||
$content_array = array('Hello OSS', 'Hi OSS', 'OSS OK');
|
||||
$options = array(OssClient::OSS_CHECK_MD5 => true);
|
||||
|
||||
/**
|
||||
* Append the upload string
|
||||
*/
|
||||
try {
|
||||
$position = $this->ossClient->appendObject($this->bucket, $object, $content_array[0], 0, $options);
|
||||
$this->assertEquals($position, strlen($content_array[0]));
|
||||
$position = $this->ossClient->appendObject($this->bucket, $object, $content_array[1], $position, $options);
|
||||
$this->assertEquals($position, strlen($content_array[0]) + strlen($content_array[1]));
|
||||
$position = $this->ossClient->appendObject($this->bucket, $object, $content_array[2], $position, $options);
|
||||
$this->assertEquals($position, strlen($content_array[0]) + strlen($content_array[1]) + strlen($content_array[1]));
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the content is the same
|
||||
*/
|
||||
try {
|
||||
$content = $this->ossClient->getObject($this->bucket, $object);
|
||||
$this->assertEquals($content, implode($content_array));
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete test object
|
||||
*/
|
||||
try {
|
||||
$this->ossClient->deleteObject($this->bucket, $object);
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Append upload of local files
|
||||
*/
|
||||
try {
|
||||
$position = $this->ossClient->appendFile($this->bucket, $object, __FILE__, 0, $options);
|
||||
$this->assertEquals($position, sprintf('%u',filesize(__FILE__)));
|
||||
$position = $this->ossClient->appendFile($this->bucket, $object, __FILE__, $position, $options);
|
||||
$this->assertEquals($position, sprintf('%u',filesize(__FILE__)) * 2);
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the replication is the same
|
||||
*/
|
||||
try {
|
||||
$content = $this->ossClient->getObject($this->bucket, $object);
|
||||
$this->assertEquals($content, file_get_contents(__FILE__) . file_get_contents(__FILE__));
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* delete test object
|
||||
*/
|
||||
try {
|
||||
$this->ossClient->deleteObject($this->bucket, $object);
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
/**
|
||||
* Check if the replication is the same
|
||||
*/
|
||||
try {
|
||||
$content = $this->ossClient->getObject($this->bucket, $object);
|
||||
$this->assertEquals($content, file_get_contents(__FILE__));
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Upload file to start MD5
|
||||
*/
|
||||
try {
|
||||
$this->ossClient->uploadFile($this->bucket, $object, __FILE__, $options);
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the replication is the same
|
||||
*/
|
||||
try {
|
||||
$content = $this->ossClient->getObject($this->bucket, $object);
|
||||
$this->assertEquals($content, file_get_contents(__FILE__));
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete test object
|
||||
*/
|
||||
try {
|
||||
$this->ossClient->deleteObject($this->bucket, $object);
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
$object = "oss-php-sdk-test/append-test-object-name.txt";
|
||||
$content_array = array('Hello OSS', 'Hi OSS', 'OSS OK');
|
||||
$options = array(OssClient::OSS_CHECK_MD5 => true);
|
||||
|
||||
/**
|
||||
* Append the upload string
|
||||
*/
|
||||
try {
|
||||
$position = $this->ossClient->appendObject($this->bucket, $object, $content_array[0], 0, $options);
|
||||
$this->assertEquals($position, strlen($content_array[0]));
|
||||
$position = $this->ossClient->appendObject($this->bucket, $object, $content_array[1], $position, $options);
|
||||
$this->assertEquals($position, strlen($content_array[0]) + strlen($content_array[1]));
|
||||
$position = $this->ossClient->appendObject($this->bucket, $object, $content_array[2], $position, $options);
|
||||
$this->assertEquals($position, strlen($content_array[0]) + strlen($content_array[1]) + strlen($content_array[1]));
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the content is the same
|
||||
*/
|
||||
try {
|
||||
$content = $this->ossClient->getObject($this->bucket, $object);
|
||||
$this->assertEquals($content, implode($content_array));
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete test object
|
||||
*/
|
||||
try {
|
||||
$this->ossClient->deleteObject($this->bucket, $object);
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Append upload of local files
|
||||
*/
|
||||
try {
|
||||
$position = $this->ossClient->appendFile($this->bucket, $object, __FILE__, 0, $options);
|
||||
$this->assertEquals($position, sprintf('%u', filesize(__FILE__)));
|
||||
$position = $this->ossClient->appendFile($this->bucket, $object, __FILE__, $position, $options);
|
||||
$this->assertEquals($position, sprintf('%u', filesize(__FILE__)) * 2);
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the replication is the same
|
||||
*/
|
||||
try {
|
||||
$content = $this->ossClient->getObject($this->bucket, $object);
|
||||
$this->assertEquals($content, file_get_contents(__FILE__) . file_get_contents(__FILE__));
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* delete test object
|
||||
*/
|
||||
try {
|
||||
$this->ossClient->deleteObject($this->bucket, $object);
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
}
|
||||
|
||||
public function testWithInvalidBucketName()
|
||||
@ -626,8 +623,8 @@ class OssClientObjectTest extends TestOssClientBase
|
||||
$options = array(OssClient::OSS_CHECK_MD5 => true);
|
||||
$handle = fopen(__FILE__, 'rb');
|
||||
/**
|
||||
* Upload data to start MD5
|
||||
*/
|
||||
* Upload data to start MD5
|
||||
*/
|
||||
try {
|
||||
$this->ossClient->uploadStream($this->bucket, $object, $handle, $options);
|
||||
} catch (OssException $e) {
|
||||
@ -635,8 +632,8 @@ class OssClientObjectTest extends TestOssClientBase
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the replication is the same
|
||||
*/
|
||||
* Check if the replication is the same
|
||||
*/
|
||||
try {
|
||||
$content = $this->ossClient->getObject($this->bucket, $object);
|
||||
$this->assertEquals($content, file_get_contents(__FILE__));
|
||||
@ -653,8 +650,8 @@ class OssClientObjectTest extends TestOssClientBase
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the replication is the same
|
||||
*/
|
||||
* Check if the replication is the same
|
||||
*/
|
||||
try {
|
||||
$content = $this->ossClient->getObject($this->bucket, $object);
|
||||
$this->assertEquals($content, file_get_contents(__FILE__));
|
||||
@ -751,7 +748,7 @@ class OssClientObjectTest extends TestOssClientBase
|
||||
$this->assertFalse(true);
|
||||
var_dump($e->getMessage());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the replication is the same
|
||||
@ -773,6 +770,166 @@ class OssClientObjectTest extends TestOssClientBase
|
||||
}
|
||||
}
|
||||
|
||||
public function testObjectKeyWithNonUTF8Name()
|
||||
{
|
||||
$object = "中文测试.txt";
|
||||
$hexObject = bin2hex($object);
|
||||
$gbkObject = iconv('UTF-8', 'GBK', $object);
|
||||
$hexGbkObject = bin2hex($gbkObject);
|
||||
$content = "hello world";
|
||||
|
||||
$this->assertEquals("e4b8ade69687e6b58be8af952e747874", $hexObject);
|
||||
$this->assertEquals("d6d0cec4b2e2cad42e747874", $hexGbkObject);
|
||||
|
||||
try {
|
||||
$this->ossClient->putObject($this->bucket, $gbkObject, $content);
|
||||
$this->assertTrue(false);
|
||||
} catch (OssException $e) {
|
||||
$this->assertEquals('InvalidArgument', $e->getErrorCode());
|
||||
$this->assertEquals('The characters encoding must be utf-8.', $e->getErrorMessage());
|
||||
} catch (\Exception $e) {
|
||||
$this->assertTrue(false);
|
||||
}
|
||||
|
||||
//enable object encoding check
|
||||
$config = array(
|
||||
'checkObjectEncoding' => true,
|
||||
);
|
||||
$ossClient = Common::getOssClient($config);
|
||||
try {
|
||||
$ossClient->putObject($this->bucket, $gbkObject, $content);
|
||||
$content1 = $this->ossClient->getObject($this->bucket, $object);
|
||||
$content2 = $ossClient->getObject($this->bucket, $gbkObject);
|
||||
$this->assertEquals($content, $content1);
|
||||
$this->assertEquals($content, $content2);
|
||||
} catch (\Exception $e) {
|
||||
$this->assertTrue(false);
|
||||
}
|
||||
|
||||
// ascii
|
||||
try {
|
||||
$ossClient->putObject($this->bucket, '1234', 'ascii');
|
||||
$content1 = $this->ossClient->getObject($this->bucket, '1234');
|
||||
$content2 = $ossClient->getObject($this->bucket, '1234');
|
||||
$this->assertEquals('ascii', $content1);
|
||||
$this->assertEquals('ascii', $content2);
|
||||
} catch (\Exception $e) {
|
||||
$this->assertTrue(false);
|
||||
}
|
||||
}
|
||||
|
||||
public function testEncodeFilePath()
|
||||
{
|
||||
if (!OssUtil::isWin()) {
|
||||
$this->assertTrue(true);
|
||||
return;
|
||||
}
|
||||
|
||||
$fileFolder = __DIR__ . DIRECTORY_SEPARATOR . "中文目录";
|
||||
$filePath1 = $fileFolder . DIRECTORY_SEPARATOR . "中文文件名1.txt";
|
||||
$filePath2 = $fileFolder . DIRECTORY_SEPARATOR . "中文文件名2.txt";
|
||||
|
||||
$gbkfileFolder = iconv('UTF-8', 'GBK', $fileFolder);
|
||||
$gbkfilePath1 = iconv('UTF-8', 'GBK', $filePath1);
|
||||
$gbkfilePath2 = iconv('UTF-8', 'GBK', $filePath2);
|
||||
|
||||
$hexfilePath1 = bin2hex($filePath1);
|
||||
$hexGbkfilePath2 = bin2hex($gbkfilePath2);
|
||||
|
||||
$content1 = '';
|
||||
$content2 = '';
|
||||
if (version_compare(phpversion(), '7.0.0', '<')) {
|
||||
try {
|
||||
mkdir($gbkfileFolder);
|
||||
} catch (\Exception $e) {
|
||||
}
|
||||
OssUtil::generateFile($gbkfilePath1, 200 * 1024);
|
||||
OssUtil::generateFile($gbkfilePath2, 202 * 1024);
|
||||
$content1 = file_get_contents($gbkfilePath1);
|
||||
$content2 = file_get_contents($gbkfilePath2);
|
||||
} else {
|
||||
try {
|
||||
mkdir($fileFolder);
|
||||
} catch (\Exception $e) {
|
||||
}
|
||||
OssUtil::generateFile($filePath1, 200 * 1024);
|
||||
OssUtil::generateFile($filePath2, 202 * 1024);
|
||||
$content1 = file_get_contents($filePath1);
|
||||
$content2 = file_get_contents($filePath2);
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
// upload file
|
||||
$this->ossClient->uploadFile($this->bucket, '123', $filePath1);
|
||||
$this->ossClient->uploadFile($this->bucket, '234', $gbkfilePath2);
|
||||
|
||||
$res = $this->ossClient->getObject($this->bucket, '123');
|
||||
$this->assertEquals($content1, $res);
|
||||
|
||||
$res = $this->ossClient->getObject($this->bucket, '234');
|
||||
$this->assertEquals($content2, $res);
|
||||
|
||||
// append file
|
||||
$position = $this->ossClient->appendFile($this->bucket, 'append-file', $filePath1, 0);
|
||||
$position = $this->ossClient->appendFile($this->bucket, 'append-file', $gbkfilePath2, $position);
|
||||
|
||||
$res = $this->ossClient->getObject($this->bucket, 'append-file');
|
||||
$this->assertEquals($content1.$content2, $res);
|
||||
|
||||
// multi paet
|
||||
$this->ossClient->multiuploadFile($this->bucket, 'multi-file-123', $filePath1, array(OssClient::OSS_PART_SIZE => 1));
|
||||
$this->ossClient->multiuploadFile($this->bucket, 'multi-file-234', $gbkfilePath2, array(OssClient::OSS_PART_SIZE => 1));
|
||||
$res = $this->ossClient->getObject($this->bucket, 'multi-file-123');
|
||||
$this->assertEquals($content1, $res);
|
||||
|
||||
$res = $this->ossClient->getObject($this->bucket, 'multi-file-234');
|
||||
$this->assertEquals($content2, $res);
|
||||
|
||||
// uploadDir
|
||||
$this->ossClient->uploadDir($this->bucket, "dir", $fileFolder);
|
||||
$options = array(
|
||||
'delimiter' => '',
|
||||
'prefix' => "dir",
|
||||
);
|
||||
$listObjectInfo = $this->ossClient->listObjects($this->bucket, $options);
|
||||
$objectList = $listObjectInfo->getObjectList();
|
||||
$this->assertEquals(2, count($objectList));
|
||||
$this->assertEquals('dir/中文文件名1.txt', $objectList[0]->getKey());
|
||||
$this->assertEquals('dir/中文文件名2.txt', $objectList[1]->getKey());
|
||||
|
||||
// uploadDir
|
||||
if (version_compare(phpversion(), '7.0.0', '<')) {
|
||||
$this->ossClient->uploadDir($this->bucket, "gbkdir", $gbkfileFolder);
|
||||
$options = array(
|
||||
'delimiter' => '',
|
||||
'prefix' => "gbkdir",
|
||||
);
|
||||
$listObjectInfo = $this->ossClient->listObjects($this->bucket, $options);
|
||||
$objectList = $listObjectInfo->getObjectList();
|
||||
$this->assertEquals(2, count($objectList));
|
||||
$this->assertEquals('gbkdir/中文文件名1.txt', $objectList[0]->getKey());
|
||||
$this->assertEquals('gbkdir/中文文件名2.txt', $objectList[1]->getKey());
|
||||
}
|
||||
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
try {
|
||||
if (phpversion() < "7.0.0") {
|
||||
unlink($gbkfilePath1);
|
||||
unlink($gbkfilePath2);
|
||||
rmdir($gbkfileFolder);
|
||||
} else {
|
||||
unlink($filePath1);
|
||||
unlink($filePath2);
|
||||
rmdir($fileFolder);
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
}
|
||||
}
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientObjectVersioningTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientObjectVersioningTest.php
vendored
Executable file → Normal file
70
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientPresignTest.php
vendored
Normal file
70
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientPresignTest.php
vendored
Normal file
@ -0,0 +1,70 @@
|
||||
<?php
|
||||
|
||||
namespace OSS\Tests;
|
||||
|
||||
use OSS\Core\OssException;
|
||||
use OSS\Credentials\StaticCredentialsProvider;
|
||||
use OSS\Http\RequestCore;
|
||||
use OSS\Http\ResponseCore;
|
||||
use OSS\OssClient;
|
||||
|
||||
require_once __DIR__ . DIRECTORY_SEPARATOR . 'TestOssClientBase.php';
|
||||
|
||||
|
||||
class OssClientPresignTest extends TestOssClientBase
|
||||
{
|
||||
protected $stsOssClient;
|
||||
|
||||
public function testObjectWithSignV1()
|
||||
{
|
||||
$config = array(
|
||||
'signatureVersion' => OssClient::OSS_SIGNATURE_VERSION_V1
|
||||
);
|
||||
$this->bucket = Common::getBucketName() . '-' . time();
|
||||
$this->ossClient = Common::getOssClient($config);
|
||||
$this->ossClient->createBucket($this->bucket);
|
||||
Common::waitMetaSync();
|
||||
|
||||
$object = "a.file";
|
||||
$this->ossClient->putObject($this->bucket, $object, "hi oss");
|
||||
$timeout = 3600;
|
||||
$options = array(
|
||||
"response-content-disposition" => "inline"
|
||||
);
|
||||
try {
|
||||
$signedUrl = $this->ossClient->signUrl($this->bucket, $object, $timeout, OssClient::OSS_HTTP_GET, $options);
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
$this->assertStringContainsString("response-content-disposition=inline", $signedUrl);
|
||||
$options = array(
|
||||
"response-content-disposition" => "attachment",
|
||||
);
|
||||
|
||||
try {
|
||||
$signedUrl = $this->ossClient->signUrl($this->bucket, $object, $timeout, OssClient::OSS_HTTP_GET, $options);
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
$this->assertStringContainsString("response-content-disposition=attachment", $signedUrl);
|
||||
|
||||
$httpCore = new RequestCore($signedUrl);
|
||||
$httpCore->set_body("");
|
||||
$httpCore->set_method("GET");
|
||||
$httpCore->connect_timeout = 10;
|
||||
$httpCore->timeout = 10;
|
||||
$httpCore->add_header("Content-Type", "");
|
||||
$httpCore->send_request();
|
||||
$this->assertEquals(200, $httpCore->response_code);
|
||||
}
|
||||
|
||||
protected function tearDown(): void
|
||||
{
|
||||
$this->ossClient->deleteObject($this->bucket, "a.file");
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
}
|
||||
}
|
||||
369
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientPresignV4Test.php
vendored
Normal file
369
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientPresignV4Test.php
vendored
Normal file
@ -0,0 +1,369 @@
|
||||
<?php
|
||||
|
||||
namespace OSS\Tests;
|
||||
|
||||
use OSS\Core\OssException;
|
||||
use OSS\Credentials\StaticCredentialsProvider;
|
||||
use OSS\Http\RequestCore;
|
||||
use OSS\Http\ResponseCore;
|
||||
use OSS\OssClient;
|
||||
|
||||
require_once __DIR__ . DIRECTORY_SEPARATOR . 'TestOssClientBase.php';
|
||||
|
||||
|
||||
class OssClientPresignV4Test extends TestOssClientBase
|
||||
{
|
||||
protected $stsOssClient;
|
||||
|
||||
public function testObjectWithSignV4()
|
||||
{
|
||||
$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);
|
||||
sleep(1);
|
||||
|
||||
//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);
|
||||
}
|
||||
sleep(1);
|
||||
|
||||
// test Get SignedUrl For Putting Object From File
|
||||
$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(sprintf('%u', 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);
|
||||
}
|
||||
sleep(1);
|
||||
// test SignedUrl With Exception
|
||||
$object = "a.file";
|
||||
$timeout = 3600;
|
||||
$options = array('Content-Type' => 'txt');
|
||||
try {
|
||||
$signedUrl = $this->ossClient->signUrl($this->bucket, $object, $timeout, "POST", $options);
|
||||
$this->assertTrue(false);
|
||||
} catch (OssException $e) {
|
||||
$this->assertTrue(true);
|
||||
if (strpos($e, "method is invalid") == false) {
|
||||
$this->assertTrue(false);
|
||||
}
|
||||
}
|
||||
|
||||
// test GetgenPreSignedUrl For GettingObject
|
||||
$object = "a.file";
|
||||
$this->ossClient->putObject($this->bucket, $object, file_get_contents(__FILE__));
|
||||
$expires = time() + 3600;
|
||||
try {
|
||||
$signedUrl = $this->ossClient->generatePresignedUrl($this->bucket, $object, $expires);
|
||||
} 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);
|
||||
sleep(1);
|
||||
// test Get genPreSignedUrl Vs SignedUrl
|
||||
|
||||
$object = "object-vs.file";
|
||||
$signedUrl1 = '245';
|
||||
$signedUrl2 = '123';
|
||||
$expiration = 0;
|
||||
|
||||
do {
|
||||
usleep(500000);
|
||||
$begin = time();
|
||||
$expiration = time() + 3600;
|
||||
$signedUrl1 = $this->ossClient->generatePresignedUrl($this->bucket, $object, $expiration);
|
||||
$signedUrl2 = $this->ossClient->signUrl($this->bucket, $object, 3600);
|
||||
$end = time();
|
||||
} while ($begin != $end);
|
||||
$this->assertEquals($signedUrl1, $signedUrl2);
|
||||
$this->assertTrue(strpos($signedUrl1, 'x-oss-expires=') !== false);
|
||||
|
||||
$object = "a.file";
|
||||
$options = array(
|
||||
OssClient::OSS_HEADERS => array(
|
||||
'name' => 'aliyun',
|
||||
'email' => 'aliyun@aliyun.com',
|
||||
'book' => 'english',
|
||||
),
|
||||
OssClient::OSS_ADDITIONAL_HEADERS => array("name", "email")
|
||||
);
|
||||
$this->ossClient->putObject($this->bucket, $object, file_get_contents(__FILE__), $options);
|
||||
$expires = time() + 3600;
|
||||
try {
|
||||
$signedUrl = $this->ossClient->generatePresignedUrl($this->bucket, $object, $expires, "GET", $options);
|
||||
$request = new RequestCore($signedUrl);
|
||||
$request->set_method('GET');
|
||||
$request->add_header('Content-Type', '');
|
||||
$request->add_header('name', 'aliyun');
|
||||
$request->add_header('email', 'aliyun@aliyun.com');
|
||||
$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);
|
||||
sleep(1);
|
||||
} catch (OssException $e) {
|
||||
print_r($e->getMessage());
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
|
||||
try {
|
||||
$signedUrl = $this->ossClient->generatePresignedUrl($this->bucket, $object, $expires);
|
||||
} 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);
|
||||
sleep(1);
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function testObjectWithStsClientSignV4()
|
||||
{
|
||||
$object = "a.file";
|
||||
$this->stsOssClient->putObject($this->bucket, $object, file_get_contents(__FILE__));
|
||||
$timeout = 3600;
|
||||
try {
|
||||
$signedUrl = $this->stsOssClient->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);
|
||||
sleep(1);
|
||||
|
||||
//testGetSignedUrlForPuttingObject
|
||||
$object = "a.file";
|
||||
$timeout = 3600;
|
||||
try {
|
||||
$signedUrl = $this->stsOssClient->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);
|
||||
}
|
||||
sleep(1);
|
||||
|
||||
// test Get SignedUrl For Putting Object From File
|
||||
$file = __FILE__;
|
||||
$object = "a.file";
|
||||
$timeout = 3600;
|
||||
$options = array('Content-Type' => 'txt');
|
||||
try {
|
||||
$signedUrl = $this->stsOssClient->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(sprintf('%u', 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);
|
||||
}
|
||||
sleep(1);
|
||||
// test SignedUrl With Exception
|
||||
$file = __FILE__;
|
||||
$object = "a.file";
|
||||
$timeout = 3600;
|
||||
$options = array('Content-Type' => 'txt');
|
||||
try {
|
||||
$signedUrl = $this->stsOssClient->signUrl($this->bucket, $object, $timeout, "POST", $options);
|
||||
$this->assertTrue(false);
|
||||
} catch (OssException $e) {
|
||||
$this->assertTrue(true);
|
||||
if (strpos($e, "method is invalid") == false) {
|
||||
$this->assertTrue(false);
|
||||
}
|
||||
}
|
||||
|
||||
// test GetgenPreSignedUrl For GettingObject
|
||||
$object = "a.file";
|
||||
$this->stsOssClient->putObject($this->bucket, $object, file_get_contents(__FILE__));
|
||||
$expires = time() + 3600;
|
||||
try {
|
||||
$signedUrl = $this->stsOssClient->generatePresignedUrl($this->bucket, $object, $expires);
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
try {
|
||||
$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);
|
||||
sleep(1);
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
// test Get genPreSignedUrl Vs SignedUrl
|
||||
|
||||
$object = "object-vs.file";
|
||||
|
||||
do {
|
||||
usleep(500000);
|
||||
$begin = time();
|
||||
$expiration = time() + 3600;
|
||||
$signedUrl1 = $this->stsOssClient->generatePresignedUrl($this->bucket, $object, $expiration);
|
||||
$signedUrl2 = $this->stsOssClient->signUrl($this->bucket, $object, 3600);
|
||||
$end = time();
|
||||
} while ($begin != $end);
|
||||
$this->assertEquals($signedUrl1, $signedUrl2);
|
||||
$this->assertTrue(strpos($signedUrl1, 'x-oss-expires=') !== false);
|
||||
|
||||
$object = "a.file";
|
||||
$options = array(
|
||||
OssClient::OSS_HEADERS => array(
|
||||
'name' => 'aliyun',
|
||||
'email' => 'aliyun@aliyun.com',
|
||||
'book' => 'english',
|
||||
),
|
||||
OssClient::OSS_ADDITIONAL_HEADERS => array("name", "email")
|
||||
);
|
||||
$this->stsOssClient->putObject($this->bucket, $object, file_get_contents(__FILE__), $options);
|
||||
$expires = time() + 3600;
|
||||
try {
|
||||
$signedUrl = $this->stsOssClient->generatePresignedUrl($this->bucket, $object, $expires, "GET", $options);
|
||||
$request = new RequestCore($signedUrl);
|
||||
$request->set_method('GET');
|
||||
$request->add_header('Content-Type', '');
|
||||
$request->add_header('name', 'aliyun');
|
||||
$request->add_header('email', 'aliyun@aliyun.com');
|
||||
$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);
|
||||
sleep(1);
|
||||
} catch (OssException $e) {
|
||||
print_r($e->getMessage());
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
}
|
||||
|
||||
public function testObjectWithSignV4AndResponseQuery()
|
||||
{
|
||||
$config = array(
|
||||
'signatureVersion' => OssClient::OSS_SIGNATURE_VERSION_V4
|
||||
);
|
||||
$this->bucket = Common::getBucketName() . '-' . time();
|
||||
$this->ossClient = Common::getOssClient($config);
|
||||
$this->ossClient->createBucket($this->bucket);
|
||||
Common::waitMetaSync();
|
||||
|
||||
$object = "a.file";
|
||||
$this->ossClient->putObject($this->bucket, $object, "hi oss");
|
||||
$timeout = 3600;
|
||||
$options = array(
|
||||
"response-content-disposition" => "inline"
|
||||
);
|
||||
try {
|
||||
$signedUrl = $this->ossClient->signUrl($this->bucket, $object, $timeout, OssClient::OSS_HTTP_GET, $options);
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
$this->assertStringContainsString("response-content-disposition=inline", $signedUrl);
|
||||
$options = array(
|
||||
"response-content-disposition" => "attachment"
|
||||
);
|
||||
|
||||
try {
|
||||
$signedUrl = $this->ossClient->signUrl($this->bucket, $object, $timeout, OssClient::OSS_HTTP_GET, $options);
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
$this->assertStringContainsString("response-content-disposition=attachment", $signedUrl);
|
||||
|
||||
$httpCore = new RequestCore($signedUrl);
|
||||
$httpCore->set_body("");
|
||||
$httpCore->set_method("GET");
|
||||
$httpCore->connect_timeout = 10;
|
||||
$httpCore->timeout = 10;
|
||||
$httpCore->add_header("Content-Type", "");
|
||||
$httpCore->send_request();
|
||||
$this->assertEquals(200, $httpCore->response_code);
|
||||
}
|
||||
|
||||
protected function tearDown(): void
|
||||
{
|
||||
$this->ossClient->deleteObject($this->bucket, "a.file");
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
$config = array(
|
||||
'signatureVersion' => OssClient::OSS_SIGNATURE_VERSION_V4
|
||||
);
|
||||
$this->bucket = Common::getBucketName() . '-' . time();
|
||||
$this->ossClient = Common::getOssClient($config);
|
||||
$this->ossClient->createBucket($this->bucket);
|
||||
Common::waitMetaSync();
|
||||
$this->stsOssClient = Common::getStsOssClient($config);
|
||||
Common::waitMetaSync();
|
||||
}
|
||||
}
|
||||
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientRestoreObjectTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientRestoreObjectTest.php
vendored
Executable file → Normal file
434
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientSignatureTest.php
vendored
Executable file → Normal file
434
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientSignatureTest.php
vendored
Executable file → Normal file
@ -1,167 +1,267 @@
|
||||
<?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(sprintf('%u',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 testSignedUrlWithException()
|
||||
{
|
||||
$file = __FILE__;
|
||||
$object = "a.file";
|
||||
$timeout = 3600;
|
||||
$options = array('Content-Type' => 'txt');
|
||||
try {
|
||||
$signedUrl = $this->ossClient->signUrl($this->bucket, $object, $timeout, "POST", $options);
|
||||
$this->assertTrue(false);
|
||||
} catch (OssException $e) {
|
||||
$this->assertTrue(true);
|
||||
if (strpos($e, "method is invalid") == false)
|
||||
{
|
||||
$this->assertTrue(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function testGetgenPreSignedUrlForGettingObject()
|
||||
{
|
||||
$object = "a.file";
|
||||
$this->ossClient->putObject($this->bucket, $object, file_get_contents(__FILE__));
|
||||
$expires = time() + 3600;
|
||||
try {
|
||||
$signedUrl = $this->ossClient->generatePresignedUrl($this->bucket, $object, $expires);
|
||||
} 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);
|
||||
}
|
||||
|
||||
function testGetgenPreSignedUrlVsSignedUrl()
|
||||
{
|
||||
$object = "object-vs.file";
|
||||
$signedUrl1 = '245';
|
||||
$signedUrl2 = '123';
|
||||
$expiration = 0;
|
||||
|
||||
do {
|
||||
usleep(500000);
|
||||
$begin = time();
|
||||
$expiration = time() + 3600;
|
||||
$signedUrl1 = $this->ossClient->generatePresignedUrl($this->bucket, $object, $expiration);
|
||||
$signedUrl2 = $this->ossClient->signUrl($this->bucket, $object, 3600);
|
||||
$end = time();
|
||||
} while ($begin != $end);
|
||||
$this->assertEquals($signedUrl1, $signedUrl2);
|
||||
$this->assertTrue(strpos($signedUrl1, 'Expires='.$expiration) !== false);
|
||||
}
|
||||
|
||||
protected function tearDown(): void
|
||||
{
|
||||
$this->ossClient->deleteObject($this->bucket, "a.file");
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
<?php
|
||||
|
||||
namespace OSS\Tests;
|
||||
|
||||
use http\Client;
|
||||
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
|
||||
{
|
||||
public 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(sprintf('%u',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 testSignedUrlWithException()
|
||||
{
|
||||
$file = __FILE__;
|
||||
$object = "a.file";
|
||||
$timeout = 3600;
|
||||
$options = array('Content-Type' => 'txt');
|
||||
try {
|
||||
$signedUrl = $this->ossClient->signUrl($this->bucket, $object, $timeout, "POST", $options);
|
||||
$this->assertTrue(false);
|
||||
} catch (OssException $e) {
|
||||
$this->assertTrue(true);
|
||||
if (strpos($e, "method is invalid") == false)
|
||||
{
|
||||
$this->assertTrue(false);
|
||||
}
|
||||
}
|
||||
|
||||
$object = "?a.file";
|
||||
$timeout = 3600;
|
||||
$options = array('Content-Type' => 'txt');
|
||||
try {
|
||||
$signedUrl = $this->ossClient->signUrl($this->bucket, $object, $timeout, "PUT", $options);
|
||||
$this->assertTrue(false);
|
||||
} catch (OssException $e) {
|
||||
$this->assertTrue(true);
|
||||
if (strpos($e, "object name cannot start with `?`") == false)
|
||||
{
|
||||
$this->assertTrue(false);
|
||||
}
|
||||
}
|
||||
|
||||
// Set StrictObjectName false
|
||||
$object = "?a.file";
|
||||
$timeout = 3600;
|
||||
$options = array('Content-Type' => 'txt');
|
||||
$config = array(
|
||||
'strictObjectName' => false
|
||||
);
|
||||
$ossClient = Common::getOssClient($config);
|
||||
try {
|
||||
$signedUrl = $ossClient->signUrl($this->bucket, $object, $timeout, "PUT", $options);
|
||||
$this->assertTrue(true);
|
||||
} catch (OssException $e) {
|
||||
print_r($e->getMessage());
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
// V4
|
||||
$object = "?a.file";
|
||||
$timeout = 3600;
|
||||
$options = array('Content-Type' => 'txt');
|
||||
$config = array(
|
||||
'signatureVersion' => OssClient::OSS_SIGNATURE_VERSION_V4
|
||||
);
|
||||
$ossClient = Common::getOssClient($config);
|
||||
try {
|
||||
$signedUrl = $ossClient->signUrl($this->bucket, $object, $timeout, "PUT", $options);
|
||||
$this->assertTrue(true);
|
||||
} catch (OssException $e) {
|
||||
print_r($e->getMessage());
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
}
|
||||
|
||||
function testGetgenPreSignedUrlForGettingObject()
|
||||
{
|
||||
$object = "a.file";
|
||||
$this->ossClient->putObject($this->bucket, $object, file_get_contents(__FILE__));
|
||||
$expires = time() + 3600;
|
||||
try {
|
||||
$signedUrl = $this->ossClient->generatePresignedUrl($this->bucket, $object, $expires);
|
||||
} 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);
|
||||
}
|
||||
|
||||
function testGetgenPreSignedUrlVsSignedUrl()
|
||||
{
|
||||
$object = "object-vs.file";
|
||||
$signedUrl1 = '245';
|
||||
$signedUrl2 = '123';
|
||||
$expiration = 0;
|
||||
|
||||
do {
|
||||
usleep(500000);
|
||||
$begin = time();
|
||||
$expiration = time() + 3600;
|
||||
$signedUrl1 = $this->ossClient->generatePresignedUrl($this->bucket, $object, $expiration);
|
||||
$signedUrl2 = $this->ossClient->signUrl($this->bucket, $object, 3600);
|
||||
$end = time();
|
||||
} while ($begin != $end);
|
||||
$this->assertEquals($signedUrl1, $signedUrl2);
|
||||
$this->assertTrue(strpos($signedUrl1, 'Expires='.$expiration) !== false);
|
||||
}
|
||||
|
||||
public function testPutObjectWithQueryCallback()
|
||||
{
|
||||
$object = "a.file";
|
||||
$timeout = 3600;
|
||||
$url = '{"callbackUrl":"http://aliyun.com", "callbackBody":"bucket=${bucket}&object=${object}"}';
|
||||
$var =
|
||||
'{
|
||||
"x:var1":"value1",
|
||||
"x:var2":"value2"
|
||||
}';
|
||||
try {
|
||||
$options[OssClient::OSS_QUERY_STRING] = array(
|
||||
'callback'=>base64_encode($url),
|
||||
'callback-var'=>base64_encode($var)
|
||||
);
|
||||
$signedUrl = $this->ossClient->signUrl($this->bucket, $object, $timeout, "PUT", $options);
|
||||
$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->assertEquals($res->status, 203);
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
|
||||
try {
|
||||
$options = array(OssClient::OSS_CALLBACK => $url,
|
||||
OssClient::OSS_CALLBACK_VAR => $var
|
||||
);
|
||||
$signedUrl = $this->ossClient->signUrl($this->bucket, $object, $timeout, "PUT", $options);
|
||||
$content = file_get_contents(__FILE__);
|
||||
$request = new RequestCore($signedUrl);
|
||||
$request->set_method('PUT');
|
||||
$request->add_header('Content-Type', '');
|
||||
$request->add_header(OssClient::OSS_CALLBACK, base64_encode($url));
|
||||
$request->add_header(OssClient::OSS_CALLBACK_VAR , base64_encode($var));
|
||||
$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->assertEquals($res->status, 203);
|
||||
} catch (OssException $e) {
|
||||
$this->assertFalse(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected function tearDown(): void
|
||||
{
|
||||
$this->ossClient->deleteObject($this->bucket, "a.file");
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
1409
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientSignatureV4Test.php
vendored
Normal file
1409
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientSignatureV4Test.php
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1015
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientTest.php
vendored
Executable file → Normal file
1015
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientTest.php
vendored
Executable file → Normal file
File diff suppressed because it is too large
Load Diff
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssExceptionTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssExceptionTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssTrafficLimitTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssTrafficLimitTest.php
vendored
Executable file → Normal file
2
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssUtilTest.php
vendored
Executable file → Normal file
2
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssUtilTest.php
vendored
Executable file → Normal file
@ -143,7 +143,7 @@ BBBB;
|
||||
|
||||
public function testReadDir()
|
||||
{
|
||||
$list = OssUtil::readDir("./src", ".|..|.svn|.git", true);
|
||||
$list = OssUtil::readDir(__DIR__, ".|..|.svn|.git", true);
|
||||
$this->assertNotNull($list);
|
||||
}
|
||||
|
||||
|
||||
2
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/PutSetDeleteResultTest.php
vendored
Executable file → Normal file
2
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/PutSetDeleteResultTest.php
vendored
Executable file → Normal file
@ -6,7 +6,7 @@ use OSS\Core\OssException;
|
||||
use OSS\Http\ResponseCore;
|
||||
use OSS\Result\PutSetDeleteResult;
|
||||
|
||||
class ResultTest extends \PHPUnit\Framework\TestCase
|
||||
class PutSetDeleteResultTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
|
||||
public function testNullResponse()
|
||||
|
||||
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/RefererConfigTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/RefererConfigTest.php
vendored
Executable file → Normal file
558
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/SignerTest.php
vendored
Normal file
558
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/SignerTest.php
vendored
Normal file
@ -0,0 +1,558 @@
|
||||
<?php
|
||||
|
||||
namespace OSS\Tests;
|
||||
|
||||
use OSS\Http\RequestCore;
|
||||
use OSS\Credentials\Credentials;
|
||||
use OSS\Signer\SignerV1;
|
||||
use OSS\Signer\SignerV4;
|
||||
use OSS\Core\OssUtil;
|
||||
|
||||
class SignerTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
public function testSignerV1Header()
|
||||
{
|
||||
// case 1
|
||||
$credentials = new Credentials("ak", "sk");
|
||||
$request = new RequestCore("http://examplebucket.oss-cn-hangzhou.aliyuncs.com");
|
||||
$request->set_method("PUT");
|
||||
$bucket = "examplebucket";
|
||||
$object = "nelson";
|
||||
|
||||
$request->add_header("Content-MD5", "eB5eJF1ptWaXm4bijSPyxw==");
|
||||
$request->add_header("Content-Type", "text/html");
|
||||
$request->add_header("x-oss-meta-author", "alice");
|
||||
$request->add_header("x-oss-meta-magic", "abracadabra");
|
||||
$request->add_header("x-oss-date", "Wed, 28 Dec 2022 10:27:41 GMT");
|
||||
|
||||
$request->add_header("Date", "Wed, 28 Dec 2022 10:27:41 GMT");
|
||||
|
||||
$signer = new SignerV1();
|
||||
|
||||
$signingOpt = array(
|
||||
'bucket' => $bucket,
|
||||
'key' => $object,
|
||||
);
|
||||
$signer->sign($request, $credentials, $signingOpt);
|
||||
|
||||
$signToString = "PUT\neB5eJF1ptWaXm4bijSPyxw==\ntext/html\nWed, 28 Dec 2022 10:27:41 GMT\nx-oss-date:Wed, 28 Dec 2022 10:27:41 GMT\nx-oss-meta-author:alice\nx-oss-meta-magic:abracadabra\n/examplebucket/nelson";
|
||||
|
||||
$this->assertEquals($signToString, $signingOpt['string_to_sign']);
|
||||
$this->assertEquals('OSS ak:kSHKmLxlyEAKtZPkJhG9bZb5k7M=', $request->request_headers['Authorization']);
|
||||
|
||||
// case 2
|
||||
$request2 = new RequestCore("http://examplebucket.oss-cn-hangzhou.aliyuncs.com?acl");
|
||||
$request2->set_method("PUT");
|
||||
|
||||
$request2->add_header("Content-MD5", "eB5eJF1ptWaXm4bijSPyxw==");
|
||||
$request2->add_header("Content-Type", "text/html");
|
||||
$request2->add_header("x-oss-meta-author", "alice");
|
||||
$request2->add_header("x-oss-meta-magic", "abracadabra");
|
||||
$request2->add_header("x-oss-date", "Wed, 28 Dec 2022 10:27:41 GMT");
|
||||
|
||||
$request2->add_header("Date", "Wed, 28 Dec 2022 10:27:41 GMT");
|
||||
|
||||
$signer = new SignerV1();
|
||||
|
||||
$signingOpt2 = array(
|
||||
'bucket' => $bucket,
|
||||
'key' => $object,
|
||||
);
|
||||
$signer->sign($request2, $credentials, $signingOpt2);
|
||||
|
||||
$signToString = "PUT\neB5eJF1ptWaXm4bijSPyxw==\ntext/html\nWed, 28 Dec 2022 10:27:41 GMT\nx-oss-date:Wed, 28 Dec 2022 10:27:41 GMT\nx-oss-meta-author:alice\nx-oss-meta-magic:abracadabra\n/examplebucket/nelson?acl";
|
||||
|
||||
$this->assertEquals($signToString, $signingOpt2['string_to_sign']);
|
||||
$this->assertEquals('OSS ak:/afkugFbmWDQ967j1vr6zygBLQk=', $request2->request_headers['Authorization']);
|
||||
|
||||
// case 3 with non-signed query
|
||||
$request3 = new RequestCore("http://examplebucket.oss-cn-hangzhou.aliyuncs.com?acl&non-signed-key=value");
|
||||
$request3->set_method("PUT");
|
||||
|
||||
$request3->add_header("Content-MD5", "eB5eJF1ptWaXm4bijSPyxw==");
|
||||
$request3->add_header("Content-Type", "text/html");
|
||||
$request3->add_header("x-oss-meta-author", "alice");
|
||||
$request3->add_header("x-oss-meta-magic", "abracadabra");
|
||||
$request3->add_header("x-oss-date", "Wed, 28 Dec 2022 10:27:41 GMT");
|
||||
|
||||
$request3->add_header("Date", "Wed, 28 Dec 2022 10:27:41 GMT");
|
||||
|
||||
$signingOpt3 = array(
|
||||
'bucket' => $bucket,
|
||||
'key' => $object,
|
||||
);
|
||||
$signer->sign($request3, $credentials, $signingOpt3);
|
||||
|
||||
$signToString = "PUT\neB5eJF1ptWaXm4bijSPyxw==\ntext/html\nWed, 28 Dec 2022 10:27:41 GMT\nx-oss-date:Wed, 28 Dec 2022 10:27:41 GMT\nx-oss-meta-author:alice\nx-oss-meta-magic:abracadabra\n/examplebucket/nelson?acl";
|
||||
|
||||
$this->assertEquals($signToString, $signingOpt3['string_to_sign']);
|
||||
$this->assertEquals('OSS ak:/afkugFbmWDQ967j1vr6zygBLQk=', $request3->request_headers['Authorization']);
|
||||
}
|
||||
|
||||
public function testSignerV1HeaderWithToken()
|
||||
{
|
||||
// case 1
|
||||
$credentials = new Credentials("ak", "sk", "token");
|
||||
$request = new RequestCore("http://examplebucket.oss-cn-hangzhou.aliyuncs.com");
|
||||
$request->set_method("PUT");
|
||||
$bucket = "examplebucket";
|
||||
$object = "nelson";
|
||||
|
||||
$request->add_header("Content-MD5", "eB5eJF1ptWaXm4bijSPyxw==");
|
||||
$request->add_header("Content-Type", "text/html");
|
||||
$request->add_header("x-oss-meta-author", "alice");
|
||||
$request->add_header("x-oss-meta-magic", "abracadabra");
|
||||
$request->add_header("x-oss-date", "Wed, 28 Dec 2022 10:27:41 GMT");
|
||||
|
||||
$request->add_header("Date", "Wed, 28 Dec 2022 10:27:41 GMT");
|
||||
|
||||
$signer = new SignerV1();
|
||||
|
||||
$signingOpt = array(
|
||||
'bucket' => $bucket,
|
||||
'key' => $object,
|
||||
);
|
||||
$signer->sign($request, $credentials, $signingOpt);
|
||||
|
||||
$signToString = "PUT\neB5eJF1ptWaXm4bijSPyxw==\ntext/html\nWed, 28 Dec 2022 10:27:41 GMT\nx-oss-date:Wed, 28 Dec 2022 10:27:41 GMT\nx-oss-meta-author:alice\nx-oss-meta-magic:abracadabra\nx-oss-security-token:token\n/examplebucket/nelson";
|
||||
|
||||
$this->assertEquals($signToString, $signingOpt['string_to_sign']);
|
||||
$this->assertEquals('OSS ak:H3PAlN3Vucn74tPVEqaQC4AnLwQ=', $request->request_headers['Authorization']);
|
||||
$this->assertEquals('token', $request->request_headers['x-oss-security-token']);
|
||||
|
||||
// case 2
|
||||
$request2 = new RequestCore("http://examplebucket.oss-cn-hangzhou.aliyuncs.com?acl");
|
||||
$request2->set_method("PUT");
|
||||
|
||||
$request2->add_header("Content-MD5", "eB5eJF1ptWaXm4bijSPyxw==");
|
||||
$request2->add_header("Content-Type", "text/html");
|
||||
$request2->add_header("x-oss-meta-author", "alice");
|
||||
$request2->add_header("x-oss-meta-magic", "abracadabra");
|
||||
$request2->add_header("x-oss-date", "Wed, 28 Dec 2022 10:27:41 GMT");
|
||||
|
||||
$request2->add_header("Date", "Wed, 28 Dec 2022 10:27:41 GMT");
|
||||
|
||||
$signer = new SignerV1();
|
||||
|
||||
$signingOpt2 = array(
|
||||
'bucket' => $bucket,
|
||||
'key' => $object,
|
||||
);
|
||||
$signer->sign($request2, $credentials, $signingOpt2);
|
||||
|
||||
$signToString = "PUT\neB5eJF1ptWaXm4bijSPyxw==\ntext/html\nWed, 28 Dec 2022 10:27:41 GMT\nx-oss-date:Wed, 28 Dec 2022 10:27:41 GMT\nx-oss-meta-author:alice\nx-oss-meta-magic:abracadabra\nx-oss-security-token:token\n/examplebucket/nelson?acl";
|
||||
|
||||
$this->assertEquals($signToString, $signingOpt2['string_to_sign']);
|
||||
$this->assertEquals("OSS ak:yeceHMAsgusDPCR979RJcLtd7RI=", $request2->request_headers['Authorization']);
|
||||
|
||||
// case 3 with non-signed query
|
||||
$request3 = new RequestCore("http://examplebucket.oss-cn-hangzhou.aliyuncs.com?acl&non-signed-key=value");
|
||||
$request3->set_method("PUT");
|
||||
|
||||
$request3->add_header("Content-MD5", "eB5eJF1ptWaXm4bijSPyxw==");
|
||||
$request3->add_header("Content-Type", "text/html");
|
||||
$request3->add_header("x-oss-meta-author", "alice");
|
||||
$request3->add_header("x-oss-meta-magic", "abracadabra");
|
||||
$request3->add_header("x-oss-date", "Wed, 28 Dec 2022 10:27:41 GMT");
|
||||
|
||||
$request3->add_header("Date", "Wed, 28 Dec 2022 10:27:41 GMT");
|
||||
|
||||
$signingOpt3 = array(
|
||||
'bucket' => $bucket,
|
||||
'key' => $object,
|
||||
);
|
||||
$signer->sign($request3, $credentials, $signingOpt3);
|
||||
|
||||
$signToString = "PUT\neB5eJF1ptWaXm4bijSPyxw==\ntext/html\nWed, 28 Dec 2022 10:27:41 GMT\nx-oss-date:Wed, 28 Dec 2022 10:27:41 GMT\nx-oss-meta-author:alice\nx-oss-meta-magic:abracadabra\nx-oss-security-token:token\n/examplebucket/nelson?acl";
|
||||
|
||||
$this->assertEquals($signToString, $signingOpt3['string_to_sign']);
|
||||
$this->assertEquals('OSS ak:yeceHMAsgusDPCR979RJcLtd7RI=', $request2->request_headers['Authorization']);
|
||||
}
|
||||
|
||||
public function testSignerV1Presign()
|
||||
{
|
||||
$credentials = new Credentials("ak", "sk");
|
||||
$request = new RequestCore("http://bucket.oss-cn-hangzhou.aliyuncs.com/key?versionId=versionId");
|
||||
$request->set_method("GET");
|
||||
$bucket = "bucket";
|
||||
$object = "key";
|
||||
|
||||
$signer = new SignerV1();
|
||||
|
||||
$signingOpt = array(
|
||||
'bucket' => $bucket,
|
||||
'key' => $object,
|
||||
'expiration' => 1699807420,
|
||||
);
|
||||
$signer->presign($request, $credentials, $signingOpt);
|
||||
|
||||
$parsed_url = parse_url($request->request_url);
|
||||
$queryString = isset($parsed_url['query']) ? $parsed_url['query'] : '';
|
||||
$query = array();
|
||||
parse_str($queryString, $query);
|
||||
|
||||
$this->assertEquals('1699807420', $query['Expires']);
|
||||
$this->assertEquals('ak', $query['OSSAccessKeyId']);
|
||||
$this->assertEquals('dcLTea+Yh9ApirQ8o8dOPqtvJXQ=', $query['Signature']);
|
||||
$this->assertEquals('versionId', $query['versionId']);
|
||||
$this->assertEquals('/key', $parsed_url['path']);
|
||||
}
|
||||
|
||||
public function testSignerV1PresignWithToken()
|
||||
{
|
||||
$credentials = new Credentials("ak", "sk", "token");
|
||||
$request = new RequestCore("http://bucket.oss-cn-hangzhou.aliyuncs.com/key%2B123?versionId=versionId");
|
||||
$request->set_method("GET");
|
||||
$bucket = "bucket";
|
||||
$object = "key+123";
|
||||
|
||||
$signer = new SignerV1();
|
||||
|
||||
$signingOpt = array(
|
||||
'bucket' => $bucket,
|
||||
'key' => $object,
|
||||
'expiration' => 1699808204,
|
||||
);
|
||||
$signer->presign($request, $credentials, $signingOpt);
|
||||
|
||||
$parsed_url = parse_url($request->request_url);
|
||||
$queryString = isset($parsed_url['query']) ? $parsed_url['query'] : '';
|
||||
$query = array();
|
||||
parse_str($queryString, $query);
|
||||
|
||||
$this->assertEquals('1699808204', $query['Expires']);
|
||||
$this->assertEquals('ak', $query['OSSAccessKeyId']);
|
||||
$this->assertEquals('jzKYRrM5y6Br0dRFPaTGOsbrDhY=', $query['Signature']);
|
||||
$this->assertEquals('versionId', $query['versionId']);
|
||||
$this->assertEquals('token', $query['security-token']);
|
||||
$this->assertEquals('/key%2B123', $parsed_url['path']);
|
||||
}
|
||||
|
||||
public function testSignerV4Header()
|
||||
{
|
||||
// case 1
|
||||
$credentials = new Credentials("ak", "sk");
|
||||
$request = new RequestCore("http://bucket.oss-cn-hangzhou.aliyuncs.com/1234%2B-/123/1.txt");
|
||||
$request->set_method("PUT");
|
||||
$bucket = "bucket";
|
||||
$object = "1234+-/123/1.txt";
|
||||
|
||||
$request->add_header("x-oss-head1", "value");
|
||||
$request->add_header("abc", "value");
|
||||
$request->add_header("ZAbc", "value");
|
||||
$request->add_header("XYZ", "value");
|
||||
$request->add_header("content-type", "text/plain");
|
||||
$request->add_header("x-oss-content-sha256", "UNSIGNED-PAYLOAD");
|
||||
|
||||
$request->add_header("Date", gmdate('D, d M Y H:i:s \G\M\T', 1702743657));
|
||||
|
||||
$signer = new SignerV4();
|
||||
|
||||
$query = array();
|
||||
$query["param1"] = "value1";
|
||||
$query["+param1"] = "value3";
|
||||
$query["|param1"] = "value4";
|
||||
$query["+param2"] = "";
|
||||
$query["|param2"] = "";
|
||||
$query["param2"] = "";
|
||||
|
||||
$parsed_url = parse_url($request->request_url);
|
||||
$parsed_url['query'] = OssUtil::toQueryString($query);;
|
||||
$request->request_url = OssUtil::unparseUrl($parsed_url);
|
||||
|
||||
$signingOpt = array(
|
||||
'bucket' => $bucket,
|
||||
'key' => $object,
|
||||
'region' => 'cn-hangzhou',
|
||||
'product' => 'oss',
|
||||
);
|
||||
$signer->sign($request, $credentials, $signingOpt);
|
||||
|
||||
$authPat = "OSS4-HMAC-SHA256 Credential=ak/20231216/cn-hangzhou/oss/aliyun_v4_request,Signature=e21d18daa82167720f9b1047ae7e7f1ce7cb77a31e8203a7d5f4624fa0284afe";
|
||||
$this->assertEquals($authPat, $request->request_headers['Authorization']);
|
||||
}
|
||||
|
||||
public function testSignerV4HeaderWithToken()
|
||||
{
|
||||
// case 1
|
||||
$credentials = new Credentials("ak", "sk", "token");
|
||||
$request = new RequestCore("http://bucket.oss-cn-hangzhou.aliyuncs.com/1234%2B-/123/1.txt");
|
||||
$request->set_method("PUT");
|
||||
$bucket = "bucket";
|
||||
$object = "1234+-/123/1.txt";
|
||||
|
||||
$request->add_header("x-oss-head1", "value");
|
||||
$request->add_header("abc", "value");
|
||||
$request->add_header("ZAbc", "value");
|
||||
$request->add_header("XYZ", "value");
|
||||
$request->add_header("content-type", "text/plain");
|
||||
$request->add_header("x-oss-content-sha256", "UNSIGNED-PAYLOAD");
|
||||
|
||||
$request->add_header("Date", gmdate('D, d M Y H:i:s \G\M\T', 1702784856));
|
||||
|
||||
$signer = new SignerV4();
|
||||
|
||||
$query = array();
|
||||
$query["param1"] = "value1";
|
||||
$query["+param1"] = "value3";
|
||||
$query["|param1"] = "value4";
|
||||
$query["+param2"] = "";
|
||||
$query["|param2"] = "";
|
||||
$query["param2"] = "";
|
||||
|
||||
$parsed_url = parse_url($request->request_url);
|
||||
$parsed_url['query'] = OssUtil::toQueryString($query);;
|
||||
$request->request_url = OssUtil::unparseUrl($parsed_url);
|
||||
|
||||
$signingOpt = array(
|
||||
'bucket' => $bucket,
|
||||
'key' => $object,
|
||||
'region' => 'cn-hangzhou',
|
||||
'product' => 'oss',
|
||||
);
|
||||
$signer->sign($request, $credentials, $signingOpt);
|
||||
|
||||
$authPat = "OSS4-HMAC-SHA256 Credential=ak/20231217/cn-hangzhou/oss/aliyun_v4_request,Signature=b94a3f999cf85bcdc00d332fbd3734ba03e48382c36fa4d5af5df817395bd9ea";
|
||||
$this->assertEquals($authPat, $request->request_headers['Authorization']);
|
||||
}
|
||||
|
||||
public function testSignerV4AdditionalHeaders()
|
||||
{
|
||||
// case 1
|
||||
$credentials = new Credentials("ak", "sk");
|
||||
$request = new RequestCore("http://bucket.oss-cn-hangzhou.aliyuncs.com/1234%2B-/123/1.txt");
|
||||
$request->set_method("PUT");
|
||||
$bucket = "bucket";
|
||||
$object = "1234+-/123/1.txt";
|
||||
|
||||
$request->add_header("x-oss-head1", "value");
|
||||
$request->add_header("abc", "value");
|
||||
$request->add_header("ZAbc", "value");
|
||||
$request->add_header("XYZ", "value");
|
||||
$request->add_header("content-type", "text/plain");
|
||||
$request->add_header("x-oss-content-sha256", "UNSIGNED-PAYLOAD");
|
||||
|
||||
$request->add_header("Date", gmdate('D, d M Y H:i:s \G\M\T', 1702747512));
|
||||
|
||||
$signer = new SignerV4();
|
||||
|
||||
$query = array();
|
||||
$query["param1"] = "value1";
|
||||
$query["+param1"] = "value3";
|
||||
$query["|param1"] = "value4";
|
||||
$query["+param2"] = "";
|
||||
$query["|param2"] = "";
|
||||
$query["param2"] = "";
|
||||
|
||||
$parsed_url = parse_url($request->request_url);
|
||||
$parsed_url['query'] = OssUtil::toQueryString($query);;
|
||||
$request->request_url = OssUtil::unparseUrl($parsed_url);
|
||||
|
||||
$signingOpt = array(
|
||||
'bucket' => $bucket,
|
||||
'key' => $object,
|
||||
'region' => 'cn-hangzhou',
|
||||
'product' => 'oss',
|
||||
'additionalHeaders' => array("ZAbc", "abc")
|
||||
);
|
||||
$signer->sign($request, $credentials, $signingOpt);
|
||||
|
||||
$authPat = "OSS4-HMAC-SHA256 Credential=ak/20231216/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=abc;zabc,Signature=4a4183c187c07c8947db7620deb0a6b38d9fbdd34187b6dbaccb316fa251212f";
|
||||
$this->assertEquals($authPat, $request->request_headers['Authorization']);
|
||||
|
||||
// case 1
|
||||
$credentials = new Credentials("ak", "sk");
|
||||
$request = new RequestCore("http://bucket.oss-cn-hangzhou.aliyuncs.com/1234%2B-/123/1.txt");
|
||||
$request->set_method("PUT");
|
||||
$bucket = "bucket";
|
||||
$object = "1234+-/123/1.txt";
|
||||
|
||||
$request->add_header("x-oss-head1", "value");
|
||||
$request->add_header("abc", "value");
|
||||
$request->add_header("ZAbc", "value");
|
||||
$request->add_header("XYZ", "value");
|
||||
$request->add_header("content-type", "text/plain");
|
||||
$request->add_header("x-oss-content-sha256", "UNSIGNED-PAYLOAD");
|
||||
|
||||
$request->add_header("Date", gmdate('D, d M Y H:i:s \G\M\T', 1702747512));
|
||||
|
||||
$signer = new SignerV4();
|
||||
|
||||
$query = array();
|
||||
$query["param1"] = "value1";
|
||||
$query["+param1"] = "value3";
|
||||
$query["|param1"] = "value4";
|
||||
$query["+param2"] = "";
|
||||
$query["|param2"] = "";
|
||||
$query["param2"] = "";
|
||||
|
||||
$parsed_url = parse_url($request->request_url);
|
||||
$parsed_url['query'] = OssUtil::toQueryString($query);;
|
||||
$request->request_url = OssUtil::unparseUrl($parsed_url);
|
||||
|
||||
$signingOpt = array(
|
||||
'bucket' => $bucket,
|
||||
'key' => $object,
|
||||
'region' => 'cn-hangzhou',
|
||||
'product' => 'oss',
|
||||
'additionalHeaders' => array("x-oss-no-exist", "ZAbc", "x-oss-head1", "abc")
|
||||
);
|
||||
$signer->sign($request, $credentials, $signingOpt);
|
||||
|
||||
$authPat = "OSS4-HMAC-SHA256 Credential=ak/20231216/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=abc;zabc,Signature=4a4183c187c07c8947db7620deb0a6b38d9fbdd34187b6dbaccb316fa251212f";
|
||||
$this->assertEquals($authPat, $request->request_headers['Authorization']);
|
||||
}
|
||||
|
||||
public function testSignerV4Presign()
|
||||
{
|
||||
// case 1
|
||||
$credentials = new Credentials("ak", "sk");
|
||||
$request = new RequestCore("http://bucket.oss-cn-hangzhou.aliyuncs.com/1234%2B-/123/1.txt");
|
||||
$request->set_method("PUT");
|
||||
$bucket = "bucket";
|
||||
$object = "1234+-/123/1.txt";
|
||||
|
||||
$request->add_header("x-oss-head1", "value");
|
||||
$request->add_header("abc", "value");
|
||||
$request->add_header("ZAbc", "value");
|
||||
$request->add_header("XYZ", "value");
|
||||
$request->add_header("content-type", "application/octet-stream");
|
||||
$request->add_header("Date", gmdate('D, d M Y H:i:s \G\M\T', 1702781677));
|
||||
|
||||
$signer = new SignerV4();
|
||||
|
||||
$query = array();
|
||||
$query["param1"] = "value1";
|
||||
$query["+param1"] = "value3";
|
||||
$query["|param1"] = "value4";
|
||||
$query["+param2"] = "";
|
||||
$query["|param2"] = "";
|
||||
$query["param2"] = "";
|
||||
|
||||
$parsed_url = parse_url($request->request_url);
|
||||
$parsed_url['query'] = OssUtil::toQueryString($query);;
|
||||
$request->request_url = OssUtil::unparseUrl($parsed_url);
|
||||
|
||||
$signingOpt = array(
|
||||
'bucket' => $bucket,
|
||||
'key' => $object,
|
||||
'region' => 'cn-hangzhou',
|
||||
'product' => 'oss',
|
||||
'expiration' => 1702782276,
|
||||
);
|
||||
$signer->presign($request, $credentials, $signingOpt);
|
||||
$parsed_url = parse_url($request->request_url);
|
||||
$queryString = isset($parsed_url['query']) ? $parsed_url['query'] : '';
|
||||
$query = array();
|
||||
parse_str($queryString, $query);
|
||||
$this->assertEquals('OSS4-HMAC-SHA256', $query['x-oss-signature-version']);
|
||||
$this->assertEquals('OSS4-HMAC-SHA256', $query['x-oss-signature-version']);
|
||||
$this->assertEquals('599', $query['x-oss-expires']);
|
||||
$this->assertEquals('ak/20231217/cn-hangzhou/oss/aliyun_v4_request', $query['x-oss-credential']);
|
||||
$this->assertEquals('a39966c61718be0d5b14e668088b3fa07601033f6518ac7b523100014269c0fe', $query['x-oss-signature']);
|
||||
$this->assertFalse(isset($query['x-oss-additional-headers']));
|
||||
}
|
||||
|
||||
public function testSignerV4PresignWithToken()
|
||||
{
|
||||
// case 1
|
||||
$credentials = new Credentials("ak", "sk", "token");
|
||||
$request = new RequestCore("http://bucket.oss-cn-hangzhou.aliyuncs.com/1234%2B-/123/1.txt");
|
||||
$request->set_method("PUT");
|
||||
$bucket = "bucket";
|
||||
$object = "1234+-/123/1.txt";
|
||||
|
||||
$request->add_header("x-oss-head1", "value");
|
||||
$request->add_header("abc", "value");
|
||||
$request->add_header("ZAbc", "value");
|
||||
$request->add_header("XYZ", "value");
|
||||
$request->add_header("content-type", "application/octet-stream");
|
||||
$request->add_header("Date", gmdate('D, d M Y H:i:s \G\M\T', 1702785388));
|
||||
|
||||
$signer = new SignerV4();
|
||||
|
||||
$query = array();
|
||||
$query["param1"] = "value1";
|
||||
$query["+param1"] = "value3";
|
||||
$query["|param1"] = "value4";
|
||||
$query["+param2"] = "";
|
||||
$query["|param2"] = "";
|
||||
$query["param2"] = "";
|
||||
|
||||
$parsed_url = parse_url($request->request_url);
|
||||
$parsed_url['query'] = OssUtil::toQueryString($query);;
|
||||
$request->request_url = OssUtil::unparseUrl($parsed_url);
|
||||
|
||||
$signingOpt = array(
|
||||
'bucket' => $bucket,
|
||||
'key' => $object,
|
||||
'region' => 'cn-hangzhou',
|
||||
'product' => 'oss',
|
||||
'expiration' => 1702785987,
|
||||
);
|
||||
$signer->presign($request, $credentials, $signingOpt);
|
||||
$parsed_url = parse_url($request->request_url);
|
||||
$queryString = isset($parsed_url['query']) ? $parsed_url['query'] : '';
|
||||
$query = array();
|
||||
parse_str($queryString, $query);
|
||||
$this->assertEquals('OSS4-HMAC-SHA256', $query['x-oss-signature-version']);
|
||||
$this->assertEquals('599', $query['x-oss-expires']);
|
||||
$this->assertEquals('ak/20231217/cn-hangzhou/oss/aliyun_v4_request', $query['x-oss-credential']);
|
||||
$this->assertEquals('3817ac9d206cd6dfc90f1c09c00be45005602e55898f26f5ddb06d7892e1f8b5', $query['x-oss-signature']);
|
||||
$this->assertFalse(isset($query['x-oss-additional-headers']));
|
||||
//print($request->request_url);
|
||||
}
|
||||
|
||||
public function testSignerV4PresignWithAdditionalHeaders()
|
||||
{
|
||||
// case 1
|
||||
$credentials = new Credentials("ak", "sk");
|
||||
$request = new RequestCore("http://bucket.oss-cn-hangzhou.aliyuncs.com/1234%2B-/123/1.txt");
|
||||
$request->set_method("PUT");
|
||||
$bucket = "bucket";
|
||||
$object = "1234+-/123/1.txt";
|
||||
|
||||
$request->add_header("x-oss-head1", "value");
|
||||
$request->add_header("abc", "value");
|
||||
$request->add_header("ZAbc", "value");
|
||||
$request->add_header("XYZ", "value");
|
||||
$request->add_header("content-type", "application/octet-stream");
|
||||
$request->add_header("Date", gmdate('D, d M Y H:i:s \G\M\T', 1702783809));
|
||||
|
||||
$signer = new SignerV4();
|
||||
|
||||
$query = array();
|
||||
$query["param1"] = "value1";
|
||||
$query["+param1"] = "value3";
|
||||
$query["|param1"] = "value4";
|
||||
$query["+param2"] = "";
|
||||
$query["|param2"] = "";
|
||||
$query["param2"] = "";
|
||||
|
||||
$parsed_url = parse_url($request->request_url);
|
||||
$parsed_url['query'] = OssUtil::toQueryString($query);;
|
||||
$request->request_url = OssUtil::unparseUrl($parsed_url);
|
||||
|
||||
$signingOpt = array(
|
||||
'bucket' => $bucket,
|
||||
'key' => $object,
|
||||
'region' => 'cn-hangzhou',
|
||||
'product' => 'oss',
|
||||
'expiration' => 1702784408,
|
||||
'additionalHeaders' => array("ZAbc", "abc")
|
||||
);
|
||||
$signer->presign($request, $credentials, $signingOpt);
|
||||
$parsed_url = parse_url($request->request_url);
|
||||
$queryString = isset($parsed_url['query']) ? $parsed_url['query'] : '';
|
||||
$query = array();
|
||||
parse_str($queryString, $query);
|
||||
$this->assertEquals('OSS4-HMAC-SHA256', $query['x-oss-signature-version']);
|
||||
$this->assertEquals('20231217T033009Z', $query['x-oss-date']);
|
||||
$this->assertEquals('599', $query['x-oss-expires']);
|
||||
$this->assertEquals('ak/20231217/cn-hangzhou/oss/aliyun_v4_request', $query['x-oss-credential']);
|
||||
$this->assertEquals('6bd984bfe531afb6db1f7550983a741b103a8c58e5e14f83ea474c2322dfa2b7', $query['x-oss-signature']);
|
||||
$this->assertEquals('abc;zabc', $query['x-oss-additional-headers']);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/StorageCapacityConfigTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/StorageCapacityConfigTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/StorageCapacityTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/StorageCapacityTest.php
vendored
Executable file → Normal file
33
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/StsBase.php
vendored
Normal file
33
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/StsBase.php
vendored
Normal file
@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace OSS\Tests;
|
||||
|
||||
class StsBase
|
||||
{
|
||||
protected $SignatureVersion = "1.0";
|
||||
|
||||
protected $Version = "2015-04-01";
|
||||
|
||||
protected $Timestamp;
|
||||
|
||||
protected $SignatureMethod = "HMAC-SHA1";
|
||||
|
||||
protected $Format = "JSON";
|
||||
|
||||
protected $AccessKeyId;
|
||||
|
||||
protected $SignatureNonce;
|
||||
|
||||
private $Signature;
|
||||
|
||||
public function __set($name, $value)
|
||||
{
|
||||
$this->$name = $value;
|
||||
}
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->Timestamp = gmdate('Y-m-d\TH:i:s\Z');
|
||||
$this->SignatureNonce = time().rand(10000,99999);
|
||||
}
|
||||
}
|
||||
108
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/StsClient.php
vendored
Normal file
108
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/StsClient.php
vendored
Normal file
@ -0,0 +1,108 @@
|
||||
<?php
|
||||
|
||||
namespace OSS\Tests;
|
||||
|
||||
use OSS\Core\OssException;
|
||||
|
||||
require_once __DIR__ . DIRECTORY_SEPARATOR . 'StsBase.php';
|
||||
require_once __DIR__ . DIRECTORY_SEPARATOR . 'AssumeRole.php';
|
||||
|
||||
class StsClient
|
||||
{
|
||||
|
||||
public $AccessSecret;
|
||||
|
||||
|
||||
public function doAction($params, $format="JSON")
|
||||
{
|
||||
$request_url = $this->generateSignedURL($params);
|
||||
|
||||
$response = $this->sendRequest($request_url, $format);
|
||||
|
||||
$result= $this->parseResponse($response, $format);
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
private function sendRequest($url, $format)
|
||||
{
|
||||
$curl_handle = curl_init();
|
||||
|
||||
curl_setopt($curl_handle, CURLOPT_URL, $url);
|
||||
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
|
||||
curl_setopt($curl_handle, CURLOPT_CUSTOMREQUEST, "GET");
|
||||
curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, false);
|
||||
curl_setopt($curl_handle, CURLOPT_SSL_VERIFYHOST,false);
|
||||
curl_setopt($curl_handle, CURLOPT_HEADER, true);
|
||||
|
||||
$response = curl_exec($curl_handle);
|
||||
$headerSize = curl_getinfo($curl_handle, CURLINFO_HEADER_SIZE);
|
||||
$response = substr($response, $headerSize);
|
||||
|
||||
if (curl_getinfo($curl_handle, CURLINFO_HTTP_CODE) != '200') {
|
||||
$errors = $this->parseResponse($response, $format);
|
||||
throw new OssException($errors->Code);
|
||||
}
|
||||
|
||||
curl_close($curl_handle);
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
private function parseResponse($body, $format)
|
||||
{
|
||||
if ("JSON" == $format) {
|
||||
$respObject = json_decode($body);
|
||||
} elseif ("XML" == $format) {
|
||||
$respObject = @simplexml_load_string($body);
|
||||
} elseif ("RAW" == $format) {
|
||||
$respObject = $body;
|
||||
}
|
||||
return $respObject;
|
||||
}
|
||||
|
||||
private function generateSignedURL($arr)
|
||||
{
|
||||
$request_url = 'https://sts.aliyuncs.com/?';
|
||||
|
||||
foreach ($arr as $key=>$item) {
|
||||
if (is_null($item)) unset($arr[$key]);
|
||||
}
|
||||
|
||||
$Signature = $this->computeSignature($arr, $this->AccessSecret);
|
||||
ksort($arr);
|
||||
foreach ($arr as $key => $value) {
|
||||
$request_url .= $key."=".urlencode($value)."&";
|
||||
}
|
||||
$request_url .="Signature=".urlencode($Signature);
|
||||
|
||||
return $request_url;
|
||||
}
|
||||
|
||||
private function computeSignature($parameters, $accessKeySecret)
|
||||
{
|
||||
ksort($parameters);
|
||||
$canonicalizedQueryString = '';
|
||||
foreach ($parameters as $key => $value) {
|
||||
$canonicalizedQueryString .= '&' . $this->percentEncode($key). '=' . $this->percentEncode($value);
|
||||
}
|
||||
$stringToSign = 'GET&%2F&' . $this->percentencode(substr($canonicalizedQueryString, 1));
|
||||
$signature = $this->signString($stringToSign, $accessKeySecret."&");
|
||||
|
||||
return $signature;
|
||||
}
|
||||
|
||||
private function signString($source, $accessSecret)
|
||||
{
|
||||
return base64_encode(hash_hmac('sha1', $source, $accessSecret, true));
|
||||
}
|
||||
|
||||
private function percentEncode($str)
|
||||
{
|
||||
$res = urlencode($str);
|
||||
$res = preg_replace('/\+/', '%20', $res);
|
||||
$res = preg_replace('/\*/', '%2A', $res);
|
||||
$res = preg_replace('/%7E/', '~', $res);
|
||||
return $res;
|
||||
}
|
||||
}
|
||||
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/SymlinkTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/SymlinkTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/TestOssClientBase.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/TestOssClientBase.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/TransferAccelerationConfigTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/TransferAccelerationConfigTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/UploadPartResultTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/UploadPartResultTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/WebsiteConfigTest.php
vendored
Executable file → Normal file
0
vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/WebsiteConfigTest.php
vendored
Executable file → Normal file
Reference in New Issue
Block a user