use strict;
use warnings;
-use Test::More tests => 5;
+use Test::More tests => 16;
use Data::Dump qw(dump);
use lib 'lib';
ok my $o = APKPM::Store->new, 'new';
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',
+_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( my $r = $o->redis->get( 'table.cpe_Davolink.nobody' ), 'redis' );
+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';
diag dump($r);
-ok my $r = $o->sql('job', "select rtt from ping where username='nobody'"), 'sql';
+ok my $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->{hash_col}, 'hash_col' );
+ isa_ok $r->{rows}->[0]->[ $r->{hash_col} ], 'HASH', 'hstore column';
+ diag "$cpe_table ",dump $r;
+
+}
+