jonathangreen
12 years ago
3 changed files with 161 additions and 1 deletions
@ -1,3 +1,4 @@ |
|||||||
You can define your own configurations specific to your enviroment by copying |
You can define your own configurations specific to your enviroment by copying |
||||||
default.test_config.ini to test_config.ini, making your changes in the copied |
default.test_config.ini to test_config.ini, making your changes in the copied |
||||||
file. |
file. These test need write access to the system's $FEDORA_HOME/server/config |
||||||
|
directory as well as the filter-drupal.xml file. |
@ -0,0 +1,7 @@ |
|||||||
|
name = Islandora Hook testing |
||||||
|
description = Tests Hooks. Do not enable. |
||||||
|
core = 7.x |
||||||
|
package = Testing |
||||||
|
hidden = TRUE |
||||||
|
dependencies[] = islandora |
||||||
|
files[] = islandora_hooks_test.module |
@ -0,0 +1,152 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Implements hooks that get tested by islandora_hooks.test |
||||||
|
*/ |
||||||
|
|
||||||
|
/** |
||||||
|
* Implements hook_islandora_object_alter(). |
||||||
|
*/ |
||||||
|
function islandora_hooks_test_islandora_object_alter(AbstractFedoraObject $object, array &$context) { |
||||||
|
switch ($context['action']) { |
||||||
|
case 'ingest': |
||||||
|
if ($object->id == 'test:testIngestedObjectHook') { |
||||||
|
$_SESSION['islandora_hooks']['alter'][ISLANDORA_OBJECT_INGESTED_HOOK] = TRUE; |
||||||
|
if ($object->label == 'block') { |
||||||
|
$context['block'] = TRUE; |
||||||
|
} |
||||||
|
} |
||||||
|
break; |
||||||
|
|
||||||
|
case 'modify': |
||||||
|
if ($object->id == 'test:testModifiedObjectHook') { |
||||||
|
$_SESSION['islandora_hooks']['alter'][ISLANDORA_OBJECT_MODIFIED_HOOK] = TRUE; |
||||||
|
if (isset($context['params']['label']) && $context['params']['label'] == 'block') { |
||||||
|
$context['block'] = TRUE; |
||||||
|
} |
||||||
|
} |
||||||
|
elseif ($object->id == 'test:testPurgedObjectHook') { |
||||||
|
$_SESSION['islandora_hooks']['alter'][ISLANDORA_OBJECT_PURGED_HOOK] = TRUE; |
||||||
|
if (isset($context['params']['label']) && $context['params']['label'] == 'block') { |
||||||
|
$context['block'] = TRUE; |
||||||
|
} |
||||||
|
elseif (isset($context['params']['label']) && $context['params']['label'] == 'delete') { |
||||||
|
$context['delete'] = TRUE; |
||||||
|
} |
||||||
|
} |
||||||
|
break; |
||||||
|
|
||||||
|
case 'purge': |
||||||
|
if ($object->id == 'test:testPurgedObjectHook') { |
||||||
|
$_SESSION['islandora_hooks']['alter'][ISLANDORA_OBJECT_PURGED_HOOK] = TRUE; |
||||||
|
if ($object->label == 'block') { |
||||||
|
$context['block'] = TRUE; |
||||||
|
} |
||||||
|
elseif ($object->label == 'delete') { |
||||||
|
$context['delete'] = TRUE; |
||||||
|
} |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Implements hook_islandora_object_alter(). |
||||||
|
*/ |
||||||
|
function islandora_hooks_test_islandora_datastream_alter(AbstractFedoraObject $object, AbstractFedoraDatastream $datastream, array &$context) { |
||||||
|
switch ($context['action']) { |
||||||
|
case 'ingest': |
||||||
|
if ($object->id == 'test:testIngestedDatastreamHook') { |
||||||
|
$_SESSION['islandora_hooks']['alter'][ISLANDORA_DATASTREAM_INGESTED_HOOK] = TRUE; |
||||||
|
if ($datastream->label == 'block') { |
||||||
|
$context['block'] = TRUE; |
||||||
|
} |
||||||
|
} |
||||||
|
break; |
||||||
|
|
||||||
|
case 'modify': |
||||||
|
if ($object->id == 'test:testModifiedDatastreamHook') { |
||||||
|
$_SESSION['islandora_hooks']['alter'][ISLANDORA_DATASTREAM_MODIFIED_HOOK] = TRUE; |
||||||
|
if (isset($context['params']['dsLabel']) && $context['params']['dsLabel'] == 'block') { |
||||||
|
$context['block'] = TRUE; |
||||||
|
} |
||||||
|
} |
||||||
|
elseif ($object->id == 'test:testPurgedDatastreamHook') { |
||||||
|
$_SESSION['islandora_hooks']['alter'][ISLANDORA_DATASTREAM_PURGED_HOOK] = TRUE; |
||||||
|
if (isset($context['params']['dsLabel']) && $context['params']['dsLabel'] == 'block') { |
||||||
|
$context['block'] = TRUE; |
||||||
|
} |
||||||
|
elseif (isset($context['params']['dsLabel']) && $context['params']['dsLabel'] == 'delete') { |
||||||
|
$context['delete'] = TRUE; |
||||||
|
} |
||||||
|
} |
||||||
|
break; |
||||||
|
|
||||||
|
case 'purge': |
||||||
|
if ($object->id == 'test:testPurgedDatastreamHook') { |
||||||
|
$_SESSION['islandora_hooks']['alter'][ISLANDORA_DATASTREAM_PURGED_HOOK] = TRUE; |
||||||
|
if ($datastream->label == 'block') { |
||||||
|
$context['block'] = TRUE; |
||||||
|
} |
||||||
|
elseif ($datastream->label == 'delete') { |
||||||
|
$context['delete'] = TRUE; |
||||||
|
} |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Implements hook_islandora_object_ingested(). |
||||||
|
*/ |
||||||
|
function islandora_hooks_test_islandora_object_ingested(FedoraObject $object) { |
||||||
|
if ($object->id == 'test:testIngestedObjectHook') { |
||||||
|
$_SESSION['islandora_hooks']['hook'][ISLANDORA_OBJECT_INGESTED_HOOK] = TRUE; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Implements hook_islandora_object_modified(). |
||||||
|
*/ |
||||||
|
function islandora_hooks_test_islandora_object_modified(FedoraObject $object) { |
||||||
|
if ($object->id == 'test:testModifiedObjectHook') { |
||||||
|
$_SESSION['islandora_hooks']['hook'][ISLANDORA_OBJECT_MODIFIED_HOOK] = TRUE; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Implements hook_islandora_object_purged(). |
||||||
|
*/ |
||||||
|
function islandora_hooks_test_islandora_object_purged($pid) { |
||||||
|
if ($pid == 'test:testPurgedObjectHook') { |
||||||
|
$_SESSION['islandora_hooks']['hook'][ISLANDORA_OBJECT_PURGED_HOOK] = TRUE; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Implements hook_islandora_datastream_ingested(). |
||||||
|
*/ |
||||||
|
function islandora_hooks_test_islandora_datastream_ingested(FedoraObject $object, FedoraDatastream $datastream) { |
||||||
|
if ($object->id == 'test:testIngestedDatastreamHook' && $datastream->id == "TEST") { |
||||||
|
$_SESSION['islandora_hooks']['hook'][ISLANDORA_DATASTREAM_INGESTED_HOOK] = TRUE; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Implements hook_islandora_datastream_modified(). |
||||||
|
*/ |
||||||
|
function islandora_hooks_test_islandora_datastream_modified(FedoraObject $object, FedoraDatastream $datastream) { |
||||||
|
if ($object->id == 'test:testModifiedDatastreamHook' && $datastream->id == "TEST") { |
||||||
|
$_SESSION['islandora_hooks']['hook'][ISLANDORA_DATASTREAM_MODIFIED_HOOK] = TRUE; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Implements hook_islandora_datastream_purged(). |
||||||
|
*/ |
||||||
|
function islandora_hooks_test_islandora_datastream_purged(FedoraObject $object, $dsid) { |
||||||
|
if ($object->id == 'test:testPurgedDatastreamHook' && $dsid == "TEST") { |
||||||
|
$_SESSION['islandora_hooks']['hook'][ISLANDORA_DATASTREAM_PURGED_HOOK] = TRUE; |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue