@@ -75,6 +75,7 @@ private:
75
75
static void testServerTempDownBatchsize5 ();
76
76
static void testRetriesOnServerOverload ();
77
77
static void testRetryInterval ();
78
+ static void testDefaultTags ();
78
79
};
79
80
80
81
void loop () {
@@ -88,8 +89,8 @@ void loop() {
88
89
void Test::run () {
89
90
// Basic tests
90
91
testOptions ();
91
- testEcaping ();
92
92
testPoint ();
93
+ testEcaping ();
93
94
testFluxTypes ();
94
95
testFluxParserEmpty ();
95
96
testFluxParserSingleTable ();
@@ -106,6 +107,7 @@ void Test::run() {
106
107
testV1 ();
107
108
testUserAgent ();
108
109
testHTTPReadTimeout ();
110
+ testDefaultTags ();
109
111
// Advanced tests
110
112
testFailedWrites ();
111
113
testTimestamp ();
@@ -127,15 +129,17 @@ void Test::testOptions() {
127
129
TEST_ASSERT (defWO._retryInterval == 5 );
128
130
TEST_ASSERT (defWO._maxRetryInterval == 300 );
129
131
TEST_ASSERT (defWO._maxRetryAttempts == 3 );
132
+ TEST_ASSERT (defWO._defaultTags .length () == 0 );
130
133
131
- defWO = WriteOptions ().writePrecision (WritePrecision::NS).batchSize (10 ).bufferSize (20 ).flushInterval (120 ).retryInterval (1 ).maxRetryInterval (20 ).maxRetryAttempts (5 );
134
+ defWO = WriteOptions ().writePrecision (WritePrecision::NS).batchSize (10 ).bufferSize (20 ).flushInterval (120 ).retryInterval (1 ).maxRetryInterval (20 ).maxRetryAttempts (5 ). addDefaultTag ( " tag1 " , " val1 " ). addDefaultTag ( " tag2 " , " val2 " ) ;
132
135
TEST_ASSERT (defWO._writePrecision == WritePrecision::NS);
133
136
TEST_ASSERT (defWO._batchSize == 10 );
134
137
TEST_ASSERT (defWO._bufferSize == 20 );
135
138
TEST_ASSERT (defWO._flushInterval == 120 );
136
139
TEST_ASSERT (defWO._retryInterval == 1 );
137
140
TEST_ASSERT (defWO._maxRetryInterval == 20 );
138
141
TEST_ASSERT (defWO._maxRetryAttempts == 5 );
142
+ TEST_ASSERT (defWO._defaultTags == " tag1=val1,tag2=val2" );
139
143
140
144
HTTPOptions defHO;
141
145
TEST_ASSERT (!defHO._connectionReuse );
@@ -200,9 +204,16 @@ void Test::testEcaping() {
200
204
p.addField (" fie ld" , " val ue" );
201
205
p.addField (" fie,ld" , " val,ue" );
202
206
p.addField (" fie\" ld" , " val\" ue" );
207
+
203
208
204
209
String line = p.toLineProtocol ();
205
- TEST_ASSERTM (line == " t\\\r e=s\\\n t\\\t _t\\ e\" s\\ ,t,ta\\ =g=val\\ =ue,ta\\\t g=val\\\t ue,ta\\\r g=val\\\r ue,ta\\\n g=val\\\n ue,ta\\ g=valu\\ e,ta\\ ,g=valu\\ ,e,tag=value,ta\" g=val\" ue fie\\ =ld=\" val=ue\" ,fie\\\t ld=\" val\t ue\" ,fie\\\r ld=\" val\r ue\" ,fie\\\n ld=\" val\n ue\" ,fie\\ ld=\" val ue\" ,fie\\ ,ld=\" val,ue\" ,fie\" ld=\" val\\\" ue\" " , line);//
210
+ TEST_ASSERTM (line == " t\\\r e=s\\\n t\\\t _t\\ e\" s\\ ,t,ta\\ =g=val\\ =ue,ta\\\t g=val\\\t ue,ta\\\r g=val\\\r ue,ta\\\n g=val\\\n ue,ta\\ g=valu\\ e,ta\\ ,g=valu\\ ,e,tag=value,ta\" g=val\" ue fie\\ =ld=\" val=ue\" ,fie\\\t ld=\" val\t ue\" ,fie\\\r ld=\" val\r ue\" ,fie\\\n ld=\" val\n ue\" ,fie\\ ld=\" val ue\" ,fie\\ ,ld=\" val,ue\" ,fie\" ld=\" val\\\" ue\" " , line);
211
+
212
+ WriteOptions w;
213
+ w.addDefaultTag (" dta=g" ," dval=ue" );
214
+ w.addDefaultTag (" dtag" ," dvalue" );
215
+ line = p.toLineProtocol (w._defaultTags );
216
+ TEST_ASSERTM (line == " t\\\r e=s\\\n t\\\t _t\\ e\" s\\ ,t,ta\\ =g=val\\ =ue,ta\\\t g=val\\\t ue,ta\\\r g=val\\\r ue,ta\\\n g=val\\\n ue,ta\\ g=valu\\ e,ta\\ ,g=valu\\ ,e,tag=value,ta\" g=val\" ue,dta\\ =g=dval\\ =ue,dtag=dvalue fie\\ =ld=\" val=ue\" ,fie\\\t ld=\" val\t ue\" ,fie\\\r ld=\" val\r ue\" ,fie\\\n ld=\" val\n ue\" ,fie\\ ld=\" val ue\" ,fie\\ ,ld=\" val,ue\" ,fie\" ld=\" val\\\" ue\" " , line);
206
217
TEST_END ();
207
218
}
208
219
@@ -233,6 +244,17 @@ void Test::testPoint() {
233
244
String testLine = " test,tag1=tagvalue fieldInt=-23i,fieldBool=true,fieldFloat1=1.12,fieldFloat2=1.12345,fieldDouble1=1.12,fieldDouble2=1.12345,fieldChar=\" A\" ,fieldUChar=1i,fieldUInt=23i,fieldLong=123456i,fieldULong=123456i,fieldString=\" text test\" " ;
234
245
TEST_ASSERTM (line == testLine, line);
235
246
247
+ String defaultTags=" dtag=val" ;
248
+ line = p.toLineProtocol (defaultTags);
249
+ testLine = " test,tag1=tagvalue,dtag=val fieldInt=-23i,fieldBool=true,fieldFloat1=1.12,fieldFloat2=1.12345,fieldDouble1=1.12,fieldDouble2=1.12345,fieldChar=\" A\" ,fieldUChar=1i,fieldUInt=23i,fieldLong=123456i,fieldULong=123456i,fieldString=\" text test\" " ;
250
+ TEST_ASSERTM (line == testLine, line);
251
+
252
+ p.clearTags ();
253
+ line = p.toLineProtocol (defaultTags);
254
+ testLine = " test,dtag=val fieldInt=-23i,fieldBool=true,fieldFloat1=1.12,fieldFloat2=1.12345,fieldDouble1=1.12,fieldDouble2=1.12345,fieldChar=\" A\" ,fieldUChar=1i,fieldUInt=23i,fieldLong=123456i,fieldULong=123456i,fieldString=\" text test\" " ;
255
+ TEST_ASSERTM (line == testLine, line);
256
+
257
+
236
258
p.clearFields ();
237
259
p.clearTags ();
238
260
@@ -355,6 +377,7 @@ void Test::testBasicFunction() {
355
377
deleteAll (INFLUXDB_CLIENT_TESTING_URL);
356
378
}
357
379
380
+
358
381
void Test::testInit () {
359
382
TEST_INIT (" testInit" );
360
383
{
@@ -1696,6 +1719,66 @@ void Test::testRetryInterval() {
1696
1719
deleteAll (INFLUXDB_CLIENT_TESTING_URL);
1697
1720
}
1698
1721
1722
+ void Test::testDefaultTags () {
1723
+ TEST_INIT (" testDefaultTags" );
1724
+
1725
+ InfluxDBClient client (INFLUXDB_CLIENT_TESTING_URL, INFLUXDB_CLIENT_TESTING_ORG, INFLUXDB_CLIENT_TESTING_BUC, INFLUXDB_CLIENT_TESTING_TOK);
1726
+
1727
+ TEST_ASSERT (waitServer (client, true ));
1728
+ for (int i = 0 ; i < 5 ; i++) {
1729
+ Point *p = createPoint (" test1" );
1730
+ p->addField (" index" , i);
1731
+ TEST_ASSERT (client.writePoint (*p));
1732
+ delete p;
1733
+ }
1734
+ String query = " select" ;
1735
+ FluxQueryResult q = client.query (query);
1736
+ TEST_ASSERTM (q.getError ()==" " , q.getError ());
1737
+ TEST_ASSERT (q.next ());
1738
+ TEST_ASSERTM (q.getColumnsName ().size ()==10 ,String (q.getColumnsName ().size ()));
1739
+ TEST_ASSERT (q.next ());
1740
+ TEST_ASSERT (q.next ());
1741
+ TEST_ASSERT (q.next ());
1742
+ TEST_ASSERTM (q.getColumnsName ().size ()==10 ,String (q.getColumnsName ().size ())) ;
1743
+ TEST_ASSERT (q.next ());
1744
+ TEST_ASSERT (!q.next ());
1745
+ q.close ();
1746
+ deleteAll (INFLUXDB_CLIENT_TESTING_URL);
1747
+
1748
+ client.setWriteOptions (WriteOptions ().addDefaultTag (" dtag1" ," dval1" ).addDefaultTag (" dtag2" ," dval2" ));
1749
+
1750
+ for (int i = 0 ; i < 5 ; i++) {
1751
+ Point *p = createPoint (" test1" );
1752
+ p->addField (" index" , i);
1753
+ TEST_ASSERT (client.writePoint (*p));
1754
+ delete p;
1755
+ }
1756
+ q = client.query (query);
1757
+ TEST_ASSERTM (q.getError ()==" " , q.getError ());
1758
+ TEST_ASSERT (q.next ());
1759
+ TEST_ASSERTM (q.getColumnsName ().size ()==12 ,String (q.getColumnsName ().size ()));
1760
+ TEST_ASSERTM (q.getValueByName (" dtag1" ).getString () == " dval1" , q.getValueByName (" dtag1" ).getString ());
1761
+ TEST_ASSERTM (q.getValueByName (" dtag2" ).getString () == " dval2" , q.getValueByName (" dtag2" ).getString ());
1762
+ TEST_ASSERT (q.next ());
1763
+ TEST_ASSERTM (q.getValueByName (" dtag1" ).getString () == " dval1" ,q.getValueByName (" dtag1" ).getString ());
1764
+ TEST_ASSERTM (q.getValueByName (" dtag2" ).getString () == " dval2" , q.getValueByName (" dtag2" ).getString ());
1765
+ TEST_ASSERT (q.next ());
1766
+ TEST_ASSERTM (q.getValueByName (" dtag1" ).getString () == " dval1" ,q.getValueByName (" dtag1" ).getString ());
1767
+ TEST_ASSERTM (q.getValueByName (" dtag2" ).getString () == " dval2" , q.getValueByName (" dtag2" ).getString ());
1768
+ TEST_ASSERT (q.next ());
1769
+ TEST_ASSERTM (q.getColumnsName ().size ()==12 ,String (q.getColumnsName ().size ())) ;
1770
+ TEST_ASSERTM (q.getValueByName (" dtag1" ).getString () == " dval1" ,q.getValueByName (" dtag1" ).getString ());
1771
+ TEST_ASSERTM (q.getValueByName (" dtag2" ).getString () == " dval2" , q.getValueByName (" dtag2" ).getString ());
1772
+ TEST_ASSERT (q.next ());
1773
+ TEST_ASSERTM (q.getValueByName (" dtag1" ).getString () == " dval1" ,q.getValueByName (" dtag1" ).getString ());
1774
+ TEST_ASSERTM (q.getValueByName (" dtag2" ).getString () == " dval2" , q.getValueByName (" dtag2" ).getString ());
1775
+ TEST_ASSERT (!q.next ());
1776
+ q.close ();
1777
+
1778
+ TEST_END ();
1779
+ deleteAll (INFLUXDB_CLIENT_TESTING_URL);
1780
+ }
1781
+
1699
1782
Point *createPoint (String measurement) {
1700
1783
Point *point = new Point (measurement);
1701
1784
point->addTag (" SSID" , WiFi.SSID ());
0 commit comments