sitka/SIPServer.git
14 years agoAdd entry to "catalogue" that has a diacritical in the title, for
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.

14 years agoReplace idiomatic perl checksum code, which seems to fail on
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.

14 years agoMake two shut down messages different, to simplify debugging
djfiander [Tue, 22 Aug 2006 23:16:41 +0000 (23:16 +0000)]
Make two shut down messages different, to simplify debugging

14 years agoUse correct boolean format for 'OK' field of Checkin Response
djfiander [Thu, 3 Aug 2006 00:05:41 +0000 (00:05 +0000)]
Use correct boolean format for 'OK' field of Checkin Response
message.

14 years agoDon't rely on clients sending the exactly protocol strings '1.00'
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.

14 years agoAllow clients to violate the protocol specification by not
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.

14 years agoAdd support for protocol extension 'Patron Internet Profile' with
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'

14 years agoAdjust tests run for OpenILS.
djfiander [Fri, 28 Jul 2006 23:05:35 +0000 (23:05 +0000)]
Adjust tests run for OpenILS.

14 years agoAccept either 'other' or 'available' for circulation status.
djfiander [Fri, 28 Jul 2006 23:05:00 +0000 (23:05 +0000)]
Accept either 'other' or 'available' for circulation status.

14 years agoParameterize the "Renew All" tests, even though they don't run on
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.

14 years agoAdded target to run just the Evergreen-compatible tests
djfiander [Wed, 19 Jul 2006 01:45:51 +0000 (01:45 +0000)]
Added target to run just the Evergreen-compatible tests

14 years agoBasic instructions for running tests
djfiander [Wed, 19 Jul 2006 01:45:20 +0000 (01:45 +0000)]
Basic instructions for running tests

14 years agoBasic installation README
djfiander [Wed, 19 Jul 2006 00:49:13 +0000 (00:49 +0000)]
Basic installation README

14 years agoInitial system integration with Evergreen code.
djfiander [Tue, 18 Jul 2006 00:53:17 +0000 (00:53 +0000)]
Initial system integration with Evergreen code.

14 years agoIt's not "FID_CHARDED_ITEMS_LMT", it's "FID_CHARGED_ITEMS_LMT"
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"

14 years agoRewrite so that each message is a single test, which might fail
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.

14 years agoAdd code to check out two items and confirm that both are renewed.
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.

14 years agoadd code to check item out, rather than depend on the fact that
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.

14 years agoclean up by cancelling the second user's hold.
djfiander [Tue, 27 Jun 2006 01:33:45 +0000 (01:33 +0000)]
clean up by cancelling the second user's hold.

14 years agoAdd code to check item in when done testing.
djfiander [Tue, 27 Jun 2006 01:33:24 +0000 (01:33 +0000)]
Add code to check item in when done testing.

14 years agofix handling of hold_queue, add second item to DB to test
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

14 years agofix handling of Item::hold_queue
djfiander [Tue, 27 Jun 2006 01:32:20 +0000 (01:32 +0000)]
fix handling of Item::hold_queue

14 years agoAdd tests for Invalid patron password and invalid patron id
djfiander [Fri, 23 Jun 2006 02:32:56 +0000 (02:32 +0000)]
Add tests for Invalid patron password and invalid patron id

14 years agoFID_PATRON_PWD is a valid field in a "Renew All" message. Also
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.

14 years agoCheck patron password in ILS::renew_all
djfiander [Fri, 23 Jun 2006 02:31:06 +0000 (02:31 +0000)]
Check patron password in ILS::renew_all

14 years agoAdd test for attempting to renew item that has outstanding
djfiander [Fri, 23 Jun 2006 00:52:32 +0000 (00:52 +0000)]
Add test for attempting to renew item that has outstanding
holds.

14 years agoFix definition of Item::available to eliminate warning message
djfiander [Fri, 23 Jun 2006 00:32:40 +0000 (00:32 +0000)]
Fix definition of Item::available to eliminate warning message

14 years agoChange definition of Patron::available to test to see if the item
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.

14 years agoAdd tests for invalid patron and invalid item
djfiander [Thu, 22 Jun 2006 01:00:18 +0000 (01:00 +0000)]
Add tests for invalid patron and invalid item

14 years agoTest for a blocked patron attempting to check out a book
djfiander [Fri, 16 Jun 2006 02:04:50 +0000 (02:04 +0000)]
Test for a blocked patron attempting to check out a book

14 years agoFix ILS::checkout to handle more error conditions properly (but I
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.

14 years agoTest renewing an item that's identified by title rather than by
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.

14 years agoAdd code to renew items that are specified by title, rather than
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.

14 years agoDefine an empty array of fields to be checked in the responses
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.

14 years agoTest that when a second hold is placed on an item, the queue
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.

14 years agoAdd second patron to stub ILS, to test multiple holds on an
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.

14 years agoGeneralize configuration of Net::Server::PreFork to allow for
djfiander [Tue, 13 Jun 2006 01:18:44 +0000 (01:18 +0000)]
Generalize configuration of Net::Server::PreFork to allow for
arbitrary configuration parameters.

14 years agoClean up after the test is completed by checking the item back
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.

14 years agoMinor cleanup: be consistent in use of "LOG_" in syslog levels.
djfiander [Mon, 12 Jun 2006 23:49:51 +0000 (23:49 +0000)]
Minor cleanup: be consistent in use of "LOG_" in syslog levels.

14 years agoInitial tests for Item Information message
djfiander [Fri, 9 Jun 2006 02:44:03 +0000 (02:44 +0000)]
Initial tests for Item Information message

14 years agoExtend reporting of circulation status
djfiander [Fri, 9 Jun 2006 02:42:48 +0000 (02:42 +0000)]
Extend reporting of circulation status

14 years agoInitial test for Renew All
djfiander [Tue, 6 Jun 2006 01:22:03 +0000 (01:22 +0000)]
Initial test for Renew All

14 years agotext fields in the response messages may be empty
djfiander [Tue, 6 Jun 2006 01:21:35 +0000 (01:21 +0000)]
text fields in the response messages may be empty

14 years agoAdd support for the configuration parameters
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.

14 years agowrite_msg() is used by both the server and the test suite. In
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).

14 years agoFix check renewal permissions check
djfiander [Fri, 2 Jun 2006 00:51:18 +0000 (00:51 +0000)]
Fix check renewal permissions check

14 years agoInitial set of tests for Renew
djfiander [Wed, 31 May 2006 00:18:44 +0000 (00:18 +0000)]
Initial set of tests for Renew

14 years agoFix minor bugs in error condition for Renew Response
djfiander [Tue, 30 May 2006 01:58:50 +0000 (01:58 +0000)]
Fix minor bugs in error condition for Renew Response

14 years agoInitial test suite for Checkin
djfiander [Tue, 30 May 2006 01:10:35 +0000 (01:10 +0000)]
Initial test suite for Checkin

14 years agoConfirm the actual title of the item being held
djfiander [Tue, 30 May 2006 01:09:46 +0000 (01:09 +0000)]
Confirm the actual title of the item being held

14 years agoOnly attempt to add the Patron ID to the Checkin Response message
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

14 years agoAdd a bunch more tests
djfiander [Mon, 29 May 2006 12:16:11 +0000 (12:16 +0000)]
Add a bunch more tests

14 years agominor fixups for hold management
djfiander [Sun, 28 May 2006 12:30:48 +0000 (12:30 +0000)]
minor fixups for hold management

14 years agoHold messages can have a patron password in them
djfiander [Sun, 28 May 2006 12:30:20 +0000 (12:30 +0000)]
Hold messages can have a patron password in them

14 years agoInitial test case
djfiander [Sat, 27 May 2006 13:33:11 +0000 (13:33 +0000)]
Initial test case

14 years agoAdd more tests
djfiander [Sat, 27 May 2006 13:32:45 +0000 (13:32 +0000)]
Add more tests

14 years agoI'm beginning to wonder how many times it'll take me to get the
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.

14 years agoadd missing value to debug message
djfiander [Sat, 27 May 2006 11:30:52 +0000 (11:30 +0000)]
add missing value to debug message

14 years agoGet the test right for checking the patron password in
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()

14 years agoInitial set of tests
djfiander [Fri, 26 May 2006 02:12:48 +0000 (02:12 +0000)]
Initial set of tests

14 years agoFix bugs in Patron Enable: A valid patron with an invalid
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'.

14 years agoInitial set of tests for Checkout Response
djfiander [Sun, 21 May 2006 13:56:40 +0000 (13:56 +0000)]
Initial set of tests for Checkout Response

14 years agoEliminate warning message for uninitialized variable use
djfiander [Sun, 21 May 2006 13:52:51 +0000 (13:52 +0000)]
Eliminate warning message for uninitialized variable use

14 years agoFix spelling mistake
djfiander [Fri, 19 May 2006 02:30:52 +0000 (02:30 +0000)]
Fix spelling mistake

14 years agoFix handling of the "renewal ok" status field in the ILS
djfiander [Fri, 19 May 2006 02:30:21 +0000 (02:30 +0000)]
Fix handling of the "renewal ok" status field in the ILS

14 years agoFinish first pass at ILS::Patron documentation
djfiander [Wed, 17 May 2006 02:50:02 +0000 (02:50 +0000)]
Finish first pass at ILS::Patron documentation

14 years agoInitial, incomplete, documentation for ILS::Patron
djfiander [Tue, 16 May 2006 01:44:00 +0000 (01:44 +0000)]
Initial, incomplete, documentation for ILS::Patron

14 years agoMissed an unused function in the last code cleanup
djfiander [Tue, 16 May 2006 01:40:29 +0000 (01:40 +0000)]
Missed an unused function in the last code cleanup

14 years agoCode cleanups
djfiander [Tue, 16 May 2006 01:37:29 +0000 (01:37 +0000)]
Code cleanups

14 years agoInitial pass at documentation for ILS::Item
djfiander [Mon, 15 May 2006 00:16:42 +0000 (00:16 +0000)]
Initial pass at documentation for ILS::Item

14 years agoDelete unused access method
djfiander [Mon, 15 May 2006 00:15:36 +0000 (00:15 +0000)]
Delete unused access method

14 years agoAdd code to build HTML documentation from the podfiles.
djfiander [Mon, 15 May 2006 00:15:11 +0000 (00:15 +0000)]
Add code to build HTML documentation from the podfiles.

14 years agoFinish first pass at documentation for ILS module
djfiander [Mon, 15 May 2006 00:14:27 +0000 (00:14 +0000)]
Finish first pass at documentation for ILS module

14 years agoMinor code cleanups
djfiander [Sun, 14 May 2006 11:40:39 +0000 (11:40 +0000)]
Minor code cleanups

14 years agoAdjust tests to agree with the code. Since the server reports
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.

14 years agoSequence numbers are a single digit, so when it hits 10, wrap
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.

14 years agoAdjust the test data so that it works with the test cases.
djfiander [Thu, 4 May 2006 01:23:28 +0000 (01:23 +0000)]
Adjust the test data so that it works with the test cases.

14 years agoIf the patron is valid, but the patron password is provided, and
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.

14 years ago'0' is a valid sequence number (it comes after '9'), so we have
djfiander [Thu, 4 May 2006 01:21:42 +0000 (01:21 +0000)]
'0' is a valid sequence number (it comes after '9'), so we have
to see if the sequence number is set, not just if it's true.

14 years agominor cleanups
djfiander [Sun, 30 Apr 2006 12:17:18 +0000 (12:17 +0000)]
minor cleanups

14 years agoAdd a bunch of tests, and stock field checks
djfiander [Sun, 30 Apr 2006 01:20:47 +0000 (01:20 +0000)]
Add a bunch of tests, and stock field checks

14 years agoMake sure to set BL: Patron Valid when the patron is, in fact,
djfiander [Sun, 30 Apr 2006 01:20:01 +0000 (01:20 +0000)]
Make sure to set BL: Patron Valid when the patron is, in fact,
valid (uncovered by the tests)

14 years agoFix formatting, export FID_PATRON_BIRTHDATE FID_PATRON_CLASS
djfiander [Sun, 30 Apr 2006 01:19:22 +0000 (01:19 +0000)]
Fix formatting, export FID_PATRON_BIRTHDATE FID_PATRON_CLASS

14 years agoAdd support for FID_PATRON_BIRTHDATE (PB) and FID_PATRON_CLASS
djfiander [Sun, 30 Apr 2006 00:15:04 +0000 (00:15 +0000)]
Add support for FID_PATRON_BIRTHDATE (PB) and FID_PATRON_CLASS
(PC) to Patron Information Response, for Envisionware terminals.

14 years agoAdd stub methods sip_birthdate and ptype, to support Envisionware
djfiander [Sun, 30 Apr 2006 00:13:48 +0000 (00:13 +0000)]
Add stub methods sip_birthdate and ptype, to support Envisionware
terminals (and probably others).

14 years agoChange port for raw socket connection from 5300 (chosen at random
djfiander [Sun, 30 Apr 2006 00:12:59 +0000 (00:12 +0000)]
Change port for raw socket connection from 5300 (chosen at random
by your's truly) to 6001, as per Envisionware email.

14 years agoVery basic tests. This will be a big test case. I suspect that
djfiander [Wed, 26 Apr 2006 14:37:19 +0000 (14:37 +0000)]
Very basic tests.  This will be a big test case.  I suspect that
the test harness will have to be enhanced in a variety of ways,
including some way of indicating fields that SHOULD NOT appear,
as well as just fields that are required.

14 years agoGeneralize handling of tagged fields, so we can reuse field
djfiander [Wed, 26 Apr 2006 14:35:20 +0000 (14:35 +0000)]
Generalize handling of tagged fields, so we can reuse field
specifications between test scenarios.

14 years agoFix Patron Information message handling to parallel the situation
djfiander [Wed, 26 Apr 2006 14:33:39 +0000 (14:33 +0000)]
Fix Patron Information message handling to parallel the situation
in the handling of Patron Status messages: if the password's not
provided by the terminal, then we don't worry about checking the
password, but if the terminal gives us the password, then it has
to match before we say anything about the patron.

14 years agoReplace call to nonexistent method 'hold_items_count' with
djfiander [Wed, 26 Apr 2006 14:19:52 +0000 (14:19 +0000)]
Replace call to nonexistent method 'hold_items_count' with
correct code.

14 years agoReturn an item title, even if the checkout failed (assuming that
djfiander [Wed, 26 Apr 2006 13:34:31 +0000 (13:34 +0000)]
Return an item title, even if the checkout failed (assuming that
the item ID was valid).

14 years agoClean up handling of Patron Status Response messages when there's
djfiander [Wed, 26 Apr 2006 13:31:22 +0000 (13:31 +0000)]
Clean up handling of Patron Status Response messages when there's
no password provided by the terminal.  I have a strong suspicion
that there exist terminals that expect to get patron status or
patron information even if they don't provide a password.

14 years agoCreate code to test tagged field values, create tests for Patron
djfiander [Wed, 26 Apr 2006 01:19:53 +0000 (01:19 +0000)]
Create code to test tagged field values, create tests for Patron
Status message

14 years agoInitial test environment
djfiander [Fri, 21 Apr 2006 02:18:47 +0000 (02:18 +0000)]
Initial test environment

14 years agoClean up handling of SIP boolean flags, and fix interface to
djfiander [Fri, 21 Apr 2006 02:15:43 +0000 (02:15 +0000)]
Clean up handling of SIP boolean flags, and fix interface to
write_msg().  Since it never used the $server parameter, get rid
of it, and add an optional $file parameter, so that write_msg()
can be use by the test harness.

14 years agoRemove hold_items_count method, and move the code to drop a hold
djfiander [Wed, 19 Apr 2006 00:03:55 +0000 (00:03 +0000)]
Remove hold_items_count method, and move the code to drop a hold
into a Patron method, rather than embedding it in the ils
transaction level.

14 years agoImplement code to handle Renew All messages.
djfiander [Sun, 16 Apr 2006 15:50:16 +0000 (15:50 +0000)]
Implement code to handle Renew All messages.

Minor cleanups.

Move add_count() into Sip.pm

Consistently use methods to access fields in Transaction status
objects.

14 years agoMinor cleanups.
djfiander [Sun, 16 Apr 2006 15:47:29 +0000 (15:47 +0000)]
Minor cleanups.

14 years agoMinor cleanups.
djfiander [Sun, 16 Apr 2006 15:47:07 +0000 (15:47 +0000)]
Minor cleanups.

move available() method out of Transaction and into Item.

14 years agoadd messages for Renew, Renew All, and Patron Enable
djfiander [Sun, 16 Apr 2006 15:46:04 +0000 (15:46 +0000)]
add messages for Renew, Renew All, and Patron Enable