public function testNotifyDiagnostic()
 {
     $this->markTestIncomplete("Missing transaction at memcached");
     $proto = new \Application\Proto\SupDiagnosisAsync\DiagnosisNotification();
     $result = new \Application\Proto\Result();
     $result->setCode(0);
     $result->setReason('GSM_UP');
     $proto->setExecResult($result);
     $proto->setResult(1);
     $id = new \Application\Proto\SupProvision\Sim\SimId();
     $id->setImsi('214074300000018');
     $proto->setSimId($id);
     $proto->setTaskId(sha1(time()));
     return $this->_testNotify($proto, 'business.service.supdiagnosisasync.diagnosisasync.DiagnosisNotification', $proto->getTaskId());
 }
 private function _genDiagnosisNotification($transactionId)
 {
     $res = new \Application\Proto\SupDiagnosisAsync\DiagnosisNotification();
     $result = new \Application\Proto\Result();
     $result->setCode('OK');
     $result->setReason('Operation successful');
     $res->setResult($result);
     $simId = new \Application\Proto\SupProvision\Sim\SimId();
     $simId->setImsi('1288228282');
     $res->setSimId($simId);
     $res->setTaskId('taskId');
     $res->setType(\Application\Proto\SupDiagnosis\Diagnosis\DiagnosisType::TYPE_2);
     $res->setResult(\Application\Proto\SupDiagnosisAsync\DiagnosisNotification\DiagnosisResult::GSM_UP);
     $dateInterval = new \Application\Proto\DateInterval();
     $dateInterval->setStartDate('2011-11-11');
     $dateInterval->setEndDate('2011-12-11');
     $res->setTime($dateInterval);
     $req = new \Application\Proto\AsyncNotification\Service\Request();
     $req->setToken($transactionId);
     $req->setProto('business.service.supdiagnosisasync.diagnosisasync');
     $req->message = $res;
     return $req;
 }
Exemplo n.º 3
0
 private function _diagnosisEricsson($imsi, $diagnosisType)
 {
     if (!$imsi | !$diagnosisType) {
         throw new InvalidArgumentException(get_class($this) . ': Invalid parameters.');
     }
     $methodName = 'diagnosisNotification';
     /**
      * @var $proto \Application\Proto\SupDiagnosis\Diagnosis\DiagnosisRequest
      */
     $proto = $this->_createProto($methodName);
     $id = new \Application\Proto\SupProvision\Sim\SimId();
     // WTF?
     $id->setImsi($imsi);
     $proto->setSimId($id);
     $type = $this->_mapDiagnosisTypeToEricsson($diagnosisType);
     $proto->setDiagnosisType($type);
     /**
      * var $response \Application\Proto\SupDiagnosis\Diagnosis\DiagnosisResponse
      */
     $response = $this->_sendRequest($methodName, array('protoMessage' => $proto));
     $this->_checkPostResponse($response);
     $watcher = $this->_constructWatcherToTransaction();
     $watcher->entityType = "diagnosis";
     $watcher->params->action = "simDiagnosis";
     $watcher->params->imsi = $imsi;
     $watcher->params->type = $diagnosisType;
     $this->_watcherToTransactionId($response->getDiagnosisTaskId(), array('imsi_' . $imsi), array(), $watcher);
     return $watcher;
 }
Exemplo n.º 4
0
 protected function _DiagnosisHistory(\Application\Proto\SupSpotlight\Sim\SimHistoryRequest $req)
 {
     $resp = new \Application\Proto\SupSpotlight\Diagnosis\DiagnosisHistoryListResponse();
     $result = new PB\Result();
     $result->setCode(0);
     $result->setReason('Ok');
     $resp->setResult($result);
     $id = new \Application\Proto\SupProvision\Sim\SimId();
     $id->setImsi('MOCK');
     $resp->setSimId($id);
     // Compute start and end times
     $start = strtotime($req->getDateInterval()->getStartDate()) ?: mktime(0, 0, 0, 1, 1, 2011);
     $end = strtotime($req->getDateInterval()->getEndDate()) ?: time();
     // Extract start date parts to build new times over them
     $year = date('Y', $start);
     $month = date('n', $start);
     $day = date('d', $start);
     $hour = rand(0, 23);
     $statuses = array(\Application\Proto\SupSpotlight\Diagnosis\DiagnosisDetail\DiagResponseType::GSM_UP, \Application\Proto\SupSpotlight\Diagnosis\DiagnosisDetail\DiagResponseType::GSM_DOWN, \Application\Proto\SupSpotlight\Diagnosis\DiagnosisDetail\DiagResponseType::IP_UP, \Application\Proto\SupSpotlight\Diagnosis\DiagnosisDetail\DiagResponseType::IP_DOWN);
     $limit = rand(10, 30);
     for ($i = 0; $i < $limit; $i++) {
         // Build a new timestamp using random values
         $time = mktime($hour, rand(0, 59), rand(0, 59), $month, $day, $year);
         if ($time > $end) {
             continue;
         }
         $hour += rand(1, 36);
         $row = new Application\Proto\SupSpotlight\Diagnosis\DiagnosisDetail();
         $row->setDescription($statuses[array_rand($statuses)]);
         $row->setEndDate(gmdate('Y-m-d\\TH:i:s\\Z', $time));
         $resp->addDiagnosisDetail($row);
     }
     return $resp;
 }