Continuing work on NCIP.pm
[working/NCIPServer.git] / t / NCIP.t
index fd18414..d2dbe81 100644 (file)
--- a/t/NCIP.t
+++ b/t/NCIP.t
@@ -17,8 +17,9 @@
 
 use strict;
 use warnings;
+use File::Slurp;
 
-use Test::More tests => 3;    # last test to print
+use Test::More tests => 7;    # last test to print
 
 use lib 'lib';
 
@@ -26,9 +27,27 @@ use_ok('NCIP');
 ok( my $ncip = NCIP->new('t/config_sample'), 'Create new object' );
 
 my $xml = <<'EOT';
+<?xml version="1.0" encoding="UTF-8"?>
+<ns1:NCIPMessage
+  ns1:version="http://www.niso.org/schemas/ncip/v2_0/imp1/xsd/ncip_v2_0.xsd" xmlns:ns1="http://www.niso.org/2008/ncip">
+</ns1:NCIPMessage>
+EOT
+
+ok( my $response = $ncip->process_request($xml), 'Process a request' );
+
+my $xmlbad = <<'EOT';
+<xml>
+this is bad
 <xml>
 </xml>
 EOT
 
-ok( my $response = $ncip->process_request($xml), 'Process a request' );
+# handle_initiation is called as part of the process_request, but best to test
+# anyway
+ok( !$ncip->handle_initiation($xmlbad), 'Bad xml' );
+ok( $ncip->handle_initiation($xml),     'Good XML' );
+
+my $lookupitem = read_file('t/sample_data/LookupItem.xml');
 
+ok( my $response = $ncip->process_request($lookupitem), 'Try looking up an item');
+is ($response, 'LookupItem', 'We got lookupitem');