@@ -47,19 +47,6 @@ class MySQLIntegrationTest : public testing::TestWithParam<Network::Address::IpV
4747 }
4848};
4949
50- int mysqlGetCounterValueFromStats (const std::string& msg, const std::string& mysql_stat,
51- int & counter) {
52- Json::ObjectSharedPtr stats = Json::Factory::loadFromString (msg);
53- for (const Json::ObjectSharedPtr& stat : stats->getObjectArray (" stats" )) {
54- std::string entry = stat->getString (" name" );
55- if (!entry.compare (mysql_stat)) {
56- counter = stat->getInteger (" value" );
57- return 0 ;
58- }
59- }
60- return -1 ;
61- }
62-
6350INSTANTIATE_TEST_SUITE_P (IpVersions, MySQLIntegrationTest,
6451 testing::ValuesIn (TestEnvironment::getIpVersionsForTest()));
6552
@@ -77,16 +64,7 @@ TEST_P(MySQLIntegrationTest, MySQLStatsNewSessionTest) {
7764 ASSERT_TRUE (fake_upstream_connection->waitForDisconnect ());
7865 }
7966
80- BufferingStreamDecoderPtr response =
81- IntegrationUtil::makeSingleRequest (lookupPort (" admin" ), " GET" , " /stats?format=json" , " " ,
82- Http::CodecClient::Type::HTTP1, version_);
83-
84- int ret = 0 ;
85- int counter = 0 ;
86- std::string mysql_stat = " mysql.mysql_stats.sessions" ;
87- ret = mysqlGetCounterValueFromStats (response->body (), mysql_stat, counter);
88- EXPECT_EQ (ret, 0 );
89- EXPECT_EQ (counter, SESSIONS);
67+ test_server_->waitForCounterGe (" mysql.mysql_stats.sessions" , SESSIONS);
9068}
9169
9270/* *
@@ -124,20 +102,8 @@ TEST_P(MySQLIntegrationTest, MysqLoginTest) {
124102 tcp_client->close ();
125103 ASSERT_TRUE (fake_upstream_connection->waitForDisconnect ());
126104
127- // Verify counters
128- BufferingStreamDecoderPtr response =
129- IntegrationUtil::makeSingleRequest (lookupPort (" admin" ), " GET" , " /stats?format=json" , " " ,
130- Http::CodecClient::Type::HTTP1, version_);
131- int ret = 0 ;
132- int counter = 0 ;
133- std::string mysql_stat = " mysql.mysql_stats.login_attempts" ;
134- ret = mysqlGetCounterValueFromStats (response->body (), mysql_stat, counter);
135- EXPECT_EQ (ret, 0 );
136- EXPECT_EQ (counter, 1 );
137- mysql_stat = " mysql.mysql_stats.login_failures" ;
138- ret = mysqlGetCounterValueFromStats (response->body (), mysql_stat, counter);
139- EXPECT_EQ (ret, 0 );
140- EXPECT_EQ (counter, 0 );
105+ test_server_->waitForCounterGe (" mysql.mysql_stats.login_attempts" , 1 );
106+ EXPECT_EQ (test_server_->counter (" mysql.mysql_stats.login_failures" )->value (), 0 );
141107}
142108
143109/* *
@@ -181,19 +147,9 @@ TEST_P(MySQLIntegrationTest, MySQLUnitTestMultiClientsLoop) {
181147 }
182148
183149 // Verify counters: CLIENT_NUM login attempts, no failures
184- BufferingStreamDecoderPtr response =
185- IntegrationUtil::makeSingleRequest (lookupPort (" admin" ), " GET" , " /stats?format=json" , " " ,
186- Http::CodecClient::Type::HTTP1, version_);
187- int ret = 0 ;
188- int counter = 0 ;
189- std::string mysql_stat = " mysql.mysql_stats.login_attempts" ;
190- ret = mysqlGetCounterValueFromStats (response->body (), mysql_stat, counter);
191- EXPECT_EQ (ret, 0 );
192- EXPECT_EQ (counter, CLIENT_NUM);
193- mysql_stat = " mysql.mysql_stats.login_failures" ;
194- ret = mysqlGetCounterValueFromStats (response->body (), mysql_stat, counter);
195- EXPECT_EQ (ret, 0 );
196- EXPECT_EQ (counter, 0 );
150+ test_server_->waitForCounterGe (" mysql.mysql_stats.login_attempts" , CLIENT_NUM);
151+ EXPECT_EQ (test_server_->counter (" mysql.mysql_stats.login_attempts" )->value (), CLIENT_NUM);
152+ EXPECT_EQ (test_server_->counter (" mysql.mysql_stats.login_failures" )->value (), 0 );
197153}
198154
199155} // namespace MySQLProxy
0 commit comments