@@ -623,3 +623,55 @@ def test_recovery(self):
623
623
self .assertEqual ('Success' , cluster .query ('' ))
624
624
self .assertEqual (1 , len (cluster .clients ))
625
625
self .assertEqual (2 , len (cluster .bad_clients ))
626
+
627
+ def test_dsn (self ):
628
+ cli = InfluxDBClusterClient .from_DSN (
629
+ 'influxdb://usr:pwd@host1:8086,usr:pwd@host2:8086/db' )
630
+ self .assertEqual (2 , len (cli .clients ))
631
+ self .assertEqual ('http://host1:8086' , cli .clients [0 ]._baseurl )
632
+ self .assertEqual ('usr' , cli .clients [0 ]._username )
633
+ self .assertEqual ('pwd' , cli .clients [0 ]._password )
634
+ self .assertEqual ('db' , cli .clients [0 ]._database )
635
+ self .assertFalse (cli .clients [0 ].use_udp )
636
+ self .assertEqual ('http://host2:8086' , cli .clients [1 ]._baseurl )
637
+ self .assertEqual ('usr' , cli .clients [1 ]._username )
638
+ self .assertEqual ('pwd' , cli .clients [1 ]._password )
639
+ self .assertEqual ('db' , cli .clients [1 ]._database )
640
+ self .assertFalse (cli .clients [1 ].use_udp )
641
+
642
+ cli = InfluxDBClusterClient .from_DSN (
643
+ 'udp+influxdb://usr:pwd@host1:8086,usr:pwd@host2:8086/db' )
644
+ self .assertTrue (cli .clients [0 ].use_udp )
645
+ self .assertTrue (cli .clients [1 ].use_udp )
646
+
647
+ cli = InfluxDBClusterClient .from_DSN (
648
+ 'https+influxdb://usr:pwd@host1:8086,usr:pwd@host2:8086/db' )
649
+ self .assertEqual ('https://host1:8086' , cli .clients [0 ]._baseurl )
650
+ self .assertEqual ('https://host2:8086' , cli .clients [1 ]._baseurl )
651
+
652
+ cli = InfluxDBClusterClient .from_DSN (
653
+ 'https+influxdb://usr:pwd@host1:8086,usr:pwd@host2:8086/db' ,
654
+ ** {'ssl' : False })
655
+ self .assertEqual ('http://host1:8086' , cli .clients [0 ]._baseurl )
656
+ self .assertEqual ('http://host2:8086' , cli .clients [1 ]._baseurl )
657
+
658
+ def test_dsn_single_client (self ):
659
+ cli = InfluxDBClusterClient .from_DSN ('influxdb://usr:pwd@host:8086/db' )
660
+ self .assertEqual ('http://host:8086' , cli .clients [0 ]._baseurl )
661
+ self .assertEqual ('usr' , cli .clients [0 ]._username )
662
+ self .assertEqual ('pwd' , cli .clients [0 ]._password )
663
+ self .assertEqual ('db' , cli .clients [0 ]._database )
664
+ self .assertFalse (cli .clients [0 ].use_udp )
665
+
666
+ cli = InfluxDBClusterClient .from_DSN (
667
+ 'udp+influxdb://usr:pwd@host:8086/db' )
668
+ self .assertTrue (cli .clients [0 ].use_udp )
669
+
670
+ cli = InfluxDBClusterClient .from_DSN (
671
+ 'https+influxdb://usr:pwd@host:8086/db' )
672
+ self .assertEqual ('https://host:8086' , cli .clients [0 ]._baseurl )
673
+
674
+ cli = InfluxDBClusterClient .from_DSN (
675
+ 'https+influxdb://usr:pwd@host:8086/db' ,
676
+ ** {'ssl' : False })
677
+ self .assertEqual ('http://host:8086' , cli .clients [0 ]._baseurl )
0 commit comments