/**
  * @expectedException \supervisormanager\components\supervisor\exceptions\ProcessException
  */
 public function testGetProcessOutput()
 {
     vfsStream::setup('root', null, ['logErrorFile.txt' => 'Test error log output', 'logOutputFile.txt' => 'Test log output']);
     $processConfig = ['stderr_logfile' => vfsStream::url('root') . '/logErrorFile.txt', 'stdout_logfile' => vfsStream::url('root') . '/logOutputFile.txt'];
     $this->config->method('callMethod')->with($this->equalTo('supervisor.getProcessInfo'), $this->equalTo(['test-process']))->willReturn($processConfig);
     $this->assertEquals('Test error log output', $this->process->getProcessOutput('stderr_logfile'));
     $this->assertEquals('Test log output', $this->process->getProcessOutput('stdout_logfile'));
     $this->process->getProcessOutput('stdout');
 }
 /**
  * Sort all available processes by relative group.
  *
  * @return array
  */
 public function getAllProcessesByGroup()
 {
     $processList = $this->getAllProcessInfo();
     $groups = [];
     foreach ($processList as $process) {
         $groupName = $process['group'];
         if (!in_array($groupName, array_keys($groups))) {
             $groups[$groupName] = [];
         }
         if (!isset($process['priority'])) {
             $process['priority'] = Process::getProcessPriority($groupName);
         }
         $groups[$groupName]['processList'][] = $process;
     }
     return $groups;
 }
 /**
  * @param $processName
  *
  * @return Process
  * @throws \yii\base\InvalidConfigException
  */
 private function _supervisorProcess($processName)
 {
     return \Yii::$container->get(Process::className(), [$processName]);
 }