Source code: net/jxta/ext/config/PlatformConfigTest.java
1 /*
2 * Copyright (c) 2001 Sun Microsystems, Inc. All rights
3 * reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in
14 * the documentation and/or other materials provided with the
15 * distribution.
16 *
17 * 3. The end-user documentation included with the redistribution,
18 * if any, must include the following acknowledgment:
19 * "This product includes software developed by the
20 * Sun Microsystems, Inc. for Project JXTA."
21 * Alternately, this acknowledgment may appear in the software itself,
22 * if and wherever such third-party acknowledgments normally appear.
23 *
24 * 4. The names "Sun", "Sun Microsystems, Inc.", "JXTA" and "Project JXTA" must
25 * not be used to endorse or promote products derived from this
26 * software without prior written permission. For written
27 * permission, please contact Project JXTA at http://www.jxta.org.
28 *
29 * 5. Products derived from this software may not be called "JXTA",
30 * nor may "JXTA" appear in their name, without prior written
31 * permission of Sun.
32 *
33 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
34 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
35 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
36 * DISCLAIMED. IN NO EVENT SHALL SUN MICROSYSTEMS OR
37 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
38 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
39 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
40 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
41 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
42 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
43 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
44 * SUCH DAMAGE.
45 * ====================================================================
46 *
47 * This software consists of voluntary contributions made by many
48 * individuals on behalf of Project JXTA. For more
49 * information on Project JXTA, please see
50 * <http://www.jxta.org/>.
51 *
52 * This license is based on the BSD license adopted by the Apache Foundation.
53 *
54 * $Id: PlatformConfigTest.java,v 1.3 2004/03/22 20:20:36 gonzo Exp $
55 */
56
57 package net.jxta.ext.config;
58
59 import net.jxta.exception.ConfiguratorException;
60
61 import net.jxta.document.AdvertisementFactory;
62 import net.jxta.document.MimeMediaType;
63
64 import net.jxta.impl.protocol.PlatformConfig;
65
66 import java.io.BufferedReader;
67 import java.io.InputStream;
68 import java.io.InputStreamReader;
69 import java.io.IOException;
70
71 /**
72 *
73 * @version $Id: PlatformConfigTest.java,v 1.3 2004/03/22 20:20:36 gonzo Exp $
74 *
75 * @author james todd [gonzo at jxta dot org]
76 */
77
78 public class PlatformConfigTest
79 extends TestBase {
80
81 private PlatformConfig pc = null;
82 private static final String PLATFORM_CONFIG_CLASSIC =
83 "/net/jxta/ext/config/resources/PlatformConfig.classic.xml";
84
85 public static void main(String[] argv) {
86 junit.textui.TestRunner.run(suite());
87 }
88
89 public static junit.framework.TestSuite suite() {
90 junit.framework.TestSuite suite = new junit.framework.TestSuite();
91
92 suite.addTest(new junit.framework.TestSuite(PlatformConfigTest.class));
93
94 return suite;
95 }
96
97 public PlatformConfigTest() {
98 this(PlatformConfigTest.class.getName());
99 }
100
101 public PlatformConfigTest(String name) {
102 super(name);
103
104 try {
105 this.pc = new Configurator(NAME, DESCRIPTION, PRINCIPAL,
106 PASSWORD).getPlatformConfig();
107 } catch (ConfiguratorException ce) {}
108 }
109
110 public void testName() {
111 if (this.pc == null) {
112 fail("null PlatformConfig");
113 }
114
115 Configurator c = new Configurator(this.pc);
116
117 assertEquals(NAME, c.getName());
118 }
119
120 public void testClassic() {
121 PlatformConfig pc = null;
122 InputStream is = PlatformConfigTest.class.getResourceAsStream(PLATFORM_CONFIG_CLASSIC);
123
124 if (is != null) {
125 try {
126 pc = (PlatformConfig)
127 AdvertisementFactory.newAdvertisement(MimeMediaType.XMLUTF8,
128 new BufferedReader(new InputStreamReader(is)));
129 } catch (IOException ioe) {
130 fail("PlatformConfig construction: " + ioe.getMessage());
131 }
132 } else {
133 fail("can't obtain classic PlatformConfig resource");
134 }
135
136 if (pc != null) {
137 Configurator c = new Configurator(pc);
138
139 try {
140 c.getPlatformConfig();
141 } catch (ConfiguratorException ce) {
142 fail("can't get PlatformConfig: " + ce.getMessage());
143 }
144 }
145 }
146 }