+# ----------------------------------------------------------------------------
+# Session opening and closing
+my $sess = IDZebra::Session->new(configFile => 'demo/zebra.cfg');
+isa_ok($sess,"IDZebra::Session");
+
+$sess->open();
+ok(defined($sess->{zh}), "Zebra handle opened");
+$sess->close();
+ok(!defined($sess->{zh}), "Zebra handle closed");
+
+
+my $sess = IDZebra::Session->open(configFile => 'demo/zebra.cfg',
+ groupName => 'demo1');
+isa_ok($sess,"IDZebra::Session");
+ok(defined($sess->{zh}), "Zebra handle opened");
+#use IDZebra::Repository;
+
+# ----------------------------------------------------------------------------
+# Record group tests
+
+ok(($sess->group->{databaseName} eq "demo1"),"Record group is selected");
+
+$sess->group(groupName => 'demo2');
+
+ok(($sess->group->{databaseName} eq "demo2"),"Record group is selected");
+
+# ----------------------------------------------------------------------------
+# init repository
+$sess->init();
+
+# ----------------------------------------------------------------------------
+# repository upadte
+
+our $filecount = 5;
+
+$sess->begin_trans;
+$sess->update(path => 'lib');
+my $stat = $sess->end_trans;
+
+ok(($stat->{inserted} == $filecount),
+ "Inserted $stat->{inserted}/$filecount records");