public function testSetCustomEventParam()
 {
     $custom_event_obj = new CustomEvent();
     $custom_event_obj->setEventName('some_name');
     $this->event->setCustomEventParam($custom_event_obj);
     $this->assertInstanceOf('CustomEvent', $this->event->params['customEvent']);
     $this->assertEquals('some_name', $this->event->params['customEvent']->eventName);
 }
 public function OnCustomEvent(CustomEvent $event)
 {
     $servers = DBFarm::LoadByID($this->FarmID)->GetServersByFilter(array('status' => array(SERVER_STATUS::INIT, SERVER_STATUS::RUNNING)));
     $event->messageServers = count($servers);
     $event->processing = array();
     foreach ((array) $servers as $DBServer) {
         try {
             $startTime = microtime(true);
             $msg = new Scalr_Messaging_Msg();
             $msg->setName($event->GetName());
             $msg->setServerMetaData($event->DBServer);
             $msg = Scalr_Scripting_Manager::extendMessage($msg, $event, $event->DBServer, $DBServer);
             $extendTime = microtime(true) - $startTime;
             // Send message ONLY if there are scripts assigned to this event
             if (count($msg->scripts) > 0) {
                 $DBServer->SendMessage($msg, false, true);
             }
             $endTime = microtime(true) - $startTime;
             $event->processing[] = array($extendTime, $endTime, count($msg->scripts));
             if (!$msg) {
                 throw new Exception("Empty MSG");
             }
         } catch (Exception $e) {
             //TODO: Log this situation
         }
     }
 }
 $record_1 = new Record();
 $record_1->setFieldValues(array("*****@*****.**", "TEST_MDIXON"));
 $record_2 = new Record();
 $record_2->setFieldValues(array("*****@*****.**", "TEST_MDIXON"));
 $records[] = $record_1;
 $records[] = $record_2;
 $merge_obj->setRecordDataParam($fieldNames, $records);
 $merge_result_ids = $instance->execute($merge_obj);
 /*
  * merge call end
  */
 /*
  * trigger event call begin
  */
 $custom_obj = new triggerCustomEvent();
 $custom_event = new CustomEvent();
 $custom_event->setEventName("DEV_SUPP_TEST");
 $custom_obj->setCustomEventParam($custom_event);
 $identifier = new RecipientIdentifier();
 $identifier->setValue(RecipientIdentifier::RECIPIENT_ID);
 /*
  * Transient data is optionalData in Responsys Jargon
  * These name value pairs can be used to display in the 
  * campaign body and/or evaluated by program logic as ETV or "ENTRY TRACKING VARIABLES"
  * 
  */
 $transientData = array('FIRST_NAME' => 'Scooby', 'LAST_NAME' => 'Doo');
 $transientData1 = array('FIRST_NAME' => 'Wilma', 'LAST_NAME' => 'SmartyPants');
 $transientDataArray[] = $transientData;
 $transientDataArray[] = $transientData1;
 /*