|
Database System 0.1.0
Advanced C++20 Database System with Multi-Backend Support
|
#include <gtest/gtest.h>#include <cstdint>#include <string>#include <vector>#include <map>#include "database/protocol/database_protocol.h"
Go to the source code of this file.
Classes | |
| class | MessageHeaderTest |
| class | ConnectProtocolTest |
| class | QueryProtocolTest |
| class | TransactionProtocolTest |
| class | ErrorProtocolTest |
| class | SerializerEdgeCaseTest |
Functions | |
| TEST_F (MessageHeaderTest, DefaultMagicAndVersion) | |
| TEST_F (MessageHeaderTest, InvalidMagic) | |
| TEST_F (MessageHeaderTest, InvalidVersion) | |
| TEST_F (MessageHeaderTest, SerializeDeserializeRoundTrip) | |
| TEST_F (MessageHeaderTest, DeserializeHeaderTooSmall) | |
| TEST_F (MessageHeaderTest, DeserializeInvalidMagicReturnsError) | |
| TEST_F (MessageHeaderTest, AllMessageTypes) | |
| TEST_F (MessageHeaderTest, LargeRequestIdAndPayload) | |
| TEST_F (ConnectProtocolTest, ConnectRequestRoundTrip) | |
| TEST_F (ConnectProtocolTest, ConnectRequestEmptyOptions) | |
| TEST_F (ConnectProtocolTest, ConnectRequestTooSmall) | |
| TEST_F (ConnectProtocolTest, ConnectResponseSuccessRoundTrip) | |
| TEST_F (ConnectProtocolTest, ConnectResponseFailureRoundTrip) | |
| TEST_F (ConnectProtocolTest, ConnectResponseEmptyData) | |
| TEST_F (QueryProtocolTest, QueryRequestSelectRoundTrip) | |
| TEST_F (QueryProtocolTest, QueryRequestInsertWithMultipleParams) | |
| TEST_F (QueryProtocolTest, QueryRequestNoParameters) | |
| TEST_F (QueryProtocolTest, QueryRequestAllOperationTypes) | |
| TEST_F (QueryProtocolTest, QueryRequestSpecialCharacters) | |
| TEST_F (QueryProtocolTest, QueryRequestEmptyData) | |
| TEST_F (QueryProtocolTest, QueryResponseSuccessWithRows) | |
| TEST_F (QueryProtocolTest, QueryResponseInsertResult) | |
| TEST_F (QueryProtocolTest, QueryResponseFailure) | |
| TEST_F (QueryProtocolTest, QueryResponseEmptyData) | |
| TEST_F (QueryProtocolTest, QueryResponseLargePayload) | |
| TEST_F (TransactionProtocolTest, BeginTransactionRoundTrip) | |
| TEST_F (TransactionProtocolTest, CommitTransactionRoundTrip) | |
| TEST_F (TransactionProtocolTest, RollbackTransactionRoundTrip) | |
| TEST_F (TransactionProtocolTest, TransactionRequestTooSmall) | |
| TEST_F (TransactionProtocolTest, TransactionResponseSuccessRoundTrip) | |
| TEST_F (TransactionProtocolTest, TransactionResponseFailureRoundTrip) | |
| TEST_F (TransactionProtocolTest, TransactionResponseEmptyData) | |
| TEST_F (ErrorProtocolTest, ErrorResponseRoundTrip) | |
| TEST_F (ErrorProtocolTest, ErrorResponseNegativeCode) | |
| TEST_F (ErrorProtocolTest, ErrorResponseTooSmall) | |
| TEST_F (SerializerEdgeCaseTest, EmptyStringFields) | |
| TEST_F (SerializerEdgeCaseTest, LongStringPreserved) | |
| TEST_F (SerializerEdgeCaseTest, UnicodeStringPreserved) | |
| TEST_F (SerializerEdgeCaseTest, ManyOptionsMapPreserved) | |
| TEST_F (SerializerEdgeCaseTest, QueryRequestManyParameters) | |
| TEST_F (SerializerEdgeCaseTest, HeaderZeroRequestId) | |
| TEST_F | ( | ConnectProtocolTest | , |
| ConnectRequestEmptyOptions | ) |
Definition at line 146 of file test_protocol_serializer.cpp.
References ASSERT_TRUE, database::protocol::connect_request::connection_string, database::protocol::connect_request::database_type, database::protocol::protocol_serializer::deserialize_connect_request(), and database::protocol::protocol_serializer::serialize().

| TEST_F | ( | ConnectProtocolTest | , |
| ConnectRequestRoundTrip | ) |
Definition at line 126 of file test_protocol_serializer.cpp.
References ASSERT_TRUE, database::protocol::connect_request::connection_string, database::protocol::connect_request::database_type, database::protocol::protocol_serializer::deserialize_connect_request(), database::protocol::connect_request::options, and database::protocol::protocol_serializer::serialize().

| TEST_F | ( | ConnectProtocolTest | , |
| ConnectRequestTooSmall | ) |
Definition at line 161 of file test_protocol_serializer.cpp.
References database::protocol::protocol_serializer::deserialize_connect_request().

| TEST_F | ( | ConnectProtocolTest | , |
| ConnectResponseEmptyData | ) |
Definition at line 199 of file test_protocol_serializer.cpp.
References database::protocol::protocol_serializer::deserialize_connect_response().

| TEST_F | ( | ConnectProtocolTest | , |
| ConnectResponseFailureRoundTrip | ) |
Definition at line 183 of file test_protocol_serializer.cpp.
References ASSERT_TRUE, database::protocol::protocol_serializer::deserialize_connect_response(), database::protocol::connect_response::error_message, database::protocol::protocol_serializer::serialize(), database::protocol::connect_response::session_id, and database::protocol::connect_response::success.

| TEST_F | ( | ConnectProtocolTest | , |
| ConnectResponseSuccessRoundTrip | ) |
Definition at line 167 of file test_protocol_serializer.cpp.
References ASSERT_TRUE, database::protocol::protocol_serializer::deserialize_connect_response(), database::protocol::connect_response::error_message, database::protocol::protocol_serializer::serialize(), database::protocol::connect_response::session_id, and database::protocol::connect_response::success.

| TEST_F | ( | ErrorProtocolTest | , |
| ErrorResponseNegativeCode | ) |
Definition at line 493 of file test_protocol_serializer.cpp.
References ASSERT_TRUE, database::protocol::protocol_serializer::deserialize_error_response(), database::protocol::error_response::error_code, database::protocol::error_response::error_context, database::protocol::error_response::error_message, and database::protocol::protocol_serializer::serialize().

| TEST_F | ( | ErrorProtocolTest | , |
| ErrorResponseRoundTrip | ) |
Definition at line 477 of file test_protocol_serializer.cpp.
References ASSERT_TRUE, database::protocol::protocol_serializer::deserialize_error_response(), database::protocol::error_response::error_code, database::protocol::error_response::error_context, database::protocol::error_response::error_message, and database::protocol::protocol_serializer::serialize().

| TEST_F | ( | ErrorProtocolTest | , |
| ErrorResponseTooSmall | ) |
Definition at line 509 of file test_protocol_serializer.cpp.
References database::protocol::protocol_serializer::deserialize_error_response().

| TEST_F | ( | MessageHeaderTest | , |
| AllMessageTypes | ) |
Definition at line 83 of file test_protocol_serializer.cpp.
References ASSERT_TRUE, database::protocol::protocol_serializer::deserialize_header(), database::protocol::message_header::payload_size, database::protocol::message_header::request_id, database::protocol::protocol_serializer::serialize_header(), and database::protocol::message_header::type.

| TEST_F | ( | MessageHeaderTest | , |
| DefaultMagicAndVersion | ) |
Definition at line 26 of file test_protocol_serializer.cpp.
References database::protocol::message_header::is_valid(), database::protocol::message_header::MAGIC, database::protocol::message_header::magic, database::protocol::message_header::PROTOCOL_VERSION, and database::protocol::message_header::version.

| TEST_F | ( | MessageHeaderTest | , |
| DeserializeHeaderTooSmall | ) |
Definition at line 65 of file test_protocol_serializer.cpp.
References database::protocol::protocol_serializer::deserialize_header().

| TEST_F | ( | MessageHeaderTest | , |
| DeserializeInvalidMagicReturnsError | ) |
Definition at line 71 of file test_protocol_serializer.cpp.
References database::protocol::protocol_serializer::deserialize_header().

| TEST_F | ( | MessageHeaderTest | , |
| InvalidMagic | ) |
Definition at line 33 of file test_protocol_serializer.cpp.
References database::protocol::message_header::is_valid(), and database::protocol::message_header::magic.

| TEST_F | ( | MessageHeaderTest | , |
| InvalidVersion | ) |
Definition at line 39 of file test_protocol_serializer.cpp.
References database::protocol::message_header::is_valid(), and database::protocol::message_header::version.

| TEST_F | ( | MessageHeaderTest | , |
| LargeRequestIdAndPayload | ) |
Definition at line 107 of file test_protocol_serializer.cpp.
References ASSERT_TRUE, database::protocol::protocol_serializer::deserialize_header(), database::protocol::message_header::payload_size, database::protocol::message_header::request_id, database::protocol::protocol_serializer::serialize_header(), and database::protocol::message_header::type.

| TEST_F | ( | MessageHeaderTest | , |
| SerializeDeserializeRoundTrip | ) |
Definition at line 45 of file test_protocol_serializer.cpp.
References ASSERT_TRUE, database::protocol::protocol_serializer::deserialize_header(), database::protocol::message_header::magic, database::protocol::message_header::payload_size, database::protocol::message_header::request_id, database::protocol::protocol_serializer::serialize_header(), database::protocol::message_header::type, and database::protocol::message_header::version.

| TEST_F | ( | QueryProtocolTest | , |
| QueryRequestAllOperationTypes | ) |
Definition at line 260 of file test_protocol_serializer.cpp.
References ASSERT_TRUE, database::protocol::protocol_serializer::deserialize_query_request(), database::protocol::query_request::operation, database::protocol::query_request::query_string, and database::protocol::protocol_serializer::serialize().

| TEST_F | ( | QueryProtocolTest | , |
| QueryRequestEmptyData | ) |
Definition at line 298 of file test_protocol_serializer.cpp.
References database::protocol::protocol_serializer::deserialize_query_request().

| TEST_F | ( | QueryProtocolTest | , |
| QueryRequestInsertWithMultipleParams | ) |
Definition at line 228 of file test_protocol_serializer.cpp.
References ASSERT_EQ, ASSERT_TRUE, database::protocol::protocol_serializer::deserialize_query_request(), database::protocol::query_request::operation, database::protocol::query_request::parameters, database::protocol::query_request::query_string, and database::protocol::protocol_serializer::serialize().

| TEST_F | ( | QueryProtocolTest | , |
| QueryRequestNoParameters | ) |
Definition at line 246 of file test_protocol_serializer.cpp.
References ASSERT_TRUE, database::protocol::protocol_serializer::deserialize_query_request(), database::protocol::query_request::operation, database::protocol::query_request::query_string, and database::protocol::protocol_serializer::serialize().

| TEST_F | ( | QueryProtocolTest | , |
| QueryRequestSelectRoundTrip | ) |
Definition at line 211 of file test_protocol_serializer.cpp.
References ASSERT_EQ, ASSERT_TRUE, database::protocol::protocol_serializer::deserialize_query_request(), database::protocol::query_request::operation, database::protocol::query_request::parameters, database::protocol::query_request::query_string, and database::protocol::protocol_serializer::serialize().

| TEST_F | ( | QueryProtocolTest | , |
| QueryRequestSpecialCharacters | ) |
Definition at line 280 of file test_protocol_serializer.cpp.
References ASSERT_EQ, ASSERT_TRUE, database::protocol::protocol_serializer::deserialize_query_request(), database::protocol::query_request::operation, database::protocol::query_request::parameters, database::protocol::query_request::query_string, and database::protocol::protocol_serializer::serialize().

| TEST_F | ( | QueryProtocolTest | , |
| QueryResponseEmptyData | ) |
Definition at line 367 of file test_protocol_serializer.cpp.
References database::protocol::protocol_serializer::deserialize_query_response().

| TEST_F | ( | QueryProtocolTest | , |
| QueryResponseFailure | ) |
Definition at line 351 of file test_protocol_serializer.cpp.
References ASSERT_TRUE, database::protocol::protocol_serializer::deserialize_query_response(), database::protocol::query_response::error_code, database::protocol::query_response::error_message, database::protocol::protocol_serializer::serialize(), and database::protocol::query_response::success.

| TEST_F | ( | QueryProtocolTest | , |
| QueryResponseInsertResult | ) |
Definition at line 332 of file test_protocol_serializer.cpp.
References database::protocol::query_response::affected_rows, ASSERT_TRUE, database::protocol::protocol_serializer::deserialize_query_response(), database::protocol::query_response::error_code, database::protocol::query_response::last_insert_id, database::protocol::protocol_serializer::serialize(), and database::protocol::query_response::success.

| TEST_F | ( | QueryProtocolTest | , |
| QueryResponseLargePayload | ) |
Definition at line 373 of file test_protocol_serializer.cpp.
References ASSERT_EQ, ASSERT_TRUE, database::protocol::query_response::column_names, database::protocol::protocol_serializer::deserialize_query_response(), database::protocol::query_response::rows, database::protocol::protocol_serializer::serialize(), and database::protocol::query_response::success.

| TEST_F | ( | QueryProtocolTest | , |
| QueryResponseSuccessWithRows | ) |
Definition at line 304 of file test_protocol_serializer.cpp.
References database::protocol::query_response::affected_rows, ASSERT_EQ, ASSERT_TRUE, database::protocol::query_response::column_names, database::protocol::protocol_serializer::deserialize_query_response(), database::protocol::query_response::error_code, database::protocol::query_response::last_insert_id, database::protocol::query_response::rows, database::protocol::protocol_serializer::serialize(), and database::protocol::query_response::success.

| TEST_F | ( | SerializerEdgeCaseTest | , |
| EmptyStringFields | ) |
Definition at line 521 of file test_protocol_serializer.cpp.
References ASSERT_TRUE, database::protocol::connect_request::connection_string, database::protocol::connect_request::database_type, database::protocol::protocol_serializer::deserialize_connect_request(), and database::protocol::protocol_serializer::serialize().

| TEST_F | ( | SerializerEdgeCaseTest | , |
| HeaderZeroRequestId | ) |
Definition at line 594 of file test_protocol_serializer.cpp.
References ASSERT_TRUE, database::protocol::protocol_serializer::deserialize_header(), database::protocol::message_header::payload_size, database::protocol::message_header::request_id, database::protocol::protocol_serializer::serialize_header(), and database::protocol::message_header::type.

| TEST_F | ( | SerializerEdgeCaseTest | , |
| LongStringPreserved | ) |
Definition at line 535 of file test_protocol_serializer.cpp.
References ASSERT_TRUE, database::protocol::connect_request::connection_string, database::protocol::connect_request::database_type, database::protocol::protocol_serializer::deserialize_connect_request(), and database::protocol::protocol_serializer::serialize().

| TEST_F | ( | SerializerEdgeCaseTest | , |
| ManyOptionsMapPreserved | ) |
Definition at line 557 of file test_protocol_serializer.cpp.
References ASSERT_TRUE, database::protocol::connect_request::connection_string, database::protocol::connect_request::database_type, database::protocol::protocol_serializer::deserialize_connect_request(), database::protocol::connect_request::options, and database::protocol::protocol_serializer::serialize().

| TEST_F | ( | SerializerEdgeCaseTest | , |
| QueryRequestManyParameters | ) |
Definition at line 575 of file test_protocol_serializer.cpp.
References ASSERT_EQ, ASSERT_TRUE, database::protocol::protocol_serializer::deserialize_query_request(), database::protocol::query_request::operation, database::protocol::query_request::parameters, database::protocol::query_request::query_string, and database::protocol::protocol_serializer::serialize().

| TEST_F | ( | SerializerEdgeCaseTest | , |
| UnicodeStringPreserved | ) |
Definition at line 546 of file test_protocol_serializer.cpp.
References ASSERT_TRUE, database::protocol::connect_request::connection_string, database::protocol::connect_request::database_type, database::protocol::protocol_serializer::deserialize_connect_request(), and database::protocol::protocol_serializer::serialize().

| TEST_F | ( | TransactionProtocolTest | , |
| BeginTransactionRoundTrip | ) |
Definition at line 401 of file test_protocol_serializer.cpp.
References ASSERT_TRUE, database::protocol::protocol_serializer::deserialize_transaction_request(), database::protocol::transaction_request::operation, and database::protocol::protocol_serializer::serialize().

| TEST_F | ( | TransactionProtocolTest | , |
| CommitTransactionRoundTrip | ) |
Definition at line 411 of file test_protocol_serializer.cpp.
References ASSERT_TRUE, database::protocol::protocol_serializer::deserialize_transaction_request(), database::protocol::transaction_request::operation, and database::protocol::protocol_serializer::serialize().

| TEST_F | ( | TransactionProtocolTest | , |
| RollbackTransactionRoundTrip | ) |
Definition at line 421 of file test_protocol_serializer.cpp.
References ASSERT_TRUE, database::protocol::protocol_serializer::deserialize_transaction_request(), database::protocol::transaction_request::operation, and database::protocol::protocol_serializer::serialize().

| TEST_F | ( | TransactionProtocolTest | , |
| TransactionRequestTooSmall | ) |
Definition at line 431 of file test_protocol_serializer.cpp.
References database::protocol::protocol_serializer::deserialize_transaction_request().

| TEST_F | ( | TransactionProtocolTest | , |
| TransactionResponseEmptyData | ) |
Definition at line 465 of file test_protocol_serializer.cpp.
References database::protocol::protocol_serializer::deserialize_transaction_response().

| TEST_F | ( | TransactionProtocolTest | , |
| TransactionResponseFailureRoundTrip | ) |
Definition at line 451 of file test_protocol_serializer.cpp.
References ASSERT_TRUE, database::protocol::protocol_serializer::deserialize_transaction_response(), database::protocol::transaction_response::error_message, database::protocol::protocol_serializer::serialize(), and database::protocol::transaction_response::success.

| TEST_F | ( | TransactionProtocolTest | , |
| TransactionResponseSuccessRoundTrip | ) |
Definition at line 437 of file test_protocol_serializer.cpp.
References ASSERT_TRUE, database::protocol::protocol_serializer::deserialize_transaction_response(), database::protocol::transaction_response::error_message, database::protocol::protocol_serializer::serialize(), and database::protocol::transaction_response::success.
