### Question:
JsonQuerySerde { public static String serialize(final QueryInfo query, final Queried options) { Map<String, Object> json = new HashMap<>(); json.put(QUERY_TYPE_JSON_FIELD, query.type().prettyName()); json.put(QUERY_JSON_FIELD, Collections.singletonMap( query.operation().prettyName(), query.parameters().originals()) ); json.put(SET_OPTIONS_JSON_FIELD, new QueryOptionsRequest( options.retries(), options.retryBackoff().toMillis(), options.queryTimeout().toMillis(), options.remoteAccessAllowed(), options.limit() )); return JSON.serialize(json); }  static Tuple<QueryInfo, Queried> deserialize(final String storeName, final byte[] data); static String serialize(final QueryInfo query, final Queried options);  }### Answer:
@Test public void shouldDeserializeJsonGivenQueryWhenNoParamsIsRequired() { QueryInfo qInfo = new QueryInfo("store", StoreType.KEY_VALUE, StoreOperation.GET, QueryParams.empty()); String json = JsonQuerySerde.serialize(qInfo, Queried.locally()); assertEquals( "{" + "\"query\":{\"get\":{}}," + "\"type\":\"key_value\"," + "\"set_options\":{" + "\"retries\":0,\"retry_backoff_ms\":0,\"query_timeout_ms\":0,\"remote_access_allowed\":false,\"limit\":-1}}" , json); }