Esempio n. 1
0
 public function test_callWrongCallable()
 {
     $promise = $this->decorator->asyncCall(['rpc_callback' => 'some_any_no', 'tick_id' => time(), 'step' => 1]);
     $this->assertEquals($promise->getState(), $promise::PENDING);
     sleep(2);
     $this->assertEquals($promise->getState(), $promise::REJECTED);
     $result = $promise->wait(false);
     $this->assertInstanceOf('zaboy\\async\\Promise\\Exception\\RejectedException', $result);
 }
 /**
  * TODO:
  * - запустить несколько скриптов; из них
  *      - "подвисший" - sleep(60);
  *      - с нормальным завершением;
  *      - с нормальным завершением, но с генерацией нотисов в процессе работы
  *      - с exception'ом;
  *      - с критической ошибкой - trigger_error
  *      - с синтаксической ошибкой
  * - подождать 30 секунд;
  * - проверить состояние скриптов, проверить ответы.
  */
 public function test_startProcesses()
 {
     /** @var ScriptDecorator $decorator */
     $this->decorator->asyncCall(['rpc_callback' => 'test_scriptBroker_script_critical_error']);
     $this->decorator->asyncCall(['rpc_callback' => 'test_scriptBroker_script_exception']);
     $this->decorator->asyncCall(['rpc_callback' => 'test_scriptBroker_script_long_work']);
     $this->decorator->asyncCall(['rpc_callback' => 'test_scriptBroker_script_normal']);
     $this->decorator->asyncCall(['rpc_callback' => 'test_scriptBroker_script_normal_with_warning']);
     $this->decorator->asyncCall(['rpc_callback' => 'test_scriptBroker_script_syntax_error']);
     $this->assertEquals(6, $this->pidsDataStore->count());
 }