]> git.aero2k.de Git - tmp/jakarta-migration.git/blob
78cac20d07cd5ceb55d4def7f0ae95087df6f324
[tmp/jakarta-migration.git] /
1 /**
2  * This document is a part of the source code and related artifacts
3  * for CollectionSpace, an open source collections management system
4  * for museums and related institutions:
5  *
6  * http://www.collectionspace.org
7  * http://wiki.collectionspace.org
8  *
9  * Copyright © 2009 Regents of the University of California
10  *
11  * Licensed under the Educational Community License (ECL), Version 2.0.
12  * You may not use this file except in compliance with this License.
13  *
14  * You may obtain a copy of the ECL 2.0 License at
15  * https://source.collectionspace.org/collection-space/LICENSE.txt
16  *
17  * Unless required by applicable law or agreed to in writing, software
18  * distributed under the License is distributed on an "AS IS" BASIS,
19  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20  * See the License for the specific language governing permissions and
21  * limitations under the License.
22  */
23
24 package org.collectionspace.services.id.test;
25
26 import org.collectionspace.services.id.*;
27
28 import junit.framework.TestCase;
29 import static org.junit.Assert.*;
30
31 /**
32  * IDGeneratorSerializerTest
33  *
34  * Unit tests of the ID Service's IDGeneratorSerializer class.
35  *
36  *
37  * $LastChangedBy: aron $
38  * $LastChangedRevision: 302 $
39  * $LastChangedDate$
40  */
41 public class IDGeneratorSerializerTest extends TestCase {
42
43   String serializedGenerator;
44   IDPattern pattern;
45   
46         final static String DEFAULT_CSID = "TEST-1";
47
48   final static String DEFAULT_SERIALIZED_ID_GENERATOR =
49     "<org.collectionspace.services.id.IDPattern>\n" +
50     "  <csid>" + DEFAULT_CSID + "</csid>\n" +
51     "  <uri></uri>\n" +
52     "  <description></description>\n" +
53     "  <parts/>\n" +
54     "</org.collectionspace.services.id.IDPattern>";
55
56   // @TODO We may want to canonicalize (or otherwise normalize) the expected and
57   // actual XML in these tests, to avoid failures resulting from differences in
58   // whitespace, etc.
59         public void testSerializeIDGenerator() {
60           IDPattern pattern = new IDPattern(DEFAULT_CSID);
61                 assertEquals(DEFAULT_SERIALIZED_ID_GENERATOR, IDGeneratorSerializer.serialize(pattern));
62         }
63
64         public void testSerializeNullIDGenerator() {
65           try {
66             String serializedPattern = IDGeneratorSerializer.serialize(null);
67                         fail("Should have thrown IllegalArgumentException here");
68                 } catch (IllegalArgumentException expected) {
69                         // This Exception should be thrown, and thus the test should pass.
70                 }
71         }
72
73         public void testDeserializeIDGenerator() {
74           // This test will fail with different hash codes unless we add an IDPattern.equals()
75           // method that explicitly defines object equality as, for instance, having identical values
76           // in each of its instance variables.
77           // IDPattern pattern = IDGeneratorSerializer.deserialize(DEFAULT_SERIALIZED_ID_PATTERN);
78           // assertEquals(pattern, new IDPattern(DEFAULT_CSID));
79         }
80
81         public void testDeserializeNullSerializedIDGenerator() {
82           try {
83             IDPattern pattern = IDGeneratorSerializer.deserialize(null);
84                         fail("Should have thrown IllegalArgumentException here");
85                 } catch (IllegalArgumentException expected) {
86                         // This Exception should be thrown, and thus the test should pass.
87                 }
88         }
89
90         public void testDeserializeInvalidSerializedIDGenerator() {
91           try {
92             IDPattern pattern = IDGeneratorSerializer.deserialize("<invalid_serialized_generator/>");
93                         fail("Should have thrown IllegalArgumentException here");
94                 } catch (IllegalArgumentException expected) {
95                         // This Exception should be thrown, and thus the test should pass.
96                 }
97         }
98         
99 }