public function creationFailWhenEmptyRequestTest(AcceptanceTester $I) { $I->wantTo('See if creation fails when request is empty'); $response = new Response(); $response->setStatusCode(201); $expectation = new Expectation(); $expectation->setResponse($response); $I->haveHttpHeader('Content-Type', 'application/json'); $I->sendPOST('/__phiremock/expectations', $expectation); $I->seeResponseCodeIs('500'); $I->seeResponseIsJson(); $I->seeResponseEquals('{"result" : "ERROR", "details" : {"request":"Field request, was set with invalid value: NULL"}}'); }
public function failWhenInvalidValueSpecifiedTest(AcceptanceTester $I) { $I->wantTo('check if the request fails when and invalid value is specified'); $request = new Request(); $request->setBody(new Condition('isEqualTo', null)); $response = new Response(); $response->setStatusCode(201); $expectation = new Expectation(); $expectation->setRequest($request)->setResponse($response); $I->haveHttpHeader('Content-Type', 'application/json'); $I->sendPOST('/__phiremock/expectations', $expectation); $I->seeResponseCodeIs(500); $I->seeResponseIsJson(); $I->seeResponseEquals('{"result" : "ERROR", "details" : ["Condition value can not be null"]}'); }
public function creationWithMoreThanOneHeaderConditionTest(AcceptanceTester $I) { $I->wantTo('create an expectation that checks more than one header'); $request = new Request(); $request->setHeaders(['Content-Type' => new Condition('matches', '/application/'), 'Content-Length' => new Condition('isEqualTo', '25611'), 'Content-Encoding' => new Condition('isEqualTo', 'gzip')]); $response = new Response(); $response->setStatusCode(201); $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":null,"body":null,"headers":{' . '"Content-Type":{"matches":"\\/application\\/"},' . '"Content-Length":{"isEqualTo":"25611"},' . '"Content-Encoding":{"isEqualTo":"gzip"}}},' . '"response":{"statusCode":201,"body":null,"headers":null,"delayMillis":null},' . '"proxyTo":null,"priority":0}]'); }
public function createExpectationWithStatusCodeTest(AcceptanceTester $I) { $I->wantTo('create a specificationwith a valid status code'); $request = new Request(); $request->setUrl(new Condition('isEqualTo', '/the/request/url')); $response = new Response(); $response->setStatusCode(401); $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":401,"body":null,"headers":null,"delayMillis":null},' . '"proxyTo":null,"priority":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); }
public function failWhenInvalidMethodSpecifiedTest(AcceptanceTester $I) { $I->wantTo('create a specification that checks url using matches'); $request = new Request(); $request->setMethod('potato'); $response = new Response(); $response->setStatusCode(201); $expectation = new Expectation(); $expectation->setRequest($request)->setResponse($response); $I->haveHttpHeader('Content-Type', 'application/json'); $I->sendPOST('/__phiremock/expectations', $expectation); $I->seeResponseCodeIs(500); $I->seeResponseIsJson(); $I->seeResponseEquals('{"result" : "ERROR", "details" : {"request":"method: Field method, was set with invalid value: \'potato\'"}}'); }