djfiander [Fri, 17 Oct 2008 23:57:52 +0000 (23:57 +0000)]
Only try to strip off the leading newline if there's actually
content in the record at all (eliminate perl 'Use of
uninitialized value' warning).
djfiander [Fri, 17 Oct 2008 23:48:02 +0000 (23:48 +0000)]
Untested fix for dealing with the incorrect record terminators
transmitted by Cen-Tec self-check hardware.
djfiander [Wed, 18 Jun 2008 22:25:52 +0000 (22:25 +0000)]
Handle various dates associated with items consistently.
djfiander [Wed, 19 Mar 2008 01:26:00 +0000 (01:26 +0000)]
Add copyright statements
djfiander [Wed, 19 Mar 2008 01:23:43 +0000 (01:23 +0000)]
Update dependencies
djfiander [Tue, 11 Mar 2008 21:37:05 +0000 (21:37 +0000)]
Add support for PINES requested extension: Patron Info Response
now includes AQ "Home Library" field.
djfiander [Tue, 11 Mar 2008 21:35:22 +0000 (21:35 +0000)]
Add support for "home_library" field in patron database
djfiander [Tue, 11 Mar 2008 21:32:54 +0000 (21:32 +0000)]
Check the protocol of the client connection properly.
djfiander [Fri, 27 Apr 2007 00:46:04 +0000 (00:46 +0000)]
Clean up field parsing so it's more perlish and less C-ish
djfiander [Tue, 24 Apr 2007 23:05:31 +0000 (23:05 +0000)]
Force the key to the 'listeners' hash to be all lowercase, and
force the key for which we search at runtime to be lowercase, so
that searches of the hash are case-insensitive.
djfiander [Tue, 24 Apr 2007 23:00:39 +0000 (23:00 +0000)]
Fix code so that it will run with Net::Server 0.96. This is just
eliminating a dependency on the internals of the Net::Server
object, so this code will continue to run with older versions of
Net::Server as well.
djfiander [Fri, 6 Apr 2007 20:49:06 +0000 (20:49 +0000)]
Apply Bill Erickson's patch to clean up matching an incoming
connection against the configuration file. There's no longer a
special case for 127.0.0.1, so it will not longer match
'localhost', but it doesn't match any other hostnames anyway.
djfiander [Sat, 16 Sep 2006 13:50:14 +0000 (13:50 +0000)]
Move code that connects to ILS back end out of
sip_protocol_loop() and into handle_login(). This way, if
there's a problem loading or initializing the ILS implementation,
the client will be told that login failed, rather than
"successfully" logging in and then having the server die later.
djfiander [Sat, 16 Sep 2006 13:04:13 +0000 (13:04 +0000)]
Test logging in with invalid username and invalid password
djfiander [Thu, 31 Aug 2006 23:06:14 +0000 (23:06 +0000)]
Log both raw input and raw output messages.
Zero-pad the checksum that we transmit.
djfiander [Thu, 31 Aug 2006 21:53:18 +0000 (21:53 +0000)]
Cope with trailing whitespace on the titles returned from the
ILS, since that seems to be a problem for PINES
djfiander [Wed, 30 Aug 2006 23:48:12 +0000 (23:48 +0000)]
Properly transmit the patron's fee amount and currency. Make a
note of the missing limit fields until the OPAC supports them.
djfiander [Mon, 28 Aug 2006 22:01:54 +0000 (22:01 +0000)]
Tighten up test for value of the BX field in the ACS status message
djfiander [Mon, 28 Aug 2006 22:01:17 +0000 (22:01 +0000)]
Added missing value for whether the server supports the SC/ACS
resend messages.
djfiander [Sun, 27 Aug 2006 11:49:52 +0000 (11:49 +0000)]
Transmit screen message and print line in Patron Information
Response messages.
djfiander [Sat, 26 Aug 2006 18:50:42 +0000 (18:50 +0000)]
Go back to using unpack to generate the checksums, except that
I'm using the 'U'TF encoding instead of the 'C'har encoding.
This seems to work, at least in my test environment.
djfiander [Fri, 25 Aug 2006 01:23:11 +0000 (01:23 +0000)]
Add test case for checking titles that have a diacritical in the title.
djfiander [Fri, 25 Aug 2006 01:22:20 +0000 (01:22 +0000)]
Add entry to "catalogue" that has a diacritical in the title, for
testing the checksum algorithm.
djfiander [Fri, 25 Aug 2006 01:21:37 +0000 (01:21 +0000)]
Replace idiomatic perl checksum code, which seems to fail on
strings with diacriticals in them, with an explicit sum of the
ordinal values of the characters in the string, which seems to cope.
djfiander [Tue, 22 Aug 2006 23:16:41 +0000 (23:16 +0000)]
Make two shut down messages different, to simplify debugging
djfiander [Thu, 3 Aug 2006 00:05:41 +0000 (00:05 +0000)]
Use correct boolean format for 'OK' field of Checkin Response
message.
djfiander [Sat, 29 Jul 2006 18:45:55 +0000 (18:45 +0000)]
Don't rely on clients sending the exactly protocol strings '1.00'
and '2.00'. Anything that starts with a '1.' is a "revision 1"
protocol string and anything that begins with a '2.' is a
"revision 2" protocol string. That way, when a clients reports
that they support protocol revision '2.0S', we will properly
react and send revision 2.00 messages.
djfiander [Sat, 29 Jul 2006 17:44:50 +0000 (17:44 +0000)]
Allow clients to violate the protocol specification by not
sending and SC Status message first after they log in. This
should work fine for SIP Login clients, but clients that use
telnet to log in MUST send an SC Status message, or they'll be
trapped using SIP rev 1.00.
djfiander [Fri, 28 Jul 2006 23:50:30 +0000 (23:50 +0000)]
Add support for protocol extension 'Patron Internet Profile' with
protocol field code 'PI'
djfiander [Fri, 28 Jul 2006 23:05:35 +0000 (23:05 +0000)]
Adjust tests run for OpenILS.
djfiander [Fri, 28 Jul 2006 23:05:00 +0000 (23:05 +0000)]
Accept either 'other' or 'available' for circulation status.
djfiander [Wed, 19 Jul 2006 01:46:17 +0000 (01:46 +0000)]
Parameterize the "Renew All" tests, even though they don't run on
Evergreen right now.
djfiander [Wed, 19 Jul 2006 01:45:51 +0000 (01:45 +0000)]
Added target to run just the Evergreen-compatible tests
djfiander [Wed, 19 Jul 2006 01:45:20 +0000 (01:45 +0000)]
Basic instructions for running tests
djfiander [Wed, 19 Jul 2006 00:49:13 +0000 (00:49 +0000)]
Basic installation README
djfiander [Tue, 18 Jul 2006 00:53:17 +0000 (00:53 +0000)]
Initial system integration with Evergreen code.
djfiander [Sun, 16 Jul 2006 11:33:58 +0000 (11:33 +0000)]
It's not "FID_CHARDED_ITEMS_LMT", it's "FID_CHARGED_ITEMS_LMT"
djfiander [Thu, 29 Jun 2006 01:40:18 +0000 (01:40 +0000)]
Rewrite so that each message is a single test, which might fail
in one of several different ways, rather than counting all of the
various checks performed on each message as a separate test.
This reduces the number of "tests" counted from over 1000 to less
than 100, but the same number of things is being tested.
djfiander [Tue, 27 Jun 2006 01:40:56 +0000 (01:40 +0000)]
Add code to check out two items and confirm that both are renewed.
djfiander [Tue, 27 Jun 2006 01:34:20 +0000 (01:34 +0000)]
add code to check item out, rather than depend on the fact that
another test case checked it out for us.
djfiander [Tue, 27 Jun 2006 01:33:45 +0000 (01:33 +0000)]
clean up by cancelling the second user's hold.
djfiander [Tue, 27 Jun 2006 01:33:24 +0000 (01:33 +0000)]
Add code to check item in when done testing.
djfiander [Tue, 27 Jun 2006 01:32:53 +0000 (01:32 +0000)]
fix handling of hold_queue, add second item to DB to test
renew_all
djfiander [Tue, 27 Jun 2006 01:32:20 +0000 (01:32 +0000)]
fix handling of Item::hold_queue
djfiander [Fri, 23 Jun 2006 02:32:56 +0000 (02:32 +0000)]
Add tests for Invalid patron password and invalid patron id
djfiander [Fri, 23 Jun 2006 02:32:24 +0000 (02:32 +0000)]
FID_PATRON_PWD is a valid field in a "Renew All" message. Also
fix handling of failure status returned from ILS::renew_all.
djfiander [Fri, 23 Jun 2006 02:31:06 +0000 (02:31 +0000)]
Check patron password in ILS::renew_all
djfiander [Fri, 23 Jun 2006 00:52:32 +0000 (00:52 +0000)]
Add test for attempting to renew item that has outstanding
holds.
djfiander [Fri, 23 Jun 2006 00:32:40 +0000 (00:32 +0000)]
Fix definition of Item::available to eliminate warning message
djfiander [Fri, 23 Jun 2006 00:15:28 +0000 (00:15 +0000)]
Change definition of Patron::available to test to see if the item
is available for a patron, rather than just available in
general.
djfiander [Thu, 22 Jun 2006 01:00:18 +0000 (01:00 +0000)]
Add tests for invalid patron and invalid item
djfiander [Fri, 16 Jun 2006 02:04:50 +0000 (02:04 +0000)]
Test for a blocked patron attempting to check out a book
djfiander [Fri, 16 Jun 2006 02:04:22 +0000 (02:04 +0000)]
Fix ILS::checkout to handle more error conditions properly (but I
still can't cope with Bob attempting to check out a book that
Alice already has out.
djfiander [Thu, 15 Jun 2006 01:29:06 +0000 (01:29 +0000)]
Test renewing an item that's identified by title rather than by
item id.
djfiander [Thu, 15 Jun 2006 01:28:38 +0000 (01:28 +0000)]
Add code to renew items that are specified by title, rather than
by item id. This is very odd, but the spec seems to allow it.
djfiander [Wed, 14 Jun 2006 02:16:16 +0000 (02:16 +0000)]
Define an empty array of fields to be checked in the responses
for those messages that don't require any field checking. This
eliminates "TODO" failures from the test harness.
djfiander [Wed, 14 Jun 2006 02:15:05 +0000 (02:15 +0000)]
Test that when a second hold is placed on an item, the queue
position is properly reported.
djfiander [Wed, 14 Jun 2006 02:14:28 +0000 (02:14 +0000)]
Add second patron to stub ILS, to test multiple holds on an
item.
djfiander [Tue, 13 Jun 2006 01:18:44 +0000 (01:18 +0000)]
Generalize configuration of Net::Server::PreFork to allow for
arbitrary configuration parameters.
djfiander [Tue, 13 Jun 2006 01:09:00 +0000 (01:09 +0000)]
Clean up after the test is completed by checking the item back
in.
djfiander [Mon, 12 Jun 2006 23:49:51 +0000 (23:49 +0000)]
Minor cleanup: be consistent in use of "LOG_" in syslog levels.
djfiander [Fri, 9 Jun 2006 02:44:03 +0000 (02:44 +0000)]
Initial tests for Item Information message
djfiander [Fri, 9 Jun 2006 02:42:48 +0000 (02:42 +0000)]
Extend reporting of circulation status
djfiander [Tue, 6 Jun 2006 01:22:03 +0000 (01:22 +0000)]
Initial test for Renew All
djfiander [Tue, 6 Jun 2006 01:21:35 +0000 (01:21 +0000)]
text fields in the response messages may be empty
djfiander [Tue, 6 Jun 2006 01:20:01 +0000 (01:20 +0000)]
Add support for the configuration parameters
<min_servers value="N" />
<max_servers value="N" />
which parallel the paramters for Net::Server::PreFork.
djfiander [Tue, 6 Jun 2006 01:18:38 +0000 (01:18 +0000)]
write_msg() is used by both the server and the test suite. In
the test suite, we don't want to call syslog, so only call syslog
if we're writing the message to stdout (which only happens in the
server).
djfiander [Fri, 2 Jun 2006 00:51:18 +0000 (00:51 +0000)]
Fix check renewal permissions check
djfiander [Wed, 31 May 2006 00:18:44 +0000 (00:18 +0000)]
Initial set of tests for Renew
djfiander [Tue, 30 May 2006 01:58:50 +0000 (01:58 +0000)]
Fix minor bugs in error condition for Renew Response
djfiander [Tue, 30 May 2006 01:10:35 +0000 (01:10 +0000)]
Initial test suite for Checkin
djfiander [Tue, 30 May 2006 01:09:46 +0000 (01:09 +0000)]
Confirm the actual title of the item being held
djfiander [Tue, 30 May 2006 01:02:12 +0000 (01:02 +0000)]
Only attempt to add the Patron ID to the Checkin Response message
if the ILS actually provides a valid $patron structure
djfiander [Mon, 29 May 2006 12:16:11 +0000 (12:16 +0000)]
Add a bunch more tests
djfiander [Sun, 28 May 2006 12:30:48 +0000 (12:30 +0000)]
minor fixups for hold management
djfiander [Sun, 28 May 2006 12:30:20 +0000 (12:30 +0000)]
Hold messages can have a patron password in them
djfiander [Sat, 27 May 2006 13:33:11 +0000 (13:33 +0000)]
Initial test case
djfiander [Sat, 27 May 2006 13:32:45 +0000 (13:32 +0000)]
Add more tests
djfiander [Sat, 27 May 2006 11:50:01 +0000 (11:50 +0000)]
I'm beginning to wonder how many times it'll take me to get the
password check right. But this time I actually ran it through
the test harness before checking it in.
djfiander [Sat, 27 May 2006 11:30:52 +0000 (11:30 +0000)]
add missing value to debug message
djfiander [Sat, 27 May 2006 11:30:23 +0000 (11:30 +0000)]
Get the test right for checking the patron password in
handle_patron_enable()
djfiander [Fri, 26 May 2006 02:12:48 +0000 (02:12 +0000)]
Initial set of tests
djfiander [Fri, 26 May 2006 02:12:26 +0000 (02:12 +0000)]
Fix bugs in Patron Enable: A valid patron with an invalid
password should generate a true patron status message, but
shouldn't enable the patron.
Fix language handling in Block Patron: return the patron's
language, rather than sending 'unknown'.
djfiander [Sun, 21 May 2006 13:56:40 +0000 (13:56 +0000)]
Initial set of tests for Checkout Response
djfiander [Sun, 21 May 2006 13:52:51 +0000 (13:52 +0000)]
Eliminate warning message for uninitialized variable use
djfiander [Fri, 19 May 2006 02:30:52 +0000 (02:30 +0000)]
Fix spelling mistake
djfiander [Fri, 19 May 2006 02:30:21 +0000 (02:30 +0000)]
Fix handling of the "renewal ok" status field in the ILS
djfiander [Wed, 17 May 2006 02:50:02 +0000 (02:50 +0000)]
Finish first pass at ILS::Patron documentation
djfiander [Tue, 16 May 2006 01:44:00 +0000 (01:44 +0000)]
Initial, incomplete, documentation for ILS::Patron
djfiander [Tue, 16 May 2006 01:40:29 +0000 (01:40 +0000)]
Missed an unused function in the last code cleanup
djfiander [Tue, 16 May 2006 01:37:29 +0000 (01:37 +0000)]
Code cleanups
djfiander [Mon, 15 May 2006 00:16:42 +0000 (00:16 +0000)]
Initial pass at documentation for ILS::Item
djfiander [Mon, 15 May 2006 00:15:36 +0000 (00:15 +0000)]
Delete unused access method
djfiander [Mon, 15 May 2006 00:15:11 +0000 (00:15 +0000)]
Add code to build HTML documentation from the podfiles.
djfiander [Mon, 15 May 2006 00:14:27 +0000 (00:14 +0000)]
Finish first pass at documentation for ILS module
djfiander [Sun, 14 May 2006 11:40:39 +0000 (11:40 +0000)]
Minor code cleanups
djfiander [Thu, 4 May 2006 01:24:52 +0000 (01:24 +0000)]
Adjust tests to agree with the code. Since the server reports
that a patron is valid, but the password was wrong, we need to
make sure that that's what the tests expect.
djfiander [Thu, 4 May 2006 01:24:09 +0000 (01:24 +0000)]
Sequence numbers are a single digit, so when it hits 10, wrap
around to 0.
djfiander [Thu, 4 May 2006 01:23:28 +0000 (01:23 +0000)]
Adjust the test data so that it works with the test cases.
djfiander [Thu, 4 May 2006 01:22:54 +0000 (01:22 +0000)]
If the patron is valid, but the patron password is provided, and
wrong, still report that the patron's good. This seems to be
what clients are expecting, and since we can "trust" them, we
will give them full disclosure.