@@ -353,6 +353,7 @@ TEST_F(Sess, bind_node_session)
353
353
cout << " Done!" << endl;
354
354
}
355
355
356
+
356
357
TEST_F (Sess, ssl_session)
357
358
{
358
359
@@ -525,3 +526,58 @@ TEST_F(Sess, ssl_session)
525
526
}
526
527
527
528
}
529
+
530
+
531
+ TEST_F (Sess, ipv6)
532
+ {
533
+
534
+ SKIP_IF_NO_XPLUGIN;
535
+
536
+ {
537
+ mysqlx::XSession sess (SessionSettings::HOST, " ::1" ,
538
+ SessionSettings::PORT, get_port (),
539
+ SessionSettings::USER, get_user (),
540
+ SessionSettings::PWD, get_password () ? get_password () : nullptr ,
541
+ SessionSettings::SSL_ENABLE, false );
542
+ }
543
+
544
+ // Using URI
545
+
546
+ std::stringstream uri;
547
+
548
+ uri << " mysqlx://" << get_user ();
549
+
550
+ if (get_password () && *get_password ())
551
+ uri << " :" << get_password ();
552
+
553
+ uri << " @" << " [::1]:" << get_port ();
554
+
555
+ // URI without ssl_enable
556
+ {
557
+ mysqlx::XSession sess (uri.str ());
558
+
559
+ SqlResult res = sess.bindToDefaultShard ().sql (" SHOW STATUS LIKE 'mysqlx_ssl_cipher'" ).execute ();
560
+
561
+ auto row = res.fetchOne ();
562
+ cout << row[0 ] << " :" << row[1 ] << endl;
563
+
564
+ string cipher = row[1 ];
565
+
566
+ EXPECT_TRUE (cipher.empty ());
567
+ }
568
+
569
+ // Enable SSL
570
+ uri << " /?ssl-enable" ;
571
+ {
572
+ mysqlx::XSession sess (uri.str ());
573
+
574
+ SqlResult res = sess.bindToDefaultShard ().sql (" SHOW STATUS LIKE 'mysqlx_ssl_cipher'" ).execute ();
575
+
576
+ auto row = res.fetchOne ();
577
+ cout << row[0 ] << " :" << row[1 ] << endl;
578
+
579
+ string cipher = row[1 ];
580
+
581
+ EXPECT_FALSE (cipher.empty ());
582
+ }
583
+ }
0 commit comments