3
3
import unittest
4
4
import warnings
5
5
6
+ import mock
6
7
from influxdb import SeriesHelper , InfluxDBClient
7
8
from requests .exceptions import ConnectionError
8
9
@@ -18,7 +19,8 @@ def setUpClass(cls):
18
19
8086 ,
19
20
'username' ,
20
21
'password' ,
21
- 'database' )
22
+ 'database'
23
+ )
22
24
23
25
class MySeriesHelper (SeriesHelper ):
24
26
@@ -31,10 +33,33 @@ class Meta:
31
33
32
34
TestSeriesHelper .MySeriesHelper = MySeriesHelper
33
35
36
+ def test_auto_commit (self ):
37
+ """
38
+ Tests that write_points is called after the right number of events
39
+ """
40
+ class AutoCommitTest (SeriesHelper ):
41
+
42
+ class Meta :
43
+ series_name = 'events.stats.{server_name}'
44
+ fields = ['time' , 'server_name' ]
45
+ bulk_size = 5
46
+ client = InfluxDBClient ()
47
+ autocommit = True
48
+
49
+ fake_write_points = mock .MagicMock ()
50
+ AutoCommitTest (server_name = 'us.east-1' , time = 159 )
51
+ AutoCommitTest ._client .write_points = fake_write_points
52
+ AutoCommitTest (server_name = 'us.east-1' , time = 158 )
53
+ AutoCommitTest (server_name = 'us.east-1' , time = 157 )
54
+ AutoCommitTest (server_name = 'us.east-1' , time = 156 )
55
+ self .assertFalse (fake_write_points .called )
56
+ AutoCommitTest (server_name = 'us.east-1' , time = 3443 )
57
+ self .assertTrue (fake_write_points .called )
58
+
34
59
def testSingleSeriesName (self ):
35
- '''
60
+ """
36
61
Tests JSON conversion when there is only one series name.
37
- '''
62
+ """
38
63
TestSeriesHelper .MySeriesHelper (server_name = 'us.east-1' , time = 159 )
39
64
TestSeriesHelper .MySeriesHelper (server_name = 'us.east-1' , time = 158 )
40
65
TestSeriesHelper .MySeriesHelper (server_name = 'us.east-1' , time = 157 )
@@ -121,9 +146,9 @@ class Meta:
121
146
'server_name' : 'us.east-1' })
122
147
123
148
def testWarnBulkSizeZero (self ):
124
- '''
149
+ """
125
150
Tests warning for an invalid bulk size.
126
- '''
151
+ """
127
152
class WarnBulkSizeZero (SeriesHelper ):
128
153
129
154
class Meta :
@@ -148,9 +173,9 @@ class Meta:
148
173
'Warning message did not contain "forced to 1".' )
149
174
150
175
def testWarnBulkSizeNoEffect (self ):
151
- '''
176
+ """
152
177
Tests warning for a set bulk size but autocommit False.
153
- '''
178
+ """
154
179
class WarnBulkSizeNoEffect (SeriesHelper ):
155
180
156
181
class Meta :
0 commit comments