MCPcopy Create free account
hub / github.com/alanxz/SimpleAmqpClient / TEST_F

Function TEST_F

testing/test_table.cpp:834–877  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

832}
833
834TEST_F(connected_test, basic_message_header_roundtrip) {
835 Table table_in;
836 table_in.insert(TableEntry("void_key", TableValue()));
837 table_in.insert(TableEntry("bool_key", true));
838 table_in.insert(TableEntry("uint8_key", uint8_t(8)));
839 table_in.insert(TableEntry("int8_key", int8_t(8)));
840 table_in.insert(TableEntry("uint16_key", uint16_t(16)));
841 table_in.insert(TableEntry("int16_key", int16_t(16)));
842 table_in.insert(TableEntry("uint32_key", uint32_t(32)));
843 table_in.insert(TableEntry("int32_key", int32_t(32)));
844 table_in.insert(TableEntry("timestamp_key", TableValue::Timestamp(64)));
845 table_in.insert(TableEntry("int64_key", int64_t(64)));
846 table_in.insert(TableEntry("float_key", float(1.5)));
847 table_in.insert(TableEntry("double_key", double(2.25)));
848 table_in.insert(TableEntry("string_key", "A string!"));
849
850 std::vector<TableValue> array_in;
851 array_in.push_back(TableValue(false));
852 array_in.push_back(TableValue(int32_t(10)));
853 array_in.push_back(TableValue(std::string("Another string")));
854
855 table_in.insert(TableEntry("array_key", array_in));
856
857 Table table_inner;
858 table_inner.insert(TableEntry("inner_string", "An inner table"));
859 table_inner.insert(TableEntry("inner array", array_in));
860
861 table_in.insert(TableEntry("table_key", table_inner));
862
863 std::string queue = channel->DeclareQueue("");
864 std::string tag = channel->BasicConsume(queue, "");
865
866 BasicMessage::ptr_t message_in = BasicMessage::Create("Body");
867 message_in->HeaderTable(table_in);
868
869 channel->BasicPublish("", queue, message_in);
870
871 Envelope::ptr_t envelope = channel->BasicConsumeMessage(tag);
872 BasicMessage::ptr_t message_out = envelope->Message();
873 Table table_out = message_out->HeaderTable();
874
875 EXPECT_EQ(table_in.size(), table_out.size());
876 EXPECT_TRUE(std::equal(table_in.begin(), table_in.end(), table_out.begin()));
877}
878
879TEST_F(connected_test, basic_message_empty_table_roundtrip) {
880 std::string queue = channel->DeclareQueue("");

Callers

nothing calls this directly

Calls 7

TableValueClass · 0.85
DeclareQueueMethod · 0.80
BasicConsumeMethod · 0.80
HeaderTableMethod · 0.80
BasicPublishMethod · 0.80
BasicConsumeMessageMethod · 0.80
CreateFunction · 0.50

Tested by

no test coverage detected