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;
36 osrf_connect($config);
37 oils_login($username, $password);
38 oils_fetch_session($authtoken);
47 #----------------------------------------------------------------
49 sub containers_create {
51 for my $type ( keys %types ) {
52 my $bucket = "Fieldmapper::container::" . $types{$type};
53 $bucket = $bucket->new;
54 $bucket->owner($user->id);
55 $bucket->name("TestBucket123");
56 $bucket->btype("TestType123");
58 printl("creating bucket " .$bucket->owner." : " . $bucket->name . " : " . $bucket->btype);
60 my $resp = simplereq($ACTOR,
61 'open-ils.actor.container.create',
62 $authtoken, $type, $bucket );
64 oils_event_die($resp);
65 printl("Created new $type bucket with id $resp");
66 $containers{$type} = $resp;
71 $resp = simplereq($ACTOR,
72 'open-ils.actor.container.update', $authtoken, $type, $bucket );
73 oils_event_die($resp);
74 printl("Updated container type $type");
80 for my $type ( keys %types ) {
81 my $id = $containers{$type};
83 my $item = "Fieldmapper::container::" . $types{$type} . "_item";
87 $item->target_copy($ttest{$type}) if $type eq 'copy';
88 $item->target_call_number($ttest{$type}) if $type eq 'callnumber';
89 $item->target_biblio_record_entry($ttest{$type}) if $type eq 'biblio';
90 $item->target_user($ttest{$type}) if $type eq 'user';
92 my $resp = simplereq($ACTOR,
93 'open-ils.actor.container.item.create',
94 $authtoken, $type, $item );
96 oils_event_die($resp);
97 printl("Created new $type bucket item with id $resp");
98 $items{$type} = $resp;
104 for my $type ( keys %types ) {
105 my $id = $items{$type};
107 my $resp = simplereq($ACTOR,
108 'open-ils.actor.container.item.delete',
109 $authtoken, $type, $id );
111 oils_event_die($resp);
112 printl("Deleted $type bucket item with id $id");
118 sub containers_delete {
119 for my $type (keys %containers) {
120 my $id = $containers{$type};
122 my $resp = simplereq( $ACTOR,
123 'open-ils.actor.container.delete',
124 $authtoken, $type, $id );
126 oils_event_die($resp);
127 printl("Deleted bucket $id");