]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/sql/Pg/t/lp712490-vand-replace-field-merge.pg
LP#712490 Vandelay replace/merge PGTAP tests
[Evergreen.git] / Open-ILS / src / sql / Pg / t / lp712490-vand-replace-field-merge.pg
1 BEGIN;
2
3 -- Plan the tests.
4 SELECT plan(5);
5
6 SELECT is(
7     (SELECT vandelay.replace_field($$
8 <record xmlns="http://www.loc.gov/MARC21/slim" 
9   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
10   xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd">
11   <leader>         a              </leader>
12   <datafield tag="100" ind1="1" ind2=" ">
13     <subfield code="a">Banks, Iain M</subfield>
14     <subfield code="d">1954-</subfield>
15   </datafield>
16 </record>
17 $$, $$
18 <record xmlns="http://www.loc.gov/MARC21/slim"
19   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
20   xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd">
21   <datafield tag="100" ind1="1" ind2=" ">
22     <subfield code="a">Banks, Iain M</subfield>
23     <subfield code="d">1954-2013</subfield>
24   </datafield>
25 </record>
26 $$, '100abcdef')),
27     '<record    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd"    xmlns="http://www.loc.gov/MARC21/slim"><leader>         a              </leader><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Banks, Iain M</subfield><subfield code="d">1954-2013</subfield></datafield></record>',
28     'Replacing a value for a single existing subfield'
29 );
30
31 SELECT is(
32     (SELECT vandelay.replace_field($$
33 <record xmlns="http://www.loc.gov/MARC21/slim"
34   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
35   xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd">
36   <leader>         a              </leader>
37   <datafield tag="100" ind1="1" ind2=" ">
38     <subfield code="a">Banks, Iain M</subfield>
39   </datafield>
40 </record>
41 $$, $$
42 <record xmlns="http://www.loc.gov/MARC21/slim"
43   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
44   xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd">
45   <datafield tag="100" ind1="1" ind2=" ">
46     <subfield code="a">Banks, Iain M</subfield>
47     <subfield code="d">1954-2013</subfield>
48   </datafield>
49 </record>
50 $$, '100abcdef')),
51     '<record    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd"    xmlns="http://www.loc.gov/MARC21/slim"><leader>         a              </leader><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Banks, Iain M</subfield><subfield code="d">1954-2013</subfield></datafield></record>',
52     'Adding a missing field'
53 );
54
55 SELECT is(
56     (SELECT vandelay.replace_field($$
57 <record xmlns="http://www.loc.gov/MARC21/slim"
58   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
59   xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd">
60   <leader>         a              </leader>
61   <datafield tag="100" ind1="1" ind2=" ">
62     <subfield code="a">Banks, Iain M</subfield>
63     <subfield code="d">1954-</subfield>
64   </datafield>
65 </record>
66 $$, $$
67 <record xmlns="http://www.loc.gov/MARC21/slim"
68   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
69   xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd">
70   <datafield tag="100" ind1="1" ind2=" ">
71     <subfield code="a">Banks, Iain M</subfield>
72     <subfield code="b">HELLO</subfield>
73     <subfield code="d">1954-2013</subfield>
74   </datafield>
75 </record>
76 $$, '100abcdef')),
77     '<record    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd"    xmlns="http://www.loc.gov/MARC21/slim"><leader>         a              </leader><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Banks, Iain M</subfield><subfield code="b">HELLO</subfield><subfield code="d">1954-2013</subfield></datafield></record>',
78     'Splicing a new field into the existing fields'
79 );
80
81 SELECT is(
82     (SELECT vandelay.replace_field($$
83 <record xmlns="http://www.loc.gov/MARC21/slim"
84   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
85   xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd">
86   <leader>         a              </leader>
87   <datafield tag="100" ind1="1" ind2=" ">
88     <subfield code="a">Banks, Iain M</subfield>
89     <subfield code="d">1954-</subfield>
90     <subfield code="z">STAY PUT</subfield>
91   </datafield>
92 </record>
93 $$, $$
94 <record xmlns="http://www.loc.gov/MARC21/slim"
95   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
96   xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd">
97   <datafield tag="100" ind1="1" ind2=" ">
98     <subfield code="a">Banks, Iain M</subfield>
99     <subfield code="b">HELLO</subfield>
100     <subfield code="y">IGNORE ME</subfield>
101     <subfield code="d">1954-2013</subfield>
102   </datafield>
103 </record>
104 $$, '100abcdef')),
105     '<record    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd"    xmlns="http://www.loc.gov/MARC21/slim"><leader>         a              </leader><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Banks, Iain M</subfield><subfield code="b">HELLO</subfield><subfield code="d">1954-2013</subfield><subfield code="z">STAY PUT</subfield></datafield></record>',
106     'Splice new field, ignore uncontrolled source field, leave uncontrolled target field in place'
107 );
108
109 SELECT is(
110     (SELECT vandelay.replace_field($$
111 <record xmlns="http://www.loc.gov/MARC21/slim"
112   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
113   xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd">
114   <leader>         a              </leader>
115   <datafield tag="100" ind1="1" ind2=" ">
116     <subfield code="a">Banks, Iain M</subfield>
117     <subfield code="d">1954-</subfield>
118   </datafield>
119 </record>
120 $$, $$
121 <record xmlns="http://www.loc.gov/MARC21/slim"
122   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
123   xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd">
124   <datafield tag="100" ind1="1" ind2=" ">
125     <subfield code="a">Banks, Iain M</subfield>
126   </datafield>
127 </record>
128 $$, '100abcdef')),
129     '<record    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd"    xmlns="http://www.loc.gov/MARC21/slim"><leader>         a              </leader><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Banks, Iain M</subfield></datafield></record>',
130     'Removing a subfield'
131 );
132
133 SELECT * FROM finish();
134 ROLLBACK;
135