use of com.axibase.tsd.api.model.metric.Metric in project atsd-api-test by axibase.
the class SeriesQueryTest method testXTextFieldLastVersion.
@Issue("3480")
@Test
public void testXTextFieldLastVersion() throws Exception {
String entityName = "e-text-overwritten-versioning-1";
String metricName = "m-text-overwritten-versioning-1";
Series series = new Series(entityName, metricName);
Metric metric = new Metric(metricName);
metric.setVersioned(true);
MetricMethod.createOrReplaceMetricCheck(metric);
String[] data = new String[] { "1", "2" };
for (String x : data) {
Sample sample = Sample.ofDateIntegerText("2016-10-11T13:00:00.000Z", 1, x);
series.setSamples(Collections.singleton(sample));
insertSeriesCheck(Collections.singletonList(series));
}
SeriesQuery seriesQuery = new SeriesQuery(series);
List<Series> seriesList = querySeriesAsList(seriesQuery);
assertFalse("No series", seriesList.isEmpty());
assertFalse("No series data", seriesList.get(0).getData().isEmpty());
String received = seriesList.get(0).getData().get(0).getText();
assertEquals("Last version of text field incorrect", data[data.length - 1], received);
}
use of com.axibase.tsd.api.model.metric.Metric in project atsd-api-test by axibase.
the class SeriesInsertTest method testXTextFieldVersioned.
@Issue("3740")
@Test
public void testXTextFieldVersioned() throws Exception {
String entityName = entity();
String metricName = metric();
Series series = new Series(entityName, metricName);
Metric metric = new Metric(metricName);
metric.setVersioned(true);
MetricMethod.createOrReplaceMetricCheck(metric);
String[] data = new String[] { "1", "2", "3", "4" };
for (String x : data) {
Sample sample = Sample.ofDateIntegerText("2016-10-11T13:00:00.000Z", 1, x);
series.setSamples(Collections.singleton(sample));
insertSeriesCheck(Collections.singletonList(series));
}
SeriesQuery seriesQueryVersioned = new SeriesQuery(series);
seriesQueryVersioned.setVersioned(true);
seriesQueryVersioned.setExactMatch(false);
List<Series> seriesListVersioned = querySeriesAsList(seriesQueryVersioned);
List<String> textValuesVersioned = new ArrayList<>();
for (Sample s : seriesListVersioned.get(0).getData()) {
textValuesVersioned.add(s.getText());
}
assertEquals("Text field versioning is corrupted", Arrays.asList(data), textValuesVersioned);
}
use of com.axibase.tsd.api.model.metric.Metric in project atsd-api-test by axibase.
the class SeriesInsertTest method testPrecisionAfterCompaction.
@Issue("2871")
@Test(dataProvider = "afterCompactionDataProvider")
public void testPrecisionAfterCompaction(DataType type, BigDecimal valueBefore) throws Exception {
Metric metric = new Metric(metric());
metric.setDataType(type);
long time = MILLS_TIME;
Series series = new Series(entity(), metric.getName());
series.addSamples(Sample.ofDateDecimal(Util.ISOFormat(time), valueBefore));
MetricMethod.createOrReplaceMetricCheck(metric);
SeriesMethod.insertSeriesCheck(series);
CompactionMethod.performCompaction();
SeriesQuery seriesQuery = new SeriesQuery(series.getEntity(), series.getMetric(), time, time + 1);
List<Series> seriesList = querySeriesAsList(seriesQuery);
BigDecimal actualValue = seriesList.get(0).getData().get(0).getValue();
assertDecimals("Stored value precision incorrect", valueBefore, actualValue);
}
use of com.axibase.tsd.api.model.metric.Metric in project atsd-api-test by axibase.
the class MetricSeriesTest method testMetricNameContainsSlash.
@Issue("1278")
@Test
public void testMetricNameContainsSlash() throws Exception {
final Metric metric = new Metric("series/metric-2");
createOrReplaceMetricCheck(metric);
assertTrue("series array should be empty", compareJsonString("[]", queryMetricSeriesResponse(metric.getName()).readEntity(String.class)));
}
use of com.axibase.tsd.api.model.metric.Metric in project atsd-api-test by axibase.
the class MetricUpdateTest method testMetricTagNameIsLowerCased.
@Issue("3141")
@Test
public void testMetricTagNameIsLowerCased() throws Exception {
final String TAG_NAME = "NeWtAg";
final String TAG_VALUE = "value";
Metric metric = new Metric("update-metric-with-tag");
Response createResponse = createOrReplaceMetric(metric);
assertSame("Failed to create metric", Response.Status.Family.SUCCESSFUL, Util.responseFamily(createResponse));
createOrReplaceMetricCheck(metric);
Map<String, String> tags = new HashMap<>();
tags.put("NeWtAg", "value");
metric.setTags(tags);
Response updateResponse = updateMetric(metric);
assertSame("Failed to update metric", Response.Status.Family.SUCCESSFUL, Util.responseFamily(updateResponse));
Response queryResponse = queryMetric(metric.getName());
assertSame("Failed to query metric", Response.Status.Family.SUCCESSFUL, Util.responseFamily(queryResponse));
Metric updatedMetric = queryResponse.readEntity(Metric.class);
assertEquals("Wrong metric name", metric.getName(), updatedMetric.getName());
Map<String, String> expectedTags = new HashMap<>();
expectedTags.put(TAG_NAME.toLowerCase(), TAG_VALUE);
assertEquals("Wrong metric tags", expectedTags, updatedMetric.getTags());
}
Aggregations