public SceneAccessLayer(Scene scene, MatchRule matchRule) { this(scene, new SceneWriter(), matchRule); }
/** * Serialize the scene to disk, if it has been updated */ public void flush() { if (_dirty) { try { _sceneWriter.writeScene(_scene); _dirty = false; } catch (IOException e) { throw new RuntimeException(FAILED_TO_WRITE_SCENE_TO_THE_FILE, e); } } }
private String createHttpMethod() throws IOException { _jsonParser.nextToken(); // HTTPMETHOD FIELD_NAME validateRequiredField(SceneSerializationConstant.SCENE_TAG_HTTPMETHOD); _jsonParser.nextToken(); // HTTPMETHOD VALUE_STRING return _jsonParser.getValueAsString(); }
@Test public void testDeserializeWithoutHeaders() throws Exception { StringReader stringReader = new StringReader(MockDataGenerator.getSerializedSceneWithoutHeaders()); SceneDeserializer sceneDeserializer = new SceneDeserializer(); Scene scene = sceneDeserializer.deserialize(stringReader); Scene expectedScene = MockDataGenerator.getMockSceneWithoutHeaders(); Assert.assertEquals(scene, expectedScene); }
@Test public void testDeserialize() throws Exception { StringReader stringReader = new StringReader(MockDataGenerator.getSerializedScene()); SceneDeserializer sceneDeserializer = new SceneDeserializer(); Scene scene = sceneDeserializer.deserialize(stringReader); Scene expectedScene = MockDataGenerator.getMockScene(); Assert.assertEquals(scene, expectedScene); }
@Test public void testDeserializeWithoutBody() throws Exception { StringReader stringReader = new StringReader(MockDataGenerator.getSerializedSceneWithoutBody()); SceneDeserializer sceneDeserializer = new SceneDeserializer(); Scene scene = sceneDeserializer.deserialize(stringReader); Scene expectedScene = MockDataGenerator.getMockSceneWithoutBody(); Assert.assertEquals(scene, expectedScene); }
@Test public void testDeserializeWithoutBodyAndHeaders() throws Exception { StringReader stringReader = new StringReader(MockDataGenerator.getSerializedSceneWithoutBodyAndHeader()); SceneDeserializer sceneDeserializer = new SceneDeserializer(); Scene scene = sceneDeserializer.deserialize(stringReader); Scene expectedScene = MockDataGenerator.getMockSceneWithoutBodyAndHeader(); Assert.assertEquals(scene, expectedScene); } }
@Test public void testSerializationWithoutHeaders() throws URISyntaxException, IOException { SceneSerializer sceneSerializer = new SceneSerializer(); StringWriter stringWriter = new StringWriter(); sceneSerializer.serialize(MockDataGenerator.getMockSceneWithoutHeaders(), stringWriter); Assert.assertEquals(MockDataGenerator.getSerializedSceneWithoutHeaders(), stringWriter.toString()); }
@Test public void testSerializationWithoutBody() throws IOException, URISyntaxException { SceneSerializer sceneSerializer = new SceneSerializer(); StringWriter stringWriter = new StringWriter(); sceneSerializer.serialize(MockDataGenerator.getMockSceneWithoutBody(), stringWriter); Assert.assertEquals(MockDataGenerator.getSerializedSceneWithoutBody(), stringWriter.toString()); }
@Test public void testSerialization() throws IOException, URISyntaxException { SceneSerializer sceneSerializer = new SceneSerializer(); StringWriter stringWriter = new StringWriter(); sceneSerializer.serialize(MockDataGenerator.getMockScene(), stringWriter); Assert.assertEquals(MockDataGenerator.getSerializedScene(), stringWriter.toString()); }
@Test public void testSerializationWithoutBodyAndHeaders() throws IOException, URISyntaxException { SceneSerializer sceneSerializer = new SceneSerializer(); StringWriter stringWriter = new StringWriter(); sceneSerializer.serialize(MockDataGenerator.getMockSceneWithoutBodyAndHeader(), stringWriter); Assert.assertEquals(MockDataGenerator.getSerializedSceneWithoutBodyAndHeader(), stringWriter.toString()); } }
private RecordedHttpExchange createHttpExchange() throws IOException { _jsonParser.nextToken(); // UPDATETIME FIELD_NAME validateRequiredField(SceneSerializationConstant.SCENE_TAG_UPDATE_TIME); _jsonParser.nextToken(); // UPDATETIME VALUE_STRING Date date = new Date(_jsonParser.getValueAsString()); RecordedHttpRequest recordedHttpRequest = createHttpRequest(); RecordedHttpResponse recordedHttpResponse = createHttpResponse(); skipEndObject(); // HTTPEXCHANGE return new RecordedHttpExchange(recordedHttpRequest, recordedHttpResponse, date); }
public Scene deserialize(Reader reader) throws IOException { _jsonParser = JSON_FACTORY.createParser(reader); skipStartObject(); _jsonParser.nextToken(); validateRequiredField(SceneSerializationConstant.SCENE_TAG_NAME); _jsonParser.nextToken(); String name = _jsonParser.getValueAsString(); return new Scene(name, null, ".", createHttpExchangeList()); }
private void writeHttpMessage(RecordedHttpMessage recordedHttpMessage) throws IOException { if (!recordedHttpMessage.getHeaders().isEmpty()) { writeHttpHeaders(recordedHttpMessage.getHeaders()); } if (recordedHttpMessage.hasHttpBody()) { writeHttpBody(recordedHttpMessage.getHttpBody()); } }
private void writeHttpExchange(RecordedHttpExchange recordedHttpExchanges) throws IOException { _jsonGenerator.writeStringField(SceneSerializationConstant.SCENE_TAG_UPDATE_TIME, recordedHttpExchanges.getUpdateTime().toGMTString()); _jsonGenerator.writeObjectFieldStart(SceneSerializationConstant.SCENE_TAG_HTTPREQUEST); writeHttpRequest(recordedHttpExchanges.getRecordedHttpRequest()); _jsonGenerator.writeEndObject(); _jsonGenerator.writeObjectFieldStart(SceneSerializationConstant.SCENE_TAG_HTTPRESPONSE); writeHttpResponse(recordedHttpExchanges.getRecordedHttpResponse()); _jsonGenerator.writeEndObject(); }
private void writeHttpResponse(RecordedHttpResponse recordedHttpResponse) throws IOException { _jsonGenerator .writeNumberField(SceneSerializationConstant.SCENE_TAG_HTTPSTATUS_CODE, recordedHttpResponse.getStatus()); writeHttpMessage(recordedHttpResponse); }
private void writeHttpExchanges(List<RecordedHttpExchange> recordedHttpExchanges) throws IOException { _jsonGenerator.writeObjectFieldStart(SceneSerializationConstant.SCENE_TAG_HTTPEXCHANGE_LIST); int count = 1; for (RecordedHttpExchange recordedHttpExchange : recordedHttpExchanges) { _jsonGenerator.writeObjectFieldStart(SceneSerializationConstant.SCENE_TAG_HTTPEXCHANGE + count); writeHttpExchange(recordedHttpExchange); _jsonGenerator.writeEndObject(); count++; } _jsonGenerator.writeEndObject(); }
private int createStatusCode() throws IOException { _jsonParser.nextToken(); // HTTPSTATUSCODE Filed validateRequiredField(SceneSerializationConstant.SCENE_TAG_HTTPSTATUS_CODE); _jsonParser.nextToken(); //HTTPSTATUSCODE VALUE_NUMBER_INT return _jsonParser.getValueAsInt(); }
public SceneAccessLayer() { this(new DummyScene(), new SceneWriter(), new DummyMatchRule()); }
private URI createUri() throws IOException { _jsonParser.nextToken(); // HTTPURI FIELD_NAME validateRequiredField(SceneSerializationConstant.SCENE_TAG_HTTPURI); _jsonParser.nextToken(); // HTTPURI VALUE_STRING URI uri; try { uri = new URI(_jsonParser.getValueAsString()); } catch (URISyntaxException e) { throw new RuntimeException("Failed to construct URI: " + _jsonParser.getValueAsString()); } return uri; }