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);
 | |
|     }
 | |
| }
 |