public async Task TestBachingPostPointsAsync()
{
try
{
var client = new InfluxDBClient (influxUrl, dbUName, dbpwd);
var points = new List<IInfluxDatapoint> ();
var today = DateTime.Now.ToShortDateString ();
var now = DateTime.Now.ToShortTimeString ();
var start = DateTime.Now.AddDays (-5);
var end = DateTime.Now;
for ( int i = 0; i < 5000; i++ )
{
var valDouble = new InfluxDatapoint<double> ();
valDouble.UtcTimestamp = DataGen.RandomDate (start, end);
valDouble.Tags.Add ("TestDate", today);
valDouble.Tags.Add ("TestTime", now);
valDouble.Fields.Add ("Doublefield", DataGen.RandomDouble ());
valDouble.Fields.Add ("Doublefield2", DataGen.RandomDouble ());
valDouble.MeasurementName = measurementName;
valDouble.Precision = (TimePrecision) ( DataGen.RandomInt () % 6 ) + 1;
var valInt = new InfluxDatapoint<int> ();
valInt.UtcTimestamp = DataGen.RandomDate (start, end);
valInt.Tags.Add ("TestDate", today);
valInt.Tags.Add ("TestTime", now);
valInt.Fields.Add ("Intfield", DataGen.RandomInt ());
valInt.Fields.Add ("Intfield2", DataGen.RandomInt ());
valInt.MeasurementName = measurementName;
valInt.Precision = (TimePrecision) ( DataGen.RandomInt () % 6 ) + 1;
var valBool = new InfluxDatapoint<bool> ();
valBool.UtcTimestamp = DataGen.RandomDate (start, end);
valBool.Tags.Add ("TestDate", today);
valBool.Tags.Add ("TestTime", now);
valBool.Fields.Add ("Booleanfield", DateTime.Now.Ticks % 2 == 0);
valBool.MeasurementName = measurementName;
valBool.Precision = (TimePrecision) ( DataGen.RandomInt () % 6 ) + 1;
var valString = new InfluxDatapoint<string> ();
valString.UtcTimestamp = DataGen.RandomDate (start, end);
valString.Tags.Add ("TestDate", today);
valString.Tags.Add ("TestTime", now);
valString.Fields.Add ("Stringfield", DataGen.RandomString ());
valString.MeasurementName = measurementName;
valString.Precision = (TimePrecision) ( DataGen.RandomInt () % 6 ) + 1;
points.Add (valString);
points.Add (valInt);
points.Add (valDouble);
points.Add (valBool);
}
var r = await client.PostPointsAsync (dbName, points);
Assert.IsTrue (points.TrueForAll (p => p.Saved == true), "PostPointsAsync did not save all points");
}
catch ( Exception e )
{
Assert.Fail ("Unexpected exception of type {0} caught: {1}",
e.GetType (), e.Message);
return;
}
}