From 2e9233136998db2db9cb6a02da8ba6939b6ebb7f Mon Sep 17 00:00:00 2001 From: Yuval Lifshitz Date: Sun, 25 Jun 2023 08:56:26 +0000 Subject: [PATCH] rgw/amqp: use "fmt" for converting connection_id to string Signed-off-by: Yuval Lifshitz --- src/rgw/rgw_amqp.cc | 4 +++- src/rgw/rgw_amqp.h | 2 ++ src/test/rgw/test_rgw_amqp.cc | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/rgw/rgw_amqp.cc b/src/rgw/rgw_amqp.cc index 0bea58d24d5..3014edd1db0 100644 --- a/src/rgw/rgw_amqp.cc +++ b/src/rgw/rgw_amqp.cc @@ -75,7 +75,9 @@ struct connection_id_hasher { }; std::string to_string(const connection_id_t& id) { - return std::string("amqp")+(id.ssl ? "s" : "")+"://"+id.host+":"+std::to_string(id.port)+id.vhost+"?exchange="+id.exchange; + return fmt::format("{}://{}:{}{}?exchange={}", + id.ssl ? "amqps" : "amqp", + id.host, id.port, id.vhost, id.exchange); } // automatically cleans amqp state when gets out of scope diff --git a/src/rgw/rgw_amqp.h b/src/rgw/rgw_amqp.h index 89cdafc448f..c363f4d7403 100644 --- a/src/rgw/rgw_amqp.h +++ b/src/rgw/rgw_amqp.h @@ -34,6 +34,8 @@ struct connection_id_t { connection_id_t(const amqp_connection_info& info, const std::string& _exchange); }; +std::string to_string(const connection_id_t& id); + // connect to an amqp endpoint bool connect(connection_id_t& conn_id, const std::string& url, const std::string& exchange, bool mandatory_delivery, bool verify_ssl, boost::optional ca_location); diff --git a/src/test/rgw/test_rgw_amqp.cc b/src/test/rgw/test_rgw_amqp.cc index 2ce9cb2a0a0..c125d9e092d 100644 --- a/src/test/rgw/test_rgw_amqp.cc +++ b/src/test/rgw/test_rgw_amqp.cc @@ -134,10 +134,12 @@ TEST_F(TestAMQP, PlainAndSSLConnectionsOK) EXPECT_EQ(amqp::get_connection_count(), connection_number + 1); rc = amqp::publish(conn_id1, "topic", "message"); EXPECT_EQ(rc, 0); + EXPECT_EQ(amqp::to_string(conn_id1), "amqps://localhost:5671/?exchange=ex1"); amqp_mock::set_valid_port(5672); amqp::connection_id_t conn_id2; rc = amqp::connect(conn_id2, "amqp://localhost", "ex1", false, false, boost::none); EXPECT_TRUE(rc); + EXPECT_EQ(amqp::to_string(conn_id2), "amqp://localhost:5672/?exchange=ex1"); EXPECT_EQ(amqp::get_connection_count(), connection_number + 2); rc = amqp::publish(conn_id2, "topic", "message"); EXPECT_EQ(rc, 0); -- 2.39.5