public function testCreateTwoExpectationsAfterEachOther() { $this->builder->when()->pathIs('/post-resource-1')->methodIs('POST')->then()->statusCode(200)->body('POST 1')->end(); $this->server->setUp($this->builder->flushExpectations()); $this->builder->when()->pathIs('/post-resource-2')->methodIs($this->matches->regex('/POST/'))->then()->statusCode(200)->body('POST 2')->end(); $this->server->setUp($this->builder->flushExpectations()); $this->assertSame('POST 1', (string) $this->server->getClient()->post('/post-resource-1')->send()->getBody()); $this->assertSame('POST 2', (string) $this->server->getClient()->post('/post-resource-2')->send()->getBody()); $this->assertSame('POST 1', (string) $this->server->getClient()->post('/post-resource-1')->send()->getBody()); $this->assertSame('POST 2', (string) $this->server->getClient()->post('/post-resource-2')->send()->getBody()); }
/** * Gets the mocked HTTP server. * * Initializes the server if it was not used before. * By default it responds to any POST requests to /invalidate with 200 OK, * additional behavior can be added in further steps. * * @return Server * The mocked HTTP server. */ protected function getServer() { if (!$this->server) { $this->server = new Server($this->mockServerPort, 'localhost'); $this->server->start(); // Accept any POSTS. $mock = new MockBuilder(new MatcherFactory(), new ExtractorFactory()); $mock->when()->pathIs('/invalidate')->methodIs('POST')->then()->statusCode(200); $this->server->setUp($mock->flushExpectations()); } return $this->server; }