use strict;
use warnings;
-use Test::More tests => 25;
+use Test::More tests => 30;
BEGIN { use_ok('Blerg::Database') };
#########################
# Setup
my $test_user = 'barfy';
-chdir '../../..';
-remove_tree "data/$test_user";
-remove_tree "hash_tags/data";
+my $test_dir = "/tmp/blerg_test_$$";
+mkdir $test_dir;
+chdir $test_dir;
+mkdir 'data';
+mkdir 'hash_tags';
+mkdir 'ref_tags';
my ($ptr, @list, $n);
$n = 0;
my $t = Blerg::Database::_get_timestamp($ptr, $n);
ok( $t0 - $t <= 1.0 );
-# Will have to test subscription bits after the Subscription module is
-# made
+# Subscription
+my ($ptra, $ptrb);
+$ptra = Blerg::Database::_open("a");
+$ptrb = Blerg::Database::_open("b");
+ok( Blerg::Database::subscription_add("a", "b") == 1 );
+Blerg::Database::_store($ptrb, "Hello, A!");
+@list = Blerg::Database::subscription_list("a", 0, 1);
+ok( @list == 1 );
+ok( $list[0]->{author} eq 'b' );
+ok( $list[0]->{record} == 0 );
+ok( Blerg::Database::_fetch($ptrb, $list[0]->{record}) eq 'Hello, A!' );
# Test tags
Blerg::Database::_store($ptr, "This is data A #data");
$n++;
ok( $blerg->fetch($n) eq $data );
+END {
+ chdir;
+ remove_tree "/tmp/blerg_test_$$";
+}