use columns.table and test it since web interface uses it
[APKPM.git] / t / Store.t
index 1370ba2..cd7d8de 100755 (executable)
--- a/t/Store.t
+++ b/t/Store.t
@@ -2,7 +2,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 5;
+use Test::More tests => 19;
 use Data::Dump qw(dump);
 
 use lib 'lib';
@@ -11,30 +11,52 @@ 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 => 'adsl',
+_table => 'ping',
 ip => '127.0.0.1',
 username => 'nobody',
-ATTNRX => "36.5",
-ATTNTX => "17.8",
-MAXRX  => 13500,
-MAXTX  => 880,
-PWRRX  => "0.0",
-PWRTX  => "12.6",
-RX     => 8500,
-SNRRX  => "11.4",
-SNRTX  => "16.0",
-TX     => 798,
-}), 'ADSL';
+rtt => 0.042,
+timestamp => '2011-12-05 01:01:01',
+}), 'ping';
 diag dump($r);
 
-ok my $r = $o->insert('job',{
-_table => 'ping',
+ok $r = $o->insert('job',{
+_table => 'cpe_Davolink',
 ip => '127.0.0.1',
 username => 'nobody',
-rtt => 0.042,
+h => {
+       foo => 1,
+       bar => 2,
+},
+start => '2011-12-05 01:01:01',
 }), 'ping';
+
+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);
+
+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 rtt from ping where username='nobody'"), 'sql';
+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 $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;
+
+}
+