setAuthToken(AuthKeysFixture::ADMIN_API_KEY); $this->initializeWireMock(); $this->mockCerebrateStatusResponse(); $url = sprintf('%s/%d', self::ENDPOINT, BroodsFixture::BROOD_WIREMOCK_ID); $this->get($url); $this->getWireMock()->verify( WireMock::getRequestedFor(WireMock::urlEqualTo('/instance/status.json')) ->withHeader('Content-Type', WireMock::equalTo('application/json')) ->withHeader('Authorization', WireMock::equalTo(BroodsFixture::BROOD_WIREMOCK_API_KEY)) ); $this->assertResponseOk(); $this->assertResponseContains('"user": "wiremock"'); // TODO: $this->assertRequestMatchesOpenApiSpec(); $this->assertResponseMatchesOpenApiSpec($url); } private function mockCerebrateStatusResponse(): \WireMock\Stubbing\StubMapping { return $this->getWireMock()->stubFor( WireMock::get(WireMock::urlEqualTo('/instance/status.json')) ->willReturn(WireMock::aResponse() ->withHeader('Content-Type', 'application/json') ->withBody((string)json_encode([ "version" => "0.1", "application" => "Cerebrate", "user" => [ "id" => 1, "username" => "wiremock", "role" => [ "id" => 1 ] ] ]))) ); } }