You've already forked qlg.tsgz.moe
addons
app_download_files
extend
hyhproject
mobile
oss
static
thinkphp
upload
vendor
5ini99
composer
oss-sdk
samples
src
tests
OSS
Tests
AclResultTest.php
BodyResultTest.php
BucketCnameTest.php
BucketInfoTest.php
BucketLiveChannelTest.php
CallbackTest.php
CnameConfigTest.php
Common.php
ContentTypeTest.php
CopyObjectResult.php
CorsConfigTest.php
ExistResultTest.php
GetCorsResultTest.php
GetLifecycleResultTest.php
GetLoggingResultTest.php
GetRefererResultTest.php
GetWebsiteResultTest.php
HeaderResultTest.php
HttpTest.php
InitiateMultipartUploadResultTest.php
LifecycleConfigTest.php
ListBucketsResultTest.php
ListMultipartUploadResultTest.php
ListObjectsResultTest.php
ListPartsResultTest.php
LiveChannelXmlTest.php
LoggingConfigTest.php
MimeTypesTest.php
ObjectAclTest.php
OssClientBucketCorsTest.php
OssClientBucketLifecycleTest.php
OssClientBucketLoggingTest.php
OssClientBucketRefererTest.php
OssClientBucketStorageCapacityTest.php
OssClientBucketTest.php
OssClientBucketWebsiteTest.php
OssClientImageTest.php
OssClientMultipartUploadTest.php
OssClientObjectTest.php
OssClientRestoreObjectTest.php
OssClientSignatureTest.php
OssClientTest.php
OssExceptionTest.php
OssUtilTest.php
PutSetDeleteResultTest.php
RefererConfigTest.php
StorageCapacityTest.php
SymlinkTest.php
TestOssClientBase.php
UploadPartResultTest.php
WebsiteConfigTest.php
.coveralls.yml
.gitignore
.travis.yml
CHANGELOG.md
LICENSE.md
README-CN.md
README.md
autoload.php
build-phar.sh
composer.json
example.jpg
index.php
phpunit.xml
swoole
wechat
.htaccess
autoload.php
wxtmp
.gitignore
.htaccess
.user.ini
404.html
H5436787D.wgt
admin.php
app-release.apk
app_download.html
cash.lock
demo.php
get_startup.php
get_version.php
get_version_new.php
index.html
index.php
reg.lock
robots.txt
131 lines
4.7 KiB
PHP
Executable File
131 lines
4.7 KiB
PHP
Executable File
<?php
|
|
|
|
namespace OSS\Tests;
|
|
|
|
use OSS\Core\OssException;
|
|
use OSS\Model\LifecycleAction;
|
|
use OSS\Model\LifecycleConfig;
|
|
use OSS\Model\LifecycleRule;
|
|
|
|
class LifecycleConfigTest extends \PHPUnit_Framework_TestCase
|
|
{
|
|
|
|
private $validLifecycle = <<<BBBB
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
<LifecycleConfiguration>
|
|
<Rule>
|
|
<ID>delete obsoleted files</ID>
|
|
<Prefix>obsoleted/</Prefix>
|
|
<Status>Enabled</Status>
|
|
<Expiration><Days>3</Days></Expiration>
|
|
</Rule>
|
|
<Rule>
|
|
<ID>delete temporary files</ID>
|
|
<Prefix>temporary/</Prefix>
|
|
<Status>Enabled</Status>
|
|
<Expiration><Date>2022-10-12T00:00:00.000Z</Date></Expiration>
|
|
<Expiration2><Date>2022-10-12T00:00:00.000Z</Date></Expiration2>
|
|
</Rule>
|
|
</LifecycleConfiguration>
|
|
BBBB;
|
|
|
|
private $validLifecycle2 = <<<BBBB
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
<LifecycleConfiguration>
|
|
<Rule><ID>delete temporary files</ID>
|
|
<Prefix>temporary/</Prefix>
|
|
<Status>Enabled</Status>
|
|
<Expiration><Date>2022-10-12T00:00:00.000Z</Date></Expiration>
|
|
<Expiration2><Date>2022-10-12T00:00:00.000Z</Date></Expiration2>
|
|
</Rule>
|
|
</LifecycleConfiguration>
|
|
BBBB;
|
|
|
|
private $nullLifecycle = <<<BBBB
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
<LifecycleConfiguration/>
|
|
BBBB;
|
|
|
|
public function testConstructValidConfig()
|
|
{
|
|
$lifecycleConfig = new LifecycleConfig();
|
|
$actions = array();
|
|
$actions[] = new LifecycleAction("Expiration", "Days", 3);
|
|
$lifecycleRule = new LifecycleRule("delete obsoleted files", "obsoleted/", "Enabled", $actions);
|
|
$lifecycleConfig->addRule($lifecycleRule);
|
|
$actions = array();
|
|
$actions[] = new LifecycleAction("Expiration", "Date", '2022-10-12T00:00:00.000Z');
|
|
$actions[] = new LifecycleAction("Expiration2", "Date", '2022-10-12T00:00:00.000Z');
|
|
$lifecycleRule = new LifecycleRule("delete temporary files", "temporary/", "Enabled", $actions);
|
|
$lifecycleConfig->addRule($lifecycleRule);
|
|
try {
|
|
$lifecycleConfig->addRule(null);
|
|
$this->assertFalse(true);
|
|
} catch (OssException $e) {
|
|
$this->assertEquals('lifecycleRule is null', $e->getMessage());
|
|
}
|
|
$this->assertEquals($this->cleanXml(strval($lifecycleConfig)), $this->cleanXml($this->validLifecycle));
|
|
}
|
|
|
|
public function testParseValidXml()
|
|
{
|
|
$lifecycleConfig = new LifecycleConfig();
|
|
$lifecycleConfig->parseFromXml($this->validLifecycle);
|
|
$this->assertEquals($this->cleanXml($lifecycleConfig->serializeToXml()), $this->cleanXml($this->validLifecycle));
|
|
$this->assertEquals(2, count($lifecycleConfig->getRules()));
|
|
$rules = $lifecycleConfig->getRules();
|
|
$this->assertEquals('delete temporary files', $rules[1]->getId());
|
|
}
|
|
|
|
public function testParseValidXml2()
|
|
{
|
|
$lifecycleConfig = new LifecycleConfig();
|
|
$lifecycleConfig->parseFromXml($this->validLifecycle2);
|
|
$this->assertEquals($this->cleanXml($lifecycleConfig->serializeToXml()), $this->cleanXml($this->validLifecycle2));
|
|
$this->assertEquals(1, count($lifecycleConfig->getRules()));
|
|
$rules = $lifecycleConfig->getRules();
|
|
$this->assertEquals('delete temporary files', $rules[0]->getId());
|
|
}
|
|
|
|
public function testParseNullXml()
|
|
{
|
|
$lifecycleConfig = new LifecycleConfig();
|
|
$lifecycleConfig->parseFromXml($this->nullLifecycle);
|
|
$this->assertEquals($this->cleanXml($lifecycleConfig->serializeToXml()), $this->cleanXml($this->nullLifecycle));
|
|
$this->assertEquals(0, count($lifecycleConfig->getRules()));
|
|
}
|
|
|
|
public function testLifecycleRule()
|
|
{
|
|
$lifecycleRule = new LifecycleRule("x", "x", "x", array('x'));
|
|
$lifecycleRule->setId("id");
|
|
$lifecycleRule->setPrefix("prefix");
|
|
$lifecycleRule->setStatus("Enabled");
|
|
$lifecycleRule->setActions(array());
|
|
|
|
$this->assertEquals('id', $lifecycleRule->getId());
|
|
$this->assertEquals('prefix', $lifecycleRule->getPrefix());
|
|
$this->assertEquals('Enabled', $lifecycleRule->getStatus());
|
|
$this->assertEmpty($lifecycleRule->getActions());
|
|
}
|
|
|
|
public function testLifecycleAction()
|
|
{
|
|
$action = new LifecycleAction('x', 'x', 'x');
|
|
$this->assertEquals($action->getAction(), 'x');
|
|
$this->assertEquals($action->getTimeSpec(), 'x');
|
|
$this->assertEquals($action->getTimeValue(), 'x');
|
|
$action->setAction('y');
|
|
$action->setTimeSpec('y');
|
|
$action->setTimeValue('y');
|
|
$this->assertEquals($action->getAction(), 'y');
|
|
$this->assertEquals($action->getTimeSpec(), 'y');
|
|
$this->assertEquals($action->getTimeValue(), 'y');
|
|
}
|
|
|
|
private function cleanXml($xml)
|
|
{
|
|
return str_replace("\n", "", str_replace("\r", "", $xml));
|
|
}
|
|
}
|