use of com.axibase.tsd.api.model.metric.Metric in project atsd-api-test by axibase.
the class SeriesInsertTest method testBigFloatOverflow.
@Issue("2871")
@Test
public void testBigFloatOverflow() throws Exception {
String entityName = "e-float-1";
String metricName = "m-float-1";
BigDecimal largeNumber = new BigDecimal("10.121212121212121212212121212121212121212121");
final long t = MILLS_TIME;
Series series = new Series(entityName, metricName);
series.addSamples(Sample.ofDateDecimal(Util.ISOFormat(t), largeNumber));
Metric metric = new Metric();
metric.setName(metricName);
metric.setDataType(DataType.FLOAT);
MetricMethod.createOrReplaceMetricCheck(metric);
assertEquals("Failed to insert float series", OK.getStatusCode(), insertSeries(Collections.singletonList(series)).getStatus());
SeriesQuery seriesQuery = new SeriesQuery(series.getEntity(), series.getMetric(), t, t + 1);
assertSeriesQueryDataSize(seriesQuery, 1);
List<Series> seriesList = querySeriesAsList(seriesQuery);
assertEquals("Stored big float value rounded incorrect", new BigDecimal("10.12121212121212121"), seriesList.get(0).getData().get(0).getValue());
}
use of com.axibase.tsd.api.model.metric.Metric in project atsd-api-test by axibase.
the class SqlSelectMetricFieldsTest method prepareData.
@BeforeClass
public static void prepareData() throws Exception {
Metric metric = new Metric(TEST_METRIC, Mocks.TAGS);
metric.setLabel(Mocks.LABEL);
metric.setTimeZoneID(Mocks.TIMEZONE_ID);
metric.setInterpolate(InterpolationMode.PREVIOUS);
metric.setDescription(Mocks.DESCRIPTION);
metric.setDataType(DataType.INTEGER);
metric.setTimePrecision("SECONDS");
metric.setEnabled(true);
metric.setPersistent(true);
metric.setFilter("name = '*'");
metric.setVersioned(false);
metric.setAdditionalProperty("minValue", 0);
metric.setAdditionalProperty("maxValue", 9);
metric.setInvalidAction("NONE");
metric.setAdditionalProperty("units", "kg");
String entity = entity();
Series series = new Series(entity, TEST_METRIC);
series.addSamples(Mocks.SAMPLE);
MetricMethod.createOrReplaceMetricCheck(metric);
SeriesMethod.insertSeriesCheck(series);
}
use of com.axibase.tsd.api.model.metric.Metric in project atsd-api-test by axibase.
the class AggregationChangedDatatypeTest method testChangedDataTypeValues.
@Issue("3881")
@Test
public void testChangedDataTypeValues() throws Exception {
String entityName = entity();
String metricName = metric();
Series series = new Series(entityName, metricName, "tag1", "1");
series.addSamples(SAMPLE);
SeriesMethod.insertSeriesCheck(series);
Metric metric = new Metric();
metric.setName(metricName);
metric.setDataType(DataType.DECIMAL);
MetricMethod.createOrReplaceMetric(metric);
String sqlQuery = String.format("SELECT SUM(ROUND(value * cast(tags.tag1))) FROM \"%s\"", metric.getName());
String[][] expectedRows = { { "123.0" } };
assertSqlQueryRows("Error when querying metric with changed data type", expectedRows, sqlQuery);
}
use of com.axibase.tsd.api.model.metric.Metric in project atsd-api-test by axibase.
the class AutoTimeZoneTest method testMetricTimeZone.
@Test
public void testMetricTimeZone() throws Exception {
Metric metric = new Metric(metric());
metric.setTimeZoneID(ALGIERS_TIMEZONE_ID);
Series series = new Series(entity(), metric.getName());
series.addSamples(DEFAULT_SAMPLE);
MetricMethod.createOrReplaceMetricCheck(metric);
SeriesMethod.insertSeriesCheck(Collections.singletonList(series));
String sqlQuery = String.format("SELECT date_format(time, '%s', AUTO) FROM \"%s\"", DEFAULT_PATTERN, metric.getName());
String[][] expectedRows = { { formatDate(parseDate(DEFAULT_SAMPLE.getRawDate()), DEFAULT_PATTERN, getTimeZone(metric.getTimeZoneID())) } };
assertSqlQueryRows("Failed to define metric timezone by AUTO param", expectedRows, sqlQuery);
}
use of com.axibase.tsd.api.model.metric.Metric in project atsd-api-test by axibase.
the class AutoTimeZoneTest method testPriorityTimeZone.
@Test
public void testPriorityTimeZone() throws Exception {
Entity entity = new Entity(entity());
entity.setTimeZoneID(ALGIERS_TIMEZONE_ID);
Metric metric = new Metric(metric());
String metricTimeZoneId = "Canada/Yukon";
metric.setTimeZoneID(metricTimeZoneId);
Series series = new Series(entity.getName(), metric.getName());
series.addSamples(DEFAULT_SAMPLE);
EntityMethod.createOrReplaceEntityCheck(entity);
MetricMethod.createOrReplaceMetricCheck(metric);
SeriesMethod.insertSeriesCheck(Collections.singletonList(series));
String sqlQuery = String.format("SELECT date_format(time, '%s', AUTO) FROM \"%s\"", DEFAULT_PATTERN, series.getMetric());
String[][] expectedRows = { { formatDate(parseDate(DEFAULT_SAMPLE.getRawDate()), DEFAULT_PATTERN, getTimeZone(entity.getTimeZoneID())) } };
assertSqlQueryRows("Failed to define entity timezone as priority by AUTO param", expectedRows, sqlQuery);
}
Aggregations