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