use warnings;
use strict;
-use IO::Socket::INET;
-use autodie;
-
our $user = 'sip2-user';
our $password = 'sip2-paasswd';
+our $patron = 200000000042;
+our $barcode = 1302029710;
+our $loc = 'FFZG';
require 'config.pl' if -e 'config.pl';
-use SIP2;
+use lib 'lib';
+use SIP2::SC;
-our $sock = IO::Socket::INET->new( '10.60.0.251:6001' );
+my $sc = SIP2::SC->new( $ENV{ACS} || '10.60.0.251:6001' );
+# login
+$sc->message("9300CN$user|CO$password|");
-sub sip2 {
- my ( $send, $patt ) = @_;
- SIP2::dump_message '>>>>', $send;
- print $sock "$send\r\n";
- $sock->flush;
+# SC Status
+$sc->message("9900302.00");
-# local $/ = "\r";
+$sc->message("6300020091214 085452 AO$loc|AA$patron|AC$password|");
- my $in = <$sock>;
- SIP2::dump_message '<<<<', $in;
- die "expected $patt" unless $in =~ $patt;
-}
+# Checkout
+$sc->message("11YN20091214 124436 AO$loc|AA$patron|AB$barcode|AC$password|BON|BIN|");
-# login
-sip2 "9300CN$user|CO$password|" => qr/^941/;
+# Checkin
+$sc->message("09N20091214 08142820091214 081428AP|AO$loc|AB$barcode|AC|BIN|");
-# SC Status
-sip2 "9900302.00" => qr/^98/;
-# Checkin
-sip2 "09N20091214 08142820091214 081428AP|AOFFZG|AB1301036581|AC|BIN|" => qr/^10/;
+# checkout - invalid barcode
+$sc->message("09N20091216 15320820091216 153208AP|AOFFZG|AB200903160190|ACviva2koha|BIN|");
-# Patron Information
-sip2 "6300020091214 085452 AOFFZG|AA200903260093|AC$password|" => qr/^64/;
+# status
+$sc->message("9900302.00");
-# Checkout
-sip2 "11YN20091214 124436 AOFFZG|AA200905060034|AB1301132799|AC$password|BON|BIN|" => qw/12/;