Search in sources :

Example 6 with StringTable

use of com.axibase.tsd.api.model.sql.StringTable in project atsd-api-test by axibase.

the class SqlPeriodSyntaxTest method testPeriodExtendInterpolateOptions.

@Issue("3058")
@Test
public void testPeriodExtendInterpolateOptions() {
    String sqlQuery = String.format("SELECT datetime, AVG(value) FROM \"%s\" %nWHERE entity = '%s'" + "AND datetime >= '2016-06-19T11:00:00.500Z' AND datetime < '2016-06-19T11:00:11.000Z' %n" + "GROUP BY PERIOD(2500 MILLISECOND, EXTEND, LINEAR)", TEST_METRIC_NAME, TEST_ENTITY_NAME);
    StringTable resultTable = queryResponse(sqlQuery).readEntity(StringTable.class);
    List<List<String>> expectedRows = Arrays.asList(// <-EXTEND BY NEXT
    Arrays.asList("2016-06-19T11:00:02.500Z", "1.0"), Arrays.asList("2016-06-19T11:00:05.000Z", "1.0"), // <-INTERPOLATED BY LINEAR
    Arrays.asList("2016-06-19T11:00:07.500Z", "1.5"), Arrays.asList("2016-06-19T11:00:10.000Z", "2.0"));
    assertTableRowsExist(expectedRows, resultTable);
}
Also used : StringTable(com.axibase.tsd.api.model.sql.StringTable) List(java.util.List) Issue(io.qameta.allure.Issue) Test(org.testng.annotations.Test) SqlTest(com.axibase.tsd.api.method.sql.SqlTest)

Example 7 with StringTable

use of com.axibase.tsd.api.model.sql.StringTable in project atsd-api-test by axibase.

the class SqlPeriodSyntaxTest method testPeriodAlignInterpolateOptions.

@Issue("3058")
@Test
public void testPeriodAlignInterpolateOptions() {
    String sqlQuery = String.format("SELECT datetime, AVG(value) FROM \"%s\" %nWHERE entity = '%s' %n" + "AND datetime >= '2016-06-19T11:00:00.500Z' AND datetime < '2016-06-19T11:00:11.000Z' %n" + "GROUP BY PERIOD(2500 MILLISECOND, START_TIME, VALUE 0)", TEST_METRIC_NAME, TEST_ENTITY_NAME);
    StringTable resultTable = queryResponse(sqlQuery).readEntity(StringTable.class);
    List<List<String>> expectedRows = Arrays.asList(Arrays.asList("2016-06-19T11:00:03.000Z", "1.0"), // <-INTERPOLATED BY VALUE 0
    Arrays.asList("2016-06-19T11:00:05.500Z", "0.0"), Arrays.asList("2016-06-19T11:00:08.000Z", "2.0"));
    assertTableRowsExist(expectedRows, resultTable);
}
Also used : StringTable(com.axibase.tsd.api.model.sql.StringTable) List(java.util.List) Issue(io.qameta.allure.Issue) Test(org.testng.annotations.Test) SqlTest(com.axibase.tsd.api.method.sql.SqlTest)

Example 8 with StringTable

use of com.axibase.tsd.api.model.sql.StringTable in project atsd-api-test by axibase.

the class SqlPeriodSyntaxTest method testPeriodExtendInterpolateAlignOptions.

@Issue("3058")
@Test
public void testPeriodExtendInterpolateAlignOptions() {
    String sqlQuery = String.format("SELECT datetime, AVG(value) FROM \"%s\" %nWHERE entity = '%s' %n" + "AND datetime >= '2016-06-19T10:59:57.500Z' AND datetime < '2016-06-19T11:00:13.000Z' %n" + "GROUP BY PERIOD(2500 MILLISECOND, EXTEND, LINEAR, START_TIME)", TEST_METRIC_NAME, TEST_ENTITY_NAME);
    StringTable resultTable = queryResponse(sqlQuery).readEntity(StringTable.class);
    List<List<String>> expectedRows = Arrays.asList(// <-EXTENDED BY NEXT
    Arrays.asList("2016-06-19T10:59:57.500Z", "0.0"), Arrays.asList("2016-06-19T11:00:00.000Z", "0.0"), // <-INTERPOLATED BY LINEAR
    Arrays.asList("2016-06-19T11:00:02.500Z", "0.5"), Arrays.asList("2016-06-19T11:00:05.000Z", "1.0"), // <-INTERPOLATED BY LINEAR
    Arrays.asList("2016-06-19T11:00:07.500Z", "1.5"), Arrays.asList("2016-06-19T11:00:10.000Z", "2.0"), // <-EXTENDED BY PREVIOUS
    Arrays.asList("2016-06-19T11:00:12.500Z", "2.0"));
    assertTableRowsExist(expectedRows, resultTable);
}
Also used : StringTable(com.axibase.tsd.api.model.sql.StringTable) List(java.util.List) Issue(io.qameta.allure.Issue) Test(org.testng.annotations.Test) SqlTest(com.axibase.tsd.api.method.sql.SqlTest)

Example 9 with StringTable

use of com.axibase.tsd.api.model.sql.StringTable in project atsd-api-test by axibase.

the class CastTest method testCastNumberAsStringApplied.

@Issue("3770")
@Test(dataProvider = "castNumberArgumentsProvider")
public void testCastNumberAsStringApplied(String castArgument) throws Exception {
    Series series = castNumberAsStringSeries;
    String sqlQuery = String.format("SELECT CAST(%s AS string) FROM \"%s\"", castArgument, series.getMetric());
    StringTable resultTable = SqlMethod.queryTable(sqlQuery);
    assertEquals("Bad column type for CAST as string column", "string", resultTable.getColumnMetaData(0).getDataType());
}
Also used : Series(com.axibase.tsd.api.model.series.Series) StringTable(com.axibase.tsd.api.model.sql.StringTable) Issue(io.qameta.allure.Issue) Test(org.testng.annotations.Test) SqlTest(com.axibase.tsd.api.method.sql.SqlTest)

Example 10 with StringTable

use of com.axibase.tsd.api.model.sql.StringTable in project atsd-api-test by axibase.

the class CastTest method testCastNumberAsStringPassedToStringFunction.

@Issue("3770")
@Test(dataProvider = "castNumberArgumentsProvider")
public void testCastNumberAsStringPassedToStringFunction(String castArgument) throws Exception {
    Series series = castNumberAsStringSeries;
    String sqlQuery = String.format("SELECT CONCAT('foo', CAST(%s AS string)) FROM \"%s\"", castArgument, series.getMetric());
    StringTable resultTable = SqlMethod.queryTable(sqlQuery);
    assertEquals("'foo' has not been concatenated with casted number", "foo", resultTable.getValueAt(0, 0).substring(0, 3));
}
Also used : Series(com.axibase.tsd.api.model.series.Series) StringTable(com.axibase.tsd.api.model.sql.StringTable) Issue(io.qameta.allure.Issue) Test(org.testng.annotations.Test) SqlTest(com.axibase.tsd.api.method.sql.SqlTest)

Aggregations

StringTable (com.axibase.tsd.api.model.sql.StringTable)277 Test (org.testng.annotations.Test)276 SqlTest (com.axibase.tsd.api.method.sql.SqlTest)275 Issue (io.qameta.allure.Issue)270 List (java.util.List)147 Response (javax.ws.rs.core.Response)49 ArrayList (java.util.ArrayList)23 Series (com.axibase.tsd.api.model.series.Series)4 BigDecimal (java.math.BigDecimal)1 Date (java.util.Date)1 BeforeTest (org.testng.annotations.BeforeTest)1