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()); }