#include #include #include "communication/result_stream_faker.hpp" #include "query/exceptions.hpp" #include "query/interpreter.hpp" DECLARE_int32(query_execution_time_sec); TEST(TransactionTimeout, TransactionTimeout) { FLAGS_query_execution_time_sec = 3; database::GraphDb db; query::Interpreter interpreter; auto interpret = [&](auto &dba, const std::string &query) { ResultStreamFaker stream; interpreter(query, dba, {}, false).PullAll(stream); }; { auto dba = db.Access(); interpret(dba, "MATCH (n) RETURN n"); } { auto dba = db.Access(); std::this_thread::sleep_for(std::chrono::seconds(5)); ASSERT_THROW(interpret(dba, "MATCH (n) RETURN n"), query::HintedAbortError); } { auto dba = db.Access(); interpret(dba, "MATCH (n) RETURN n"); } }