public function createWithEmptyBodyTest(AcceptanceTester $I)
 {
     $I->wantTo('create an expectation with an empty body');
     $request = new Request();
     $request->setUrl(new Condition('isEqualTo', '/the/request/url'));
     $response = new Response();
     $response->setBody(null);
     $expectation = new Expectation();
     $expectation->setRequest($request)->setResponse($response);
     $I->haveHttpHeader('Content-Type', 'application/json');
     $I->sendPOST('/__phiremock/expectations', $expectation);
     $I->sendGET('/__phiremock/expectations');
     $I->seeResponseCodeIs('200');
     $I->seeResponseIsJson();
     $I->seeResponseEquals('[{"scenarioName":null,"scenarioStateIs":null,"newScenarioState":null,' . '"request":{"method":null,"url":{"isEqualTo":"\\/the\\/request\\/url"},"body":null,"headers":null},' . '"response":{"statusCode":200,"body":null,"headers":null,"delayMillis":null},' . '"proxyTo":null,"priority":0}]');
 }
 public function responseExpectedWhenSeveralHeadersMatchesTest(AcceptanceTester $I)
 {
     $I->wantTo('see if mocking based in several request headers works');
     $request = new Request();
     $request->setHeaders(['Content-type' => new Condition('isEqualTo', 'application/x-www-form-urlencoded'), 'X-Potato' => new Condition('matches', '/.*tomato.*/'), 'X-Tomato' => new Condition('isSameString', 'PoTaTo')]);
     $response = new Response();
     $response->setBody('Found');
     $expectation = new Expectation();
     $expectation->setRequest($request)->setResponse($response);
     $I->haveHttpHeader('Content-Type', 'application/json');
     $I->sendPOST('/__phiremock/expectations', $expectation);
     $I->seeResponseCodeIs(201);
     $I->haveHttpHeader('Content-Type', 'application/x-www-form-urlencoded');
     $I->sendGET('/dontcare');
     $I->seeResponseCodeIs(404);
     $I->haveHttpHeader('Content-Type', 'application/x-www-form-urlencoded');
     $I->haveHttpHeader('X-potato', 'a-tomato-0');
     $I->haveHttpHeader('X-tomato', 'potato');
     $I->sendGET('/dontcare');
     $I->seeResponseEquals('Found');
 }
Example #3
0
 public function responseExpectedWhenRequestBodyCaseInsensitiveEqualsTest(AcceptanceTester $I)
 {
     $I->wantTo('see if mocking based in request body case insensitive equality works');
     $request = new Request();
     $request->setBody(new Condition('isSameString', 'pOtAtO'));
     $response = new Response();
     $response->setBody('Found');
     $expectation = new Expectation();
     $expectation->setRequest($request)->setResponse($response);
     $I->haveHttpHeader('Content-Type', 'application/json');
     $I->sendPOST('/__phiremock/expectations', $expectation);
     $I->seeResponseCodeIs(201);
     $I->sendPOST('/dontcare', 'potato');
     $I->seeResponseCodeIs(200);
     $I->seeResponseEquals('Found');
 }
Example #4
0
 public function countExecutionsTest(AcceptanceTester $I)
 {
     $I->sendDELETE('/__phiremock/executions');
     $expectation = new Expectation();
     $request = new Request();
     $request->setMethod('get');
     $request->setUrl(new Condition('isEqualTo', '/potato'));
     $response = new Response();
     $response->setStatusCode(201);
     $response->setBody('Tomato!');
     $expectation->setRequest($request)->setResponse($response);
     $this->phiremock->createExpectation($expectation);
     $I->sendGET('/potato');
     $I->seeResponseCodeIs(201);
     $I->seeResponseEquals('Tomato!');
     $I->sendGET('/potato');
     $count = $this->phiremock->countExecutions(A::getRequest()->andUrl(Is::equalTo('/potato')));
     $I->assertEquals(2, $count);
 }