Index: /trunk/DataStore/MANIFEST
===================================================================
--- /trunk/DataStore/MANIFEST	(revision 6540)
+++ /trunk/DataStore/MANIFEST	(revision 6541)
@@ -20,2 +20,3 @@
 t/05_product.t
 t/06_fileset.t
+t/07_file.t
Index: /trunk/DataStore/t/07_file.t
===================================================================
--- /trunk/DataStore/t/07_file.t	(revision 6541)
+++ /trunk/DataStore/t/07_file.t	(revision 6541)
@@ -0,0 +1,77 @@
+#!/usr/bin/env perl
+
+# Copyright (C) 2006  Joshua Hoblitt
+#
+# $Id: 07_file.t,v 1.1 2006-03-08 01:14:14 jhoblitt Exp $
+
+use strict;
+use warnings;
+
+use lib qw( ./lib ./t );
+
+use Test::More tests => 6;
+
+=head1 NAME
+
+t/07_file.t - tests DataStore::File
+
+=head1 SYNOPSIS
+    
+    prove t/07_file.t
+
+=cut
+
+use DataStore::File;
+
+can_ok('DataStore::File', qw(
+    new
+    request
+));
+
+# ->new()
+
+{
+    my $dsf = DataStore::File->new(
+        uri         => 'http://example.org/foo',
+        fileid      => '12buckelyourshoe',
+        bytes       => 12345,
+        md5sum      => 'fe6a2b6564c0d4cfb3bbf1db813824ba',
+        type        => 'foo',
+    );
+
+    isa_ok($dsf, 'DataStore::File');
+}
+
+eval {
+    my $dsf = DataStore::File->new(
+        uri         => 'http://example.org/foo',
+        fileid      => '12buckelyourshoe',
+        bytes       => 12345,
+        md5sum      => 'fe6a2b6564c0d4cfb3bbf1db813824ba',
+        type        => 'foo',
+        foo         => 1,
+    );
+};
+like($@, qr/not listed in the validation options/,
+    '->new() fails whe passed extra params');
+
+eval {
+    my $dsf = DataStore::File->new( uri => 'http://example.org/' );
+};
+like($@, qr/is valid uri filename/,
+    '->new() fails when uri param does not end with /');
+
+eval {
+    my $dsf = DataStore::File->new( uri => '://example.org' );
+};
+like($@, qr/is valid http uri/,
+    '->new() fails when uri param is not http protocol');
+
+eval {
+    my $dsp = DataStore::File->new;
+};
+like($@, qr/Mandatory parameters/,
+    '->new() fails when not passed all manadator params');
+
+# ->request()
+
