Index: trunk/Nebulous/t/23_client_stat.t
===================================================================
--- trunk/Nebulous/t/23_client_stat.t	(revision 2893)
+++ trunk/Nebulous/t/23_client_stat.t	(revision 2893)
@@ -0,0 +1,86 @@
+#!/usr/bin/perl
+
+# Copryight (C) 2004-2005  Joshua Hoblitt
+#
+# $Id: 23_client_stat.t,v 1.1 2005-01-04 22:02:43 jhoblitt Exp $
+
+use strict;
+use warnings FATAL => qw( all );
+
+use Apache::Test qw( -withtestmore );
+
+plan tests => 12;
+
+use lib qw( ./t ./lib );
+
+use PS::IPP::IData::Client;
+use PS::IPP::IData::Util qw( :standard );
+use Test::IData;
+
+my $hostport = Apache::Test->config->{ 'hostport' };
+
+Test::IData->setup;
+
+{
+    my $idata = PS::IPP::IData::Client->new(
+        proxy => "http://$hostport/idata",
+    );
+    $idata->create( "foo" );
+
+    my $info = $idata->stat( "foo" );
+
+    is( scalar @$info, 7, "number of columns" );
+}
+
+Test::IData->setup;
+
+{
+    my $idata = PS::IPP::IData::Client->new(
+        proxy => "http://$hostport/idata",
+    );
+    $idata->create( "foo", 9, "node01", "foobar" );
+
+    my $info = $idata->stat( "foo" );
+
+    is( scalar @$info, 7,                       "number of columns" );
+    is( @$info[0], 1,                           "so_id" );
+    is( @$info[1], "foo",                       "ext_id" );
+    is( @$info[2], 9,                           "class_id" );
+    is( @$info[3], "foobar",                    "comment" );
+    is( @$info[4], 0,                           "read lock" );
+    is( @$info[5], undef,                       "write lock" );
+    like( @$info[6], qr/....-..-.. ..:..:../,   "epoch" );
+}
+
+Test::IData->setup;
+
+{
+    my $idata = PS::IPP::IData::Client->new(
+        proxy => "http://$hostport/idata",
+    );
+    my $info = $idata->stat( "foo" );
+
+    is( $info, undef, "object does not exist" );
+}
+
+Test::IData->setup;
+
+eval {
+    my $idata = PS::IPP::IData::Client->new(
+        proxy => "http://$hostport/idata",
+    );
+    $idata->stat();
+};
+like( $@, qr/1 was expected/, "no params" );
+
+Test::IData->setup;
+
+eval {
+    my $idata = PS::IPP::IData::Client->new(
+        proxy => "http://$hostport/idata",
+    );
+    $idata->stat( "foo", 2 );
+};
+like( $@, qr/1 was expected/, "too many params" );
+
+Test::IData->cleanup;
