wiki.techinc.nl/tests/phpunit/includes/filebackend/SwiftFileBackendTest.php
Aaron Schulz 6cef0373c7 Added sanitizeHdrs() tests for Swift
Change-Id: I2e3c3225c729e5220ca16f6ef4518da49e7f721c
2015-07-29 18:57:23 -07:00

91 lines
No EOL
2.4 KiB
PHP

<?php
/**
* @group FileRepo
* @group FileBackend
* @group medium
*/
class SwiftFileBackendTest extends MediaWikiTestCase {
/** @var SwiftFileBackend */
private $backend;
protected function setUp() {
parent::setUp();
$this->backend = TestingAccessWrapper::newFromObject(
new SwiftFileBackend( array(
'name' => 'local-swift-testing',
'class' => 'SwiftFileBackend',
'wikiId' => 'unit-testing',
'lockManager' => LockManagerGroup::singleton()->get( 'fsLockManager' ),
'swiftAuthUrl' => 'http://127.0.0.1:8080/auth', // unused
'swiftUser' => 'test:tester',
'swiftKey' => 'testing',
'swiftTempUrlKey' => 'b3968d0207b54ece87cccc06515a89d4' // unused
) )
);
}
/**
* @dataProvider provider_testSanitzeHdrs
* @covers SwiftFileBackend::sanitzeHdrs
*/
public function testSanitzeHdrs( $raw, $sanitized ) {
$hdrs = $this->backend->sanitizeHdrs( array( 'headers' => $raw ) );
$this->assertEquals( $hdrs, $sanitized, 'sanitizeHdrs() has expected result' );
}
public static function provider_testSanitzeHdrs() {
return array(
array(
array(
'content-length' => 345,
'content-type' => 'image+bitmap/jpeg',
'content-disposition' => 'inline',
'content-duration' => 35.6363,
'content-custom' => 'hello',
'x-content-custom' => 'hello'
),
array(
'content-disposition' => 'inline',
'content-duration' => 35.6363,
'content-custom' => 'hello',
'x-content-custom' => 'hello'
)
),
array(
array(
'content-length' => 345,
'content-type' => 'image+bitmap/jpeg',
'content-disposition' => 'inline; filename=xxx; ' . str_repeat( 'o', 1024 ),
'content-duration' => 35.6363,
'content-custom' => 'hello',
'x-content-custom' => 'hello'
),
array(
'content-disposition' => 'inline;filename=xxx',
'content-duration' => 35.6363,
'content-custom' => 'hello',
'x-content-custom' => 'hello'
)
),
array(
array(
'content-length' => 345,
'content-type' => 'image+bitmap/jpeg',
'content-disposition' => 'filename='. str_repeat( 'o', 1024 ) . ';inline',
'content-duration' => 35.6363,
'content-custom' => 'hello',
'x-content-custom' => 'hello'
),
array(
'content-disposition' => '',
'content-duration' => 35.6363,
'content-custom' => 'hello',
'x-content-custom' => 'hello'
)
)
);
}
}