TEST_F(connected_test, queue_declare_counts_table) { boost::uint32_t message_count = 123; boost::uint32_t consumer_count = 123; Table qTable; qTable.insert(TableEntry(TableKey("IsATest"), TableValue(true))); std::string queue = channel->DeclareQueueWithCounts( "queue_declare_counts_table", message_count, consumer_count, false, false, true, true, qTable); EXPECT_NE("", queue); EXPECT_EQ(0, message_count); EXPECT_EQ(0, consumer_count); const std::string body("Test Message"); BasicMessage::ptr_t out_message = BasicMessage::Create(body); channel->BasicPublish("", queue, out_message); channel->BasicPublish("", queue, out_message); channel->BasicPublish("", queue, out_message); std::string queue2 = channel->DeclareQueueWithCounts( "queue_declare_counts_table", message_count, consumer_count, false, false, true, true, qTable); EXPECT_NE("", queue2); EXPECT_EQ(3, message_count); EXPECT_EQ(0, consumer_count); channel->DeleteQueue(queue); }
const char * RequestHeaderValue(TSession * const sessionP, const char * const name) { return TableValue(&sessionP->requestHeaderFields, name); }
TableValue TableValueImpl::CreateTableValue(const amqp_field_value_t &entry) { switch (entry.kind) { case AMQP_FIELD_KIND_VOID: return TableValue(); case AMQP_FIELD_KIND_BOOLEAN: return TableValue((bool)entry.value.boolean); case AMQP_FIELD_KIND_I8: return TableValue(entry.value.i8); case AMQP_FIELD_KIND_I16: return TableValue(entry.value.i16); case AMQP_FIELD_KIND_I32: return TableValue(entry.value.i32); case AMQP_FIELD_KIND_I64: case AMQP_FIELD_KIND_TIMESTAMP: return TableValue(entry.value.i64); case AMQP_FIELD_KIND_F32: return TableValue(entry.value.f32); case AMQP_FIELD_KIND_F64: return TableValue(entry.value.f64); case AMQP_FIELD_KIND_UTF8: case AMQP_FIELD_KIND_BYTES: return TableValue(std::string((char*)entry.value.bytes.bytes, entry.value.bytes.len)); case AMQP_FIELD_KIND_ARRAY: { amqp_array_t array = entry.value.array; Detail::array_t new_array; for (int i = 0; i < array.num_entries; ++i) { new_array.push_back(CreateTableValue(array.entries[i])); } return TableValue(new_array); } case AMQP_FIELD_KIND_TABLE: return TableValue(CreateTable(entry.value.table)); case AMQP_FIELD_KIND_DECIMAL: default: return TableValue(); } }