use columns.table and test it since web interface uses it
[APKPM.git] / t / Store.t
index 0a309f6..cd7d8de 100755 (executable)
--- a/t/Store.t
+++ b/t/Store.t
@@ -2,7 +2,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 16;
+use Test::More tests => 19;
 use Data::Dump qw(dump);
 
 use lib 'lib';
@@ -11,40 +11,49 @@ use_ok 'APKPM::Store';
 
 ok my $o = APKPM::Store->new, 'new';
 
+ok my $sql = $o->_create_index('dslam', '2012_04_20'), '_create_index';
+diag $sql;
+
 ok my $r = $o->insert('job',{
 _table => 'ping',
 ip => '127.0.0.1',
 username => 'nobody',
 rtt => 0.042,
+timestamp => '2011-12-05 01:01:01',
 }), 'ping';
 diag dump($r);
 
-ok my $r = $o->insert('job',{
+ok $r = $o->insert('job',{
 _table => 'cpe_Davolink',
 ip => '127.0.0.1',
 username => 'nobody',
 h => {
        foo => 1,
        bar => 2,
-}
+},
+start => '2011-12-05 01:01:01',
 }), 'ping';
 
-ok( my $r = $o->redis->get( 'table.cpe_Davolink.nobody' ), 'redis' );
+ok( $r = $o->redis->get( 'table.cpe_Davolink.nobody' ), 'redis table.cpe_Davolink.nobody' );
 ok( my $j = $o->d_json($r), 'd_json' );
 isa_ok( $j->{h}, 'HASH', 'hstore' );
 diag dump($j);
 
-ok my $r = $o->sql('job', "select username,rtt from ping limit 2"), 'sql';
+foreach my $key ( qw( columns.cpe_Davolink columns.cpe_Davolink_2011_12_05 ) ) {
+       ok( $r = $o->redis->get( $key ), "redis $key" );
+}
+
+ok $r = $o->sql('job', "select username,rtt from ping limit 2"), 'sql';
 diag dump($r);
 
-ok my $r = $o->sql('job', "select xx from fake"), 'sql with error';
+ok $r = $o->sql('job', "select xx from fake"), 'sql with error';
 ok exists $r->{error}, 'error';
 diag dump($r);
 
 foreach my $cpe_table ( qw(cpe_Davolink cpe_EasyGateway) ) {
 
        diag $cpe_table;
-       ok my $r = $o->sql('job', "select * from $cpe_table limit 1"), $cpe_table;
+       ok $r = $o->sql('job', "select * from $cpe_table limit 1"), $cpe_table;
        ok( $r->{hash_col}, 'hash_col' );
        isa_ok $r->{rows}->[0]->[ $r->{hash_col} ], 'HASH', 'hstore column';
        diag "$cpe_table ",dump $r;