use of com.hederahashgraph.api.proto.java.Response in project hedera-services by hashgraph.
the class QueryResponseHelper method respondWithMetrics.
private void respondWithMetrics(Query query, StreamObserver<Response> observer, AnswerService answer, Runnable incReceivedCount, Runnable incAnsweredCount) {
if (log.isDebugEnabled()) {
log.debug(ALL_QUERIES_MARKER, "Received query: {}", query);
}
Response response;
incReceivedCount.run();
try {
response = answerFlow.satisfyUsing(answer, query);
} catch (Exception surprising) {
log.warn("Query flow unable to satisfy query {}!", query, surprising);
response = answer.responseGiven(query, EMPTY_VIEW, FAIL_INVALID, 0L);
}
observer.onNext(response);
observer.onCompleted();
if (answer.extractValidityFrom(response) == OK) {
incAnsweredCount.run();
}
}
use of com.hederahashgraph.api.proto.java.Response in project hedera-services by hashgraph.
the class GetFileContentsAnswerTest method getsCostAnswerResponse.
@Test
void getsCostAnswerResponse() throws Throwable {
// setup:
Query query = validQuery(COST_ANSWER, fee, target);
// when:
Response response = subject.responseGiven(query, view, OK, fee);
// then:
assertTrue(response.hasFileGetContents());
assertEquals(asFile(target), response.getFileGetContents().getFileContents().getFileID());
assertEquals(OK, response.getFileGetContents().getHeader().getNodeTransactionPrecheckCode());
assertEquals(COST_ANSWER, response.getFileGetContents().getHeader().getResponseType());
assertEquals(fee, response.getFileGetContents().getHeader().getCost());
}
use of com.hederahashgraph.api.proto.java.Response in project hedera-services by hashgraph.
the class GetFileContentsAnswerTest method getsInvalidResponse.
@Test
void getsInvalidResponse() throws Throwable {
// setup:
Query query = validQuery(COST_ANSWER, fee, target);
// when:
Response response = subject.responseGiven(query, view, FILE_DELETED, fee);
// then:
assertTrue(response.hasFileGetContents());
assertEquals(asFile(target), response.getFileGetContents().getFileContents().getFileID());
assertEquals(FILE_DELETED, response.getFileGetContents().getHeader().getNodeTransactionPrecheckCode());
assertEquals(COST_ANSWER, response.getFileGetContents().getHeader().getResponseType());
assertEquals(fee, response.getFileGetContents().getHeader().getCost());
}
use of com.hederahashgraph.api.proto.java.Response in project hedera-services by hashgraph.
the class GetFileInfoAnswerTest method getsCostAnswerResponse.
@Test
void getsCostAnswerResponse() throws Throwable {
// setup:
Query query = validQuery(COST_ANSWER, fee, target);
// when:
Response response = subject.responseGiven(query, view, OK, fee);
// then:
assertTrue(response.hasFileGetInfo());
assertEquals(OK, response.getFileGetInfo().getHeader().getNodeTransactionPrecheckCode());
assertEquals(COST_ANSWER, response.getFileGetInfo().getHeader().getResponseType());
assertEquals(fee, response.getFileGetInfo().getHeader().getCost());
}
use of com.hederahashgraph.api.proto.java.Response in project hedera-services by hashgraph.
the class GetFileInfoAnswerTest method getsInvalidResponse.
@Test
void getsInvalidResponse() throws Throwable {
// setup:
Query query = validQuery(COST_ANSWER, fee, target);
// when:
Response response = subject.responseGiven(query, view, FILE_DELETED, fee);
// then:
assertTrue(response.hasFileGetInfo());
assertEquals(FILE_DELETED, response.getFileGetInfo().getHeader().getNodeTransactionPrecheckCode());
assertEquals(COST_ANSWER, response.getFileGetInfo().getHeader().getResponseType());
assertEquals(fee, response.getFileGetInfo().getHeader().getCost());
}
Aggregations