From a0b6596bf7ae0521d6afb2da67fb2d50ba595dd5 Mon Sep 17 00:00:00 2001 From: Andrei Zavada Date: Thu, 1 Oct 2015 18:24:21 +0300 Subject: [PATCH] quanta spanning select test --- tests/timeseries_util.erl | 17 +++++++++++++++++ tests/ts_A_select_pass_2.erl | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 tests/ts_A_select_pass_2.erl diff --git a/tests/timeseries_util.erl b/tests/timeseries_util.erl index 2cb44707..90deafc3 100644 --- a/tests/timeseries_util.erl +++ b/tests/timeseries_util.erl @@ -149,6 +149,23 @@ get_valid_select_data() -> Times = lists:seq(1, 10), [[Family, Series, X, get_varchar(), get_float()] || X <- Times]. + +-define(SPANNING_STEP, (1000*1000*60*5)). + +get_valid_qry_spanning_quanta() -> + EndTime = ?SPANNING_STEP * 10, + lists:flatten( + io_lib:format("select * from GeoCheckin Where time > 1 and time < ~b" + " and myfamily = 'family1' and myseries = 'seriesX'", + [EndTime])). + +get_valid_select_data_spanning_quanta() -> + Family = <<"family1">>, + Series = <<"seriesX">>, + Times = lists:seq(1, ?SPANNING_STEP * 10, ?SPANNING_STEP), %% five-minute intervals, to span 15-min buckets + [[Family, Series, X, get_varchar(), get_float()] || X <- Times]. + + get_cols(docs) -> [<<"myfamily">>, <<"myseries">>, diff --git a/tests/ts_A_select_pass_2.erl b/tests/ts_A_select_pass_2.erl new file mode 100644 index 00000000..80e027ce --- /dev/null +++ b/tests/ts_A_select_pass_2.erl @@ -0,0 +1,36 @@ +%% ------------------------------------------------------------------- +%% +%% Copyright (c) 2015 Basho Technologies, Inc. +%% +%% This file is provided to you under the Apache License, +%% Version 2.0 (the "License"); you may not use this file +%% except in compliance with the License. You may obtain +%% a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, +%% software distributed under the License is distributed on an +%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +%% KIND, either express or implied. See the License for the +%% specific language governing permissions and limitations +%% under the License. +%% +%% ------------------------------------------------------------------- +%% @doc A module to test riak_ts basic create bucket/put/select cycle, +%% spanning time quanta. + +-module(ts_A_select_pass_2). + +-behavior(riak_test). + +-export([confirm/0]). + +confirm() -> + DDL = timeseries_util:get_ddl(docs), + Data = timeseries_util:get_valid_select_data_spanning_quanta(), + Qry = timeseries_util:get_valid_qry_spanning_quanta(), + Expected = { + timeseries_util:get_cols(docs), + timeseries_util:exclusive_result_from_data(Data, 1, 9)}, + timeseries_util:confirm_select(single, normal, DDL, Data, Qry, Expected).