Commit cfafaa76b4857c635e87c0170160ed34d978f336

Authored by michael
1 parent a0ffbf28

initial revision of subscription engine tests


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@903 c91229c3-7414-0410-bfa2-8a42b809f60b
tests/subscriptions/subscriptionEngine.php 0 → 100644
  1 +<?php
  2 +include("../../config/dmsDefaults.php");
  3 +
  4 +if (checkSession()) {
  5 + require_once("$default->owl_fs_root/lib/subscriptions/SubscriptionManager.inc");
  6 + require_once("$default->owl_fs_root/lib/subscriptions/SubscriptionEngine.inc");
  7 + $oSubscriptionManager = new SubscriptionManager();
  8 +
  9 + echo "<ul><li><b>create some test subscriptions for subscription firing testing</b></li>";
  10 +
  11 + // add some subscriptions
  12 + $iFolderID = 1;
  13 + echo "<li>Creating folder subscriptions</li><ul>";
  14 + for ($tmpUserID = 1; $tmpUserID<=5; $tmpUserID++) {
  15 +
  16 + if ($oSubscriptionManager->createSubscription($tmpUserID, $iFolderID, SubscriptionConstants::subscriptionType("FolderSubscription"))) {
  17 + echo "<li>created folder subscription folderID=$iFolderID for userID=$tmpUserID</li>";
  18 + } else {
  19 + echo "<li>folder subscription creation failed(" . $_SESSION["errorMessage"] . "): folderID=$iFolderID for userID=$tmpUserID</li>";
  20 + }
  21 + }
  22 + echo "</ul>";
  23 + $iDocumentID = 5;
  24 + echo "<li>Creating document subscriptions</li><ul>";
  25 + for ($tmpUserID = 6; $tmpUserID<=10; $tmpUserID++) {
  26 + if ($oSubscriptionManager->createSubscription($tmpUserID, $iDocumentID, SubscriptionConstants::subscriptionType("DocumentSubscription"))) {
  27 + echo "<li>created document subscription documentID=$iDocumentID for userID=$tmpUserID</li>";
  28 + } else {
  29 + echo "<li>document subscription creation failed(" . $_SESSION["errorMessage"] . "): documentID=$iDocumentID for userID=$tmpUserID</li>";
  30 + }
  31 + }
  32 + echo "</ul>";
  33 +
  34 + // test subscription firing
  35 + echo "<li><b>Testing subscription firing</b></li><ul>";
  36 + require_once("../../phpSniff/phpTimer.class.php");
  37 + $timer = new phpTimer();
  38 +
  39 + $iTotalCount = 0;
  40 +
  41 + $timer->start('subscriptionFiring');
  42 + $timer->start('AddFolder');
  43 + $count = SubscriptionEngine::fireSubscription($iFolderID, SubscriptionConstants::subscriptionAlertType("AddFolder"),
  44 + SubscriptionConstants::subscriptionType("FolderSubscription"),
  45 + array( "newFolderName" => "Fictitious Folder",
  46 + "parentFolderName" => "Medical Research Council"));
  47 + $iTotalCount += $count;
  48 + $timer->stop('AddFolder');
  49 + $time = $timer->get_current('AddFolder');
  50 + echo "<li>AddFolder: processed alerts=$count; time=$time; subs/s=" . ($time/$count) . "</li>";
  51 +
  52 + $timer->start('RemoveFolder');
  53 + $count = SubscriptionEngine::fireSubscription($iFolderID, SubscriptionConstants::subscriptionAlertType("RemoveFolder"),
  54 + SubscriptionConstants::subscriptionType("FolderSubscription"),
  55 + array( "removedFolderName" => "Fictitious Folder",
  56 + "parentFolderName" => "Medical Research Council"));
  57 + $iTotalCount += $count;
  58 + $timer->stop('RemoveFolder');
  59 + $time = $timer->get_current('RemoveFolder');
  60 + echo "<li>RemoveFolder: processed alerts=$count; time=$time; subs/s=" . ($time/$count) . "</li>";
  61 +
  62 + $timer->start('AddDocument');
  63 + $count = SubscriptionEngine::fireSubscription($iFolderID, SubscriptionConstants::subscriptionAlertType("AddDocument"),
  64 + SubscriptionConstants::subscriptionType("FolderSubscription"),
  65 + array( "newDocumentName" => "Fictitious Document",
  66 + "folderName" => "Medical Research Council"));
  67 + $timer->stop('AddDocument');
  68 + $iTotalCount += $count;
  69 + $time = $timer->get_current('AddDocument');
  70 + echo "<li>AddDocument: processed alerts=$count; time=$time; subs/s=" . ($time/$count) . "</li>";
  71 +
  72 + $timer->start('RemoveDocument');
  73 + $count = SubscriptionEngine::fireSubscription($iFolderID, SubscriptionConstants::subscriptionAlertType("RemoveDocument"),
  74 + SubscriptionConstants::subscriptionType("FolderSubscription"),
  75 + array( "removedDocumentName" => "Fictitious Document",
  76 + "folderName" => "Medical Research Council"));
  77 + $iTotalCount += $count;
  78 + $timer->stop('RemoveDocument');
  79 + $time = $timer->get_current('RemoveDocument');
  80 + echo "<li>RemoveDocument: processed alerts=$count; time=$time; subs/s=" . ($time/$count) . "</li>";
  81 +
  82 + $timer->start('ModifyDocument');
  83 + $count = SubscriptionEngine::fireSubscription($iDocumentID, SubscriptionConstants::subscriptionAlertType("ModifyDocument"),
  84 + SubscriptionConstants::subscriptionType("DocumentSubscription"),
  85 + array( "modifiedDocumentName" => "dashboardBL.html"));
  86 + $iTotalCount += $count;
  87 + $timer->stop('ModifyDocument');
  88 + $time = $timer->get_current('ModifyDocument');
  89 + echo "<li>ModifyDocument: processed alerts=$count; time=$time; subs/s=" . ($time/$count) . "</li>";
  90 + $timer->stop('subscriptionFiring');
  91 +
  92 + $time = $timer->get_current('subscriptionFiring');
  93 + echo "</ul><li><b>All Subscriptions: processed alerts=$iTotalCount; time=$time; subs/s=" . ($time/$iTotalCount) . "</b></li></ul>";
  94 +
  95 + // cleanup silently
  96 + for ($i = 1; $i<=10; $i++) {
  97 + if ($i<=5) {
  98 + $oSubscriptionManager->removeSubscription($i, $iFolderID, SubscriptionConstants::subscriptionType("FolderSubscription"));
  99 + } else {
  100 + $oSubscriptionManager->removeSubscription($i, $iDocumentID, SubscriptionConstants::subscriptionType("DocumentSubscription"));
  101 + }
  102 + }
  103 +}
  104 +?>
... ...