Skip to content

Commit 6670258

Browse files
committed
Fix UT
1 parent fc978c5 commit 6670258

File tree

1 file changed

+15
-31
lines changed

1 file changed

+15
-31
lines changed

test/unit/classes/connection.cpp

Lines changed: 15 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -3028,43 +3028,27 @@ void connection::tls_version()
30283028

30293029
res->next();
30303030

3031-
std::string tls_versions = res->getString(2);
3032-
3033-
connection_properties["OPT_SSL_MODE"] = sql::SSL_MODE_REQUIRED;
3034-
3035-
if (tls_versions.find("TLSv1") != std::string::npos)
3036-
{
3037-
connection_properties["OPT_TLS_VERSION"] = sql::SQLString("TLSv1");
3038-
3039-
created_objects.clear();
3040-
con.reset(driver->connect(connection_properties));
3041-
3042-
stmt.reset(con->createStatement());
3043-
res.reset(stmt->executeQuery("SHOW SESSION STATUS LIKE 'Ssl_version'"));
3031+
std::string tls_available = res->getString(2);
30443032

3045-
res->next();
3033+
std::vector<std::string> tls_versions;
30463034

3047-
ASSERT_EQUALS("TLSv1", res->getString(2));
3048-
}
3035+
size_t begin_pos = 0;
30493036

3050-
if (tls_versions.find("TLSv1.1") != std::string::npos)
3037+
for ( size_t end_pos = tls_available.find_first_of(',',begin_pos);
3038+
begin_pos != std::string::npos || end_pos != std::string::npos;
3039+
begin_pos = end_pos == std::string::npos ? end_pos : end_pos+1,
3040+
end_pos = tls_available.find_first_of(',',begin_pos))
30513041
{
3052-
connection_properties["OPT_TLS_VERSION"] = sql::SQLString("TLSv1,TLSv1.1");
3053-
3054-
created_objects.clear();
3055-
con.reset(driver->connect(connection_properties));
3056-
3057-
stmt.reset(con->createStatement());
3058-
res.reset(stmt->executeQuery("SHOW SESSION STATUS LIKE 'Ssl_version'"));
3059-
3060-
res->next();
3061-
3062-
ASSERT_EQUALS("TLSv1.1", res->getString(2));
3042+
tls_versions.push_back(tls_available.substr(begin_pos, end_pos));
30633043
}
30643044

3065-
if (tls_versions.find("TLSv1.2") != std::string::npos)
3045+
connection_properties["OPT_SSL_MODE"] = sql::SSL_MODE_REQUIRED;
3046+
3047+
for (std::vector<std::string>::const_iterator version = tls_versions.begin();
3048+
version != tls_versions.end();
3049+
++version)
30663050
{
3067-
connection_properties["OPT_TLS_VERSION"] = sql::SQLString("TLSv1,TLSv1.1,TLSv1.2");
3051+
connection_properties["OPT_TLS_VERSION"] = sql::SQLString(*version);
30683052

30693053
created_objects.clear();
30703054
con.reset(driver->connect(connection_properties));
@@ -3074,7 +3058,7 @@ void connection::tls_version()
30743058

30753059
res->next();
30763060

3077-
ASSERT_EQUALS("TLSv1.2", res->getString(2));
3061+
ASSERT_EQUALS(*version, res->getString(2));
30783062
}
30793063

30803064
}

0 commit comments

Comments
 (0)