Adam Vessey
11 years ago
2 changed files with 90 additions and 0 deletions
@ -0,0 +1,89 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Tests to see if the hooks get called when appropriate. |
||||||
|
* |
||||||
|
* In the test module 'islandora_hooked_access_test' there are implementations |
||||||
|
* of hooks being tested. These implementations modifies the session, and |
||||||
|
* that's how we test if the hook gets called. |
||||||
|
* |
||||||
|
* To make sense of these tests reference islandora_hooked_access_test.module. |
||||||
|
*/ |
||||||
|
|
||||||
|
class IslandoraManageTempfileTestCase extends IslandoraWebTestCase { |
||||||
|
|
||||||
|
/** |
||||||
|
* Gets info to display to describe this test. |
||||||
|
* |
||||||
|
* @see IslandoraWebTestCase::getInfo() |
||||||
|
*/ |
||||||
|
public static function getInfo() { |
||||||
|
return array( |
||||||
|
'name' => 'Islandora Managed Tempfile Interface', |
||||||
|
'description' => 'Ensure that our managed tempfile interface returns appropriate results.', |
||||||
|
'group' => 'Islandora', |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Creates an admin user and a connection to a fedora repository. |
||||||
|
* |
||||||
|
* @see IslandoraWebTestCase::setUp() |
||||||
|
*/ |
||||||
|
public function setUp() { |
||||||
|
parent::setUp('islandora'); |
||||||
|
$this->tempUri = file_create_filename('temp.txt', 'temporary://'); |
||||||
|
$this->publicUri = file_create_filename('temp.txt', 'public://'); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Free any objects/resources created for this test. |
||||||
|
* |
||||||
|
* @see IslandoraWebTestCase::tearDown() |
||||||
|
*/ |
||||||
|
public function tearDown() { |
||||||
|
parent::tearDown(); |
||||||
|
file_unmanaged_delete($this->tempUri); |
||||||
|
file_unmanaged_delete($this->publicUri); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Existing files are made temporary. |
||||||
|
*/ |
||||||
|
public function testExistingFile() { |
||||||
|
$temp_file = file_save_data('blah', $this->tempUri, FILE_EXISTS_REPLACE); |
||||||
|
$public_file = file_save_data('blah', $this->publicUri, FILE_EXISTS_REPLACE); |
||||||
|
|
||||||
|
$this->existingFileHelper($temp_file); |
||||||
|
$this->existingFileHelper($public_file); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Helper function; ensure file is permanent (as file_save_data() creates). |
||||||
|
*/ |
||||||
|
protected function existingFileHelper($file_object) { |
||||||
|
$this->assertEqual($file_object->status & FILE_STATUS_PERMANENT, FILE_STATUS_PERMANENT, 'Existing file is permanent.'); |
||||||
|
$this->baseFileHelper($file_object->uri); |
||||||
|
$this->assertTrue(file_delete($file_object)); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Helper function; ensure our function produces an temporary file object. |
||||||
|
*/ |
||||||
|
protected function baseFileHelper($file_uri) { |
||||||
|
$temp_file = islandora_temp_file_entry($file_uri); |
||||||
|
$this->assertNotEqual($temp_file->status & FILE_STATUS_PERMANENT, FILE_STATUS_PERMANENT, 'File has been made temporary.'); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Unmanaged files start being managed. |
||||||
|
*/ |
||||||
|
public function testNewFileUri() { |
||||||
|
file_put_contents($this->tempUri, 'test'); |
||||||
|
file_put_contents($this->publicUri, 'test'); |
||||||
|
|
||||||
|
$this->baseFileHelper($this->tempUri); |
||||||
|
$this->baseFileHelper($this->publicUri); |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue