SupervisorSpec.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. namespace spec\Supervisor;
  3. use Supervisor\Connector;
  4. use Supervisor\Process;
  5. use PhpSpec\ObjectBehavior;
  6. class SupervisorSpec extends ObjectBehavior
  7. {
  8. function let(Connector $connector)
  9. {
  10. $this->beConstructedWith($connector);
  11. }
  12. function it_is_initializable()
  13. {
  14. $this->shouldHaveType('Supervisor\Supervisor');
  15. }
  16. function it_checks_connection(Connector $connector)
  17. {
  18. $connector->call('system', 'listMethods')->willReturn('response');
  19. $this->isConnected()->shouldReturn(true);
  20. $connector->call('system', 'listMethods')->willThrow('Exception');
  21. $this->isConnected()->shouldReturn(false);
  22. }
  23. function it_calls_a_method(Connector $connector)
  24. {
  25. $connector->call('namespace', 'method', [])->willReturn('response');
  26. $this->call('namespace', 'method')->shouldReturn('response');
  27. }
  28. function it_checks_if_supervisor_is_running(Connector $connector)
  29. {
  30. $connector->call('supervisor', 'getState', [])->willReturn(['statecode' => 1]);
  31. $this->isRunning()->shouldReturn(true);
  32. }
  33. function it_checks_supervisor_state(Connector $connector)
  34. {
  35. $connector->call('supervisor', 'getState', [])->willReturn(['statecode' => 1]);
  36. $this->checkState(1)->shouldReturn(true);
  37. }
  38. function it_returns_all_processes(Connector $connector)
  39. {
  40. $connector->call('supervisor', 'getAllProcessInfo', [])->willReturn([
  41. [
  42. 'name' => 'process_name'
  43. ]
  44. ]);
  45. $processes = $this->getAllProcesses();
  46. $processes->shouldBeArray();
  47. $processes[0]->shouldHaveType('Supervisor\Process');
  48. $processes[0]->getName()->shouldReturn('process_name');
  49. }
  50. function it_returns_a_process_(Connector $connector)
  51. {
  52. $connector->call('supervisor', 'getProcessInfo', ['process_name'])->willReturn(['name' => 'process_name']);
  53. $process = $this->getProcess('process_name');
  54. $process->shouldHaveType('Supervisor\Process');
  55. $process->getName()->shouldReturn('process_name');
  56. }
  57. }