4
4
"""
5
5
import json
6
6
import requests
7
+ import socket
7
8
from nose .tools import raises
8
9
from mock import patch
9
10
@@ -36,7 +37,7 @@ def request(*args, **kwargs):
36
37
assert isinstance (data , str )
37
38
38
39
# Data must be a JSON string
39
- assert c == json .loads (data )
40
+ assert c == json .loads (data , strict = True )
40
41
41
42
c = data
42
43
@@ -91,6 +92,27 @@ def test_write_points(self):
91
92
cli = InfluxDBClient ('host' , 8086 , 'username' , 'password' , 'db' )
92
93
assert cli .write_points (data ) is True
93
94
95
+ def test_write_points_udp (self ):
96
+ data = [
97
+ {
98
+ "points" : [
99
+ ["1" , 1 , 1.0 ],
100
+ ["2" , 2 , 2.0 ]
101
+ ],
102
+ "name" : "foo" ,
103
+ "columns" : ["column_one" , "column_two" , "column_three" ]
104
+ }
105
+ ]
106
+
107
+ s = socket .socket (socket .AF_INET , socket .SOCK_DGRAM )
108
+ s .bind (('0.0.0.0' , 4444 ))
109
+
110
+ cli = InfluxDBClient ('localhost' , 8086 , 'root' , 'root' , 'test' , use_udp = True , udp_port = 4444 )
111
+ cli .write_points (data )
112
+
113
+ received_data , addr = s .recvfrom (1024 )
114
+ assert data == json .loads (received_data .decode (), strict = True )
115
+
94
116
@raises (Exception )
95
117
def test_write_points_fails (self ):
96
118
with _mocked_session ('post' , 500 ) as mocked :
@@ -273,4 +295,4 @@ def test_delete_database_user(self):
273
295
@raises (NotImplementedError )
274
296
def test_update_permission (self ):
275
297
cli = InfluxDBClient ('host' , 8086 , 'username' , 'password' , 'db' )
276
- cli .update_permission ('admin' , [])
298
+ cli .update_permission ('admin' , [])
0 commit comments