3 #----------------------------------------------------------------
4 # Code for testing the container API
5 #----------------------------------------------------------------
7 require '../oils_header.pl';
8 use vars qw/ $apputils $memcache $user $authtoken $authtime
9 $AUTH $STORAGE $SEARCH $CIRC $CAT $MATH $SETTINGS $ACTOR /;
10 use strict; use warnings;
14 my $username = shift || 'admin';
15 my $password = shift || 'open-ils';
18 my $meth = 'open-ils.storage.direct.container';
19 $types{'biblio'} = "biblio_record_entry_bucket";
20 $types{'callnumber'} = "call_number_bucket";
21 $types{'copy'} = "copy_bucket";
22 $types{'user'} = "user_bucket";
24 # XXX These will depend on the data you have available.
25 # we need a "fetch_any" method to resolve this
27 $ttest{'biblio'} = 40791;
28 $ttest{'callnumber'} = 1;
29 $ttest{'copy'} = 420795;
32 my $testcopy = 420795;
41 osrf_connect($config);
42 oils_login($username, $password);
43 oils_fetch_session($authtoken);
52 #----------------------------------------------------------------
54 sub containers_create {
56 for my $type ( keys %types ) {
57 my $bucket = "Fieldmapper::container::" . $types{$type};
58 $bucket = $bucket->new;
59 $bucket->owner($user->id);
60 $bucket->name("TestBucket");
61 $bucket->btype("TestType");
63 my $resp = simplereq($ACTOR,
64 'open-ils.actor.container.create',
65 $authtoken, $type, $bucket );
67 oils_event_die($resp);
68 printl("Created new $type bucket with id $resp");
69 $containers{$type} = $resp;
75 for my $type ( keys %types ) {
76 my $id = $containers{$type};
78 my $item = "Fieldmapper::container::" . $types{$type} . "_item";
82 $item->target_copy($ttest{$type}) if $type eq 'copy';
83 $item->target_call_number($ttest{$type}) if $type eq 'callnumber';
84 $item->target_biblio_record_entry($ttest{$type}) if $type eq 'biblio';
85 $item->target_user($ttest{$type}) if $type eq 'user';
87 my $resp = simplereq($ACTOR,
88 'open-ils.actor.container.item.create',
89 $authtoken, $type, $item );
91 oils_event_die($resp);
92 printl("Created new $type bucket item with id $resp");
93 $items{$type} = $resp;
99 for my $type ( keys %types ) {
100 my $id = $items{$type};
102 my $resp = simplereq($ACTOR,
103 'open-ils.actor.container.item.delete',
104 $authtoken, $type, $id );
106 oils_event_die($resp);
107 printl("Deleted $type bucket item with id $id");
112 sub containers_delete {
113 for my $type (keys %containers) {
114 my $id = $containers{$type};
116 my $resp = simplereq( $ACTOR,
117 'open-ils.actor.container.delete',
118 $authtoken, $type, $id );
120 oils_event_die($resp);
121 printl("Deleted bucket $id");