public function testSending()
 {
     $output = $this->setupOutput();
     $writer = new ResponseWriter($output);
     $response = new Response();
     $response->setRunId('response-writer-run-id');
     $writer->sendResponse($response);
     $this->assertEquals($response->getResponseCode(), \http_response_code());
     $this->assertEquals($response->__toString(), file_get_contents($output));
 }
Example #2
0
 /**
  * Executes the pipeline.
  *
  * @param   Request     $request
  * @return  Response
  */
 public function execute(Request $request)
 {
     $response = new Response();
     $runId = $request->getRunId();
     $run = $this->runRepository->retrieve($runId);
     if (null === $run) {
         $run = $this->runRepository->create();
         $runId = $run->getRunId();
     }
     $this->runRepository->persist($run);
     $response->setRunId($runId);
     return $response;
 }
Example #3
0
 /**
  * Performs basic request validation.
  *
  * Will setup an error response if necessary.
  *
  * @return  bool
  */
 private function validateRequest()
 {
     $method = $_SERVER['REQUEST_METHOD'] ?? 'INVALID';
     if ('POST' !== $method) {
         $this->response = new Response();
         $this->response->setResponseCode(405);
         return false;
     }
     if (null === $this->request) {
         $this->response = new Response();
         $this->response->setResponseCode(400);
         return false;
     }
     return true;
 }