452 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			452 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			PHP
		
	
	
<?php
 | 
						|
 | 
						|
namespace Qiniu\Tests;
 | 
						|
 | 
						|
use Qiniu\Config;
 | 
						|
use Qiniu\Storage\BucketManager;
 | 
						|
 | 
						|
class BucketTest extends \PHPUnit_Framework_TestCase
 | 
						|
{
 | 
						|
    protected $bucketManager;
 | 
						|
    protected $dummyBucketManager;
 | 
						|
    protected $bucketName;
 | 
						|
    protected $key;
 | 
						|
    protected $key2;
 | 
						|
    protected $customCallbackURL;
 | 
						|
 | 
						|
    protected function setUp()
 | 
						|
    {
 | 
						|
        global $bucketName;
 | 
						|
        global $key;
 | 
						|
        global $key2;
 | 
						|
        $this->bucketName = $bucketName;
 | 
						|
        $this->key = $key;
 | 
						|
        $this->key2 = $key2;
 | 
						|
 | 
						|
        global $customCallbackURL;
 | 
						|
        $this->customCallbackURL = $customCallbackURL;
 | 
						|
 | 
						|
        global $testAuth;
 | 
						|
        $config = new Config();
 | 
						|
        $this->bucketManager = new BucketManager($testAuth, $config);
 | 
						|
 | 
						|
        global $dummyAuth;
 | 
						|
        $this->dummyBucketManager = new BucketManager($dummyAuth);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testBuckets()
 | 
						|
    {
 | 
						|
 | 
						|
        list($list, $error) = $this->bucketManager->buckets();
 | 
						|
        $this->assertTrue(in_array($this->bucketName, $list));
 | 
						|
        $this->assertNull($error);
 | 
						|
 | 
						|
        list($list2, $error) = $this->dummyBucketManager->buckets();
 | 
						|
        $this->assertEquals(401, $error->code());
 | 
						|
        $this->assertNull($list2);
 | 
						|
        $this->assertNotNull($error->message());
 | 
						|
        $this->assertNotNull($error->getResponse());
 | 
						|
    }
 | 
						|
 | 
						|
    public function testListbuckets()
 | 
						|
    {
 | 
						|
        list($ret, $error) = $this->bucketManager->listbuckets('z0');
 | 
						|
        $this->assertNotNull($ret);
 | 
						|
        $this->assertNull($error);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testCreateBucket()
 | 
						|
    {
 | 
						|
        list($ret, $error) = $this->bucketManager->createBucket('phpsdk-ci-test');
 | 
						|
        $this->assertNotNull($ret);
 | 
						|
        $this->assertNull($error);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testDeleteBucket()
 | 
						|
    {
 | 
						|
        list($ret, $error) = $this->bucketManager->deleteBucket('phpsdk-ci-test');
 | 
						|
        $this->assertNotNull($ret);
 | 
						|
        $this->assertNull($error);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testDomains()
 | 
						|
    {
 | 
						|
        list($ret, $error) = $this->bucketManager->domains($this->bucketName);
 | 
						|
        $this->assertNotNull($ret);
 | 
						|
        $this->assertNull($error);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testBucketInfo()
 | 
						|
    {
 | 
						|
        list($ret, $error) = $this->bucketManager->bucketInfo($this->bucketName);
 | 
						|
        $this->assertNotNull($ret);
 | 
						|
        $this->assertNull($error);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testBucketInfos()
 | 
						|
    {
 | 
						|
        list($ret, $error) = $this->bucketManager->bucketInfos('z0');
 | 
						|
        $this->assertNotNull($ret);
 | 
						|
        $this->assertNull($error);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testList()
 | 
						|
    {
 | 
						|
        list($ret, $error) = $this->bucketManager->listFiles($this->bucketName, null, null, 10);
 | 
						|
        $this->assertNotNull($ret['items'][0]);
 | 
						|
        $this->assertNotNull($ret['marker']);
 | 
						|
        $this->assertNull($error);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testListFilesv2()
 | 
						|
    {
 | 
						|
        list($ret, $error) = $this->bucketManager->listFilesv2($this->bucketName, null, null, 10);
 | 
						|
        $this->assertNotNull($ret);
 | 
						|
        $this->assertNull($error);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testBucketLifecycleRule()
 | 
						|
    {
 | 
						|
        list($ret, $error) = $this->bucketManager->bucketLifecycleRule($this->bucketName, 'demo', 'test', 80, 70);
 | 
						|
        $this->assertNotNull($ret);
 | 
						|
        $this->assertNull($error);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testGetbucketLifecycleRule()
 | 
						|
    {
 | 
						|
        list($ret, $error) = $this->bucketManager->getBucketLifecycleRules($this->bucketName);
 | 
						|
        $this->assertNotNull($ret);
 | 
						|
        $this->assertNull($error);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testUpdatebucketLifecycleRule()
 | 
						|
    {
 | 
						|
        list($ret, $error) = $this->bucketManager->updateBucketLifecycleRule(
 | 
						|
            $this->bucketName,
 | 
						|
            'demo',
 | 
						|
            'testupdate',
 | 
						|
            80,
 | 
						|
            70
 | 
						|
        );
 | 
						|
        $this->assertNotNull($ret);
 | 
						|
        $this->assertNull($error);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testDeleteBucketLifecycleRule()
 | 
						|
    {
 | 
						|
        list($ret, $error) = $this->bucketManager->deleteBucketLifecycleRule($this->bucketName, 'demo');
 | 
						|
        $this->assertNotNull($ret);
 | 
						|
        $this->assertNull($error);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testPutBucketEvent()
 | 
						|
    {
 | 
						|
        list($ret, $error) = $this->bucketManager->putBucketEvent(
 | 
						|
            $this->bucketName,
 | 
						|
            'bucketevent',
 | 
						|
            'test',
 | 
						|
            'img',
 | 
						|
            array('copy'),
 | 
						|
            $this->customCallbackURL
 | 
						|
        );
 | 
						|
        $this->assertNotNull($ret);
 | 
						|
        $this->assertNull($error);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testUpdateBucketEvent()
 | 
						|
    {
 | 
						|
        list($ret, $error) = $this->bucketManager->updateBucketEvent(
 | 
						|
            $this->bucketName,
 | 
						|
            'bucketevent',
 | 
						|
            'test',
 | 
						|
            'video',
 | 
						|
            array('copy'),
 | 
						|
            $this->customCallbackURL
 | 
						|
        );
 | 
						|
        $this->assertNotNull($ret);
 | 
						|
        $this->assertNull($error);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testGetBucketEvent()
 | 
						|
    {
 | 
						|
        list($ret, $error) = $this->bucketManager->getBucketEvents($this->bucketName);
 | 
						|
        $this->assertNotNull($ret);
 | 
						|
        $this->assertNull($error);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testDeleteBucketEvent()
 | 
						|
    {
 | 
						|
        list($ret, $error) = $this->bucketManager->deleteBucketEvent($this->bucketName, 'bucketevent');
 | 
						|
        $this->assertNotNull($ret);
 | 
						|
        $this->assertNull($error);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testStat()
 | 
						|
    {
 | 
						|
        list($stat, $error) = $this->bucketManager->stat($this->bucketName, $this->key);
 | 
						|
        $this->assertNotNull($stat);
 | 
						|
        $this->assertNull($error);
 | 
						|
        $this->assertNotNull($stat['hash']);
 | 
						|
 | 
						|
        list($stat, $error) = $this->bucketManager->stat($this->bucketName, 'nofile');
 | 
						|
        $this->assertNull($stat);
 | 
						|
        $this->assertEquals(612, $error->code());
 | 
						|
        $this->assertNotNull($error->message());
 | 
						|
 | 
						|
        list($stat, $error) = $this->bucketManager->stat('nobucket', 'nofile');
 | 
						|
        $this->assertNull($stat);
 | 
						|
        $this->assertEquals(631, $error->code());
 | 
						|
        $this->assertNotNull($error->message());
 | 
						|
    }
 | 
						|
 | 
						|
    public function testDelete()
 | 
						|
    {
 | 
						|
        list($ret, $error) = $this->bucketManager->delete($this->bucketName, 'del');
 | 
						|
        $this->assertNull($ret);
 | 
						|
        $this->assertNotNull($error);
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    public function testRename()
 | 
						|
    {
 | 
						|
        $key = 'renamefrom' . rand();
 | 
						|
        $this->bucketManager->copy($this->bucketName, $this->key, $this->bucketName, $key);
 | 
						|
        $key2 = 'renameto' . $key;
 | 
						|
        list($ret, $error) = $this->bucketManager->rename($this->bucketName, $key, $key2);
 | 
						|
        $this->assertNull($error);
 | 
						|
        list($ret, $error) = $this->bucketManager->delete($this->bucketName, $key2);
 | 
						|
        $this->assertNull($error);
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    public function testCopy()
 | 
						|
    {
 | 
						|
        $key = 'copyto' . rand();
 | 
						|
        $this->bucketManager->delete($this->bucketName, $key);
 | 
						|
 | 
						|
        list($ret, $error) = $this->bucketManager->copy(
 | 
						|
            $this->bucketName,
 | 
						|
            $this->key,
 | 
						|
            $this->bucketName,
 | 
						|
            $key
 | 
						|
        );
 | 
						|
        $this->assertNull($error);
 | 
						|
 | 
						|
        //test force copy
 | 
						|
        list($ret, $error) = $this->bucketManager->copy(
 | 
						|
            $this->bucketName,
 | 
						|
            $this->key2,
 | 
						|
            $this->bucketName,
 | 
						|
            $key,
 | 
						|
            true
 | 
						|
        );
 | 
						|
        $this->assertNull($error);
 | 
						|
 | 
						|
        list($key2Stat,) = $this->bucketManager->stat($this->bucketName, $this->key2);
 | 
						|
        list($key2CopiedStat,) = $this->bucketManager->stat($this->bucketName, $key);
 | 
						|
 | 
						|
        $this->assertEquals($key2Stat['hash'], $key2CopiedStat['hash']);
 | 
						|
 | 
						|
        list($ret, $error) = $this->bucketManager->delete($this->bucketName, $key);
 | 
						|
        $this->assertNull($error);
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    public function testChangeMime()
 | 
						|
    {
 | 
						|
        list($ret, $error) = $this->bucketManager->changeMime(
 | 
						|
            $this->bucketName,
 | 
						|
            'php-sdk.html',
 | 
						|
            'text/html'
 | 
						|
        );
 | 
						|
        $this->assertNull($error);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testPrefetch()
 | 
						|
    {
 | 
						|
        list($ret, $error) = $this->bucketManager->prefetch(
 | 
						|
            $this->bucketName,
 | 
						|
            'php-sdk.html'
 | 
						|
        );
 | 
						|
        $this->assertNull($error);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testFetch()
 | 
						|
    {
 | 
						|
        list($ret, $error) = $this->bucketManager->fetch(
 | 
						|
            'http://developer.qiniu.com/docs/v6/sdk/php-sdk.html',
 | 
						|
            $this->bucketName,
 | 
						|
            'fetch.html'
 | 
						|
        );
 | 
						|
        $this->assertArrayHasKey('hash', $ret);
 | 
						|
        $this->assertNull($error);
 | 
						|
 | 
						|
        list($ret, $error) = $this->bucketManager->fetch(
 | 
						|
            'http://developer.qiniu.com/docs/v6/sdk/php-sdk.html',
 | 
						|
            $this->bucketName,
 | 
						|
            ''
 | 
						|
        );
 | 
						|
        $this->assertArrayHasKey('key', $ret);
 | 
						|
        $this->assertNull($error);
 | 
						|
 | 
						|
        list($ret, $error) = $this->bucketManager->fetch(
 | 
						|
            'http://developer.qiniu.com/docs/v6/sdk/php-sdk.html',
 | 
						|
            $this->bucketName
 | 
						|
        );
 | 
						|
        $this->assertArrayHasKey('key', $ret);
 | 
						|
        $this->assertNull($error);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testAsynchFetch()
 | 
						|
    {
 | 
						|
        list($ret, $error) = $this->bucketManager->asynchFetch(
 | 
						|
            'http://devtools.qiniu.com/qiniu.png',
 | 
						|
            $this->bucketName,
 | 
						|
            null,
 | 
						|
            'qiniu.png'
 | 
						|
        );
 | 
						|
        $this->assertArrayHasKey('id', $ret);
 | 
						|
        $this->assertNull($error);
 | 
						|
 | 
						|
        list($ret, $error) = $this->bucketManager->asynchFetch(
 | 
						|
            'http://devtools.qiniu.com/qiniu.png',
 | 
						|
            $this->bucketName,
 | 
						|
            null,
 | 
						|
            ''
 | 
						|
        );
 | 
						|
        $this->assertArrayHasKey('id', $ret);
 | 
						|
        $this->assertNull($error);
 | 
						|
 | 
						|
        list($ret, $error) = $this->bucketManager->asynchFetch(
 | 
						|
            'http://devtools.qiniu.com/qiniu.png',
 | 
						|
            $this->bucketName
 | 
						|
        );
 | 
						|
        $this->assertArrayHasKey('id', $ret);
 | 
						|
        $this->assertNull($error);
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    public function testBatchCopy()
 | 
						|
    {
 | 
						|
        $key = 'copyto' . rand();
 | 
						|
        $ops = BucketManager::buildBatchCopy(
 | 
						|
            $this->bucketName,
 | 
						|
            array($this->key => $key),
 | 
						|
            $this->bucketName,
 | 
						|
            true
 | 
						|
        );
 | 
						|
        list($ret, $error) = $this->bucketManager->batch($ops);
 | 
						|
        $this->assertEquals(200, $ret[0]['code']);
 | 
						|
        $ops = BucketManager::buildBatchDelete($this->bucketName, array($key));
 | 
						|
        list($ret, $error) = $this->bucketManager->batch($ops);
 | 
						|
        $this->assertEquals(200, $ret[0]['code']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testBatchMove()
 | 
						|
    {
 | 
						|
        $key = 'movefrom' . rand();
 | 
						|
        $this->bucketManager->copy($this->bucketName, $this->key, $this->bucketName, $key);
 | 
						|
        $key2 = $key . 'to';
 | 
						|
        $ops = BucketManager::buildBatchMove(
 | 
						|
            $this->bucketName,
 | 
						|
            array($key => $key2),
 | 
						|
            $this->bucketName,
 | 
						|
            true
 | 
						|
        );
 | 
						|
        list($ret, $error) = $this->bucketManager->batch($ops);
 | 
						|
        $this->assertEquals(200, $ret[0]['code']);
 | 
						|
        list($ret, $error) = $this->bucketManager->delete($this->bucketName, $key2);
 | 
						|
        $this->assertNull($error);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testBatchRename()
 | 
						|
    {
 | 
						|
        $key = 'rename' . rand();
 | 
						|
        $this->bucketManager->copy($this->bucketName, $this->key, $this->bucketName, $key);
 | 
						|
        $key2 = $key . 'to';
 | 
						|
        $ops = BucketManager::buildBatchRename($this->bucketName, array($key => $key2), true);
 | 
						|
        list($ret, $error) = $this->bucketManager->batch($ops);
 | 
						|
        $this->assertEquals(200, $ret[0]['code']);
 | 
						|
        list($ret, $error) = $this->bucketManager->delete($this->bucketName, $key2);
 | 
						|
        $this->assertNull($error);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testBatchStat()
 | 
						|
    {
 | 
						|
        $ops = BucketManager::buildBatchStat($this->bucketName, array('php-sdk.html'));
 | 
						|
        list($ret, $error) = $this->bucketManager->batch($ops);
 | 
						|
        $this->assertEquals(200, $ret[0]['code']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testDeleteAfterDays()
 | 
						|
    {
 | 
						|
        $key = rand();
 | 
						|
        list($ret, $error) = $this->bucketManager->deleteAfterDays($this->bucketName, $key, 1);
 | 
						|
        $this->assertNotNull($error);
 | 
						|
 | 
						|
        $this->bucketManager->copy($this->bucketName, $this->key, $this->bucketName, $key);
 | 
						|
        list($ret, $error) = $this->bucketManager->deleteAfterDays($this->bucketName, $key, 1);
 | 
						|
        $this->assertEquals(null, $ret);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testGetCorsRules()
 | 
						|
    {
 | 
						|
        list($ret, $err) = $this->bucketManager->getCorsRules($this->bucketName);
 | 
						|
        $this->assertNull($err);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testPutBucketAccessStyleMode()
 | 
						|
    {
 | 
						|
        list($ret, $err) = $this->bucketManager->putBucketAccessStyleMode($this->bucketName, 0);
 | 
						|
        $this->assertNull($err);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testPutBucketAccessMode()
 | 
						|
    {
 | 
						|
        list($ret, $err) = $this->bucketManager->putBucketAccessMode($this->bucketName, 0);
 | 
						|
        $this->assertNull($err);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testPutReferAntiLeech()
 | 
						|
    {
 | 
						|
        list($ret, $err) = $this->bucketManager->putReferAntiLeech($this->bucketName, 0, "1", "*");
 | 
						|
        $this->assertNull($err);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testPutBucketMaxAge()
 | 
						|
    {
 | 
						|
        list($ret, $err) = $this->bucketManager->putBucketMaxAge($this->bucketName, 31536000);
 | 
						|
        $this->assertNull($err);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testPutBucketQuota()
 | 
						|
    {
 | 
						|
        list($ret, $err) = $this->bucketManager->putBucketQuota($this->bucketName, -1, -1);
 | 
						|
        $this->assertNull($err);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testGetBucketQuota()
 | 
						|
    {
 | 
						|
        list($ret, $err) = $this->bucketManager->getBucketQuota($this->bucketName);
 | 
						|
        $this->assertNull($err);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testChangeType()
 | 
						|
    {
 | 
						|
        list($ret, $err) = $this->bucketManager->changeType($this->bucketName, $this->key, 0);
 | 
						|
        $this->assertNull($err);
 | 
						|
 | 
						|
        list($ret, $err) = $this->bucketManager->changeType($this->bucketName, $this->key, 1);
 | 
						|
        $this->assertNull($err);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testChangeStatus()
 | 
						|
    {
 | 
						|
        list($ret, $err) = $this->bucketManager->changeStatus($this->bucketName, $this->key, 1);
 | 
						|
        $this->assertNull($err);
 | 
						|
 | 
						|
        list($ret, $err) = $this->bucketManager->changeStatus($this->bucketName, $this->key, 0);
 | 
						|
        $this->assertNull($err);
 | 
						|
    }
 | 
						|
}
 |