owl_fs_root/lib/subscriptions/SubscriptionManager.inc");
$oSubscriptionManager = new SubscriptionManager();
echo "Testing folder subscriptions
";
$iFolderID = 1;
$iUserID = 1;
echo "
- Testing folder subscription creation with folderID=$iFolderID, userID=$iUserID :";
if ($oSubscriptionManager->createFolderSubscription($iFolderID, $iUserID)) {
echo "Passed creating folder subscription
";
echo "- Testing folder subscription removal with folderID=$iFolderID, userID=$iUserID :";
if ($oSubscriptionManager->removeFolderSubscription($iFolderID, $iUserID)) {
echo "Passed removing folder subscription
";
} else {
echo "Failed removing folder subscription(" . $_SESSION["errorMessage"] . ")";
}
} else {
echo "Failed creating folder subscription(" . $_SESSION["errorMessage"] . ")- Skipped folder subscription removal
";
}
echo "
Testing document subscriptions
";
$iDocumentID = 2;
$iUserID = 1;
echo "- Testing document subscription creation with documentID=$iDocumentID, userID=$iUserID :";
if ($oSubscriptionManager->createDocumentSubscription($iDocumentID, $iUserID)) {
echo "Passed creating document subscription
";
echo "- Testing document subscription removal with documentID=$iDocumentID, userID=$iUserID :";
if ($oSubscriptionManager->removeDocumentSubscription($iDocumentID, $iUserID)) {
echo "Passed removing document subscription
";
} else {
echo "Failed removing document subscription(" . $_SESSION["errorMessage"] . ")";
}
} else {
echo "Failed creating document subscription(" . $_SESSION["errorMessage"] . ")- Skipped document subscription removal
";
}
echo "Testing subscription retrieval
";
// first create some subscriptions
$iUserID = 10;
echo "- Creating folder subscriptions
";
for ($i = 1; $i<=5; $i++) {
if ($oSubscriptionManager->createFolderSubscription($i, $iUserID)) {
echo "- created folder subscription folderID=$i for userID=$iUserID
";
} else {
echo "- folder subscription creation failed(" . $_SESSION["errorMessage"] . "): folderID=$i for userID=$iUserID
";
}
}
echo "
";
echo "Creating document subscriptions";
for ($i = 5; $i>0; $i--) {
if ($oSubscriptionManager->createDocumentSubscription($i, $iUserID)) {
echo "- created document subscription documentID=$i for userID=$iUserID
";
} else {
echo "- document subscription creation failed(" . $_SESSION["errorMessage"] . "): documentID=$i for userID=$iUserID
";
}
}
echo "
";
// now try to retrieve them
echo "folder subscriptions for userID=$iUserID:";
$aFolders = $oSubscriptionManager->retrieveFolderSubscriptions($iUserID);
echo "" . arrayToString($aFolders) . "
";
echo "document subscriptions for userID=$iUserID:";
$aDocuments = $oSubscriptionManager->retrieveDocumentSubscriptions($iUserID);
echo "" . arrayToString($aDocuments) . "
";
// now try retrieving both
echo "all subscriptions for userID=$iUserID:";
$oResults = $oSubscriptionManager->retrieveSubscriptions($iUserID);
echo "" . arrayToString($oResults) . "
";
echo "";
// test subscribers retrieval methods
echo "Testing subscriber retrieval
";
// add some subscriptions
$iDocumentID = 4;
$iFolderID = 20;
for ($i = 5; $i>0; $i--) {
if ($oSubscriptionManager->createFolderSubscription($iFolderID, $i)) {
echo "created folder subscription folderID=$iFolderID for userID=$i";
} else {
echo "folder creation failed(" . $_SESSION["errorMessage"] . "): folderID=$iFolderID for userID=$i";
}
if ($oSubscriptionManager->createDocumentSubscription($iDocumentID, $i)) {
echo "created document subscription documentID=$iDocumentID for userID=$i";
} else {
echo "document creation failed(" . $_SESSION["errorMessage"] . "): documentID=$iDocumentID for userID=$i";
}
}
$aFolderSubscribers = $oSubscriptionManager->retrieveFolderSubscribers($iFolderID);
$aDocumentSubscribers = $oSubscriptionManager->retrieveDocumentSubscribers($iDocumentID);
echo "Subscribers for folderID=$iFolderID:";
echo "" . arrayToString($aFolderSubscribers) . "
";
echo "Subscribers for documentID=$iDocumentID:";
echo "" . arrayToString($aDocumentSubscribers) . "
";
echo "";
echo "Testing subscription firing";
// test subscription firing
require_once("../../phpSniff/phpTimer.class.php");
$timer = new phpTimer();
$timer->start('subscriptionFiring');
$timer->start('onAddFolder');
$oSubscriptionManager->onAddFolder($iFolderID, "newFolder-onAddFolder");
$timer->stop('onAddFolder');
echo "- onAddFolder: " . $timer->get_current('onAddFolder') . "
";
$timer->start('onRemoveFolder');
$oSubscriptionManager->onRemoveFolder($iFolderID, "removeFolder");
$timer->stop('onRemoveFolder');
echo "- onRemoveFolder: " . $timer->get_current('onRemoveFolder') . "
";
$timer->start('onAddDocument');
$oSubscriptionManager->onAddDocument($iFolderID, "addDocumentName");
$timer->stop('onAddDocument');
echo "- onAddDocument: " . $timer->get_current('onAddDocument') . "
";
$timer->start('onRemoveDocument');
$oSubscriptionManager->onRemoveDocument($iFolderID, "removeDocumentName");
$timer->stop('onRemoveDocument');
echo "- onRemoveDocument: " . $timer->get_current('onRemoveDocument') . "
";
$timer->start('onModifyDocument');
$oSubscriptionManager->onModifyDocument($iDocumentID);
$timer->stop('onModifyDocument');
echo "- onModifyDocument: " . $timer->get_current('onModifyDocument') . "
";
$timer->stop('subscriptionFiring');
echo "
all subscription firing: " . $timer->get_current('subscriptionFiring');
echo "";
// cleanup silently
for ($i = 1; $i<=5; $i++) {
$oSubscriptionManager->removeFolderSubscription($i, $iUserID);
$oSubscriptionManager->removeDocumentSubscription($i, $iUserID);
$oSubscriptionManager->removeFolderSubscription($iFolderID, $i);
$oSubscriptionManager->removeDocumentSubscription($iDocumentID, $i);
}
}
?>