001: /*
002: *
003: *
004: * Copyright 1990-2007 Sun Microsystems, Inc. All Rights Reserved.
005: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
006: *
007: * This program is free software; you can redistribute it and/or
008: * modify it under the terms of the GNU General Public License version
009: * 2 only, as published by the Free Software Foundation.
010: *
011: * This program is distributed in the hope that it will be useful, but
012: * WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * General Public License version 2 for more details (a copy is
015: * included at /legal/license.txt).
016: *
017: * You should have received a copy of the GNU General Public License
018: * version 2 along with this work; if not, write to the Free Software
019: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
020: * 02110-1301 USA
021: *
022: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
023: * Clara, CA 95054 or visit www.sun.com if you need additional
024: * information or have any questions.
025: */
026:
027: package com.sun.midp.automation;
028:
029: import com.sun.midp.i3test.*;
030: import java.util.*;
031:
032: /**
033: * i3test for AutoSuiteStorage
034: */
035: public class TestAutoSuiteStorage extends TestCase {
036: /** URL of unexistent suite */
037: private static final String NONEXISTENT_SUITE_URL = "http://dead.end/nosuchmidlet.jad";
038:
039: /** URL of suite to install */
040: private static final String SUITE_URL = "http://localhost/hello.jad";
041:
042: /**
043: * Test failures
044: */
045: void testFailures() {
046: boolean exceptionThrown;
047:
048: declare("Obtain AutoSuiteStorage instance");
049: AutoSuiteStorage storage = AutoSuiteStorage.getStorage();
050: assertNotNull("Failed to obtain AutoSuiteStorage instance",
051: storage);
052:
053: declare("Install nonexistent suite");
054: exceptionThrown = false;
055: try {
056: AutoSuiteDescriptor suite = null;
057: suite = storage.installSuite(NONEXISTENT_SUITE_URL);
058: } catch (Exception e) {
059: exceptionThrown = true;
060: }
061: assertTrue("Installed nonexistent suite", exceptionThrown);
062:
063: declare("Install suite");
064: AutoSuiteDescriptor suite = null;
065: try {
066: suite = storage.installSuite(SUITE_URL);
067: } catch (Exception e) {
068: }
069: assertNotNull("Failed to install suite", suite);
070:
071: declare("Uninstall suite");
072: exceptionThrown = false;
073: try {
074: storage.uninstallSuite(suite);
075: } catch (Exception e) {
076: exceptionThrown = true;
077: }
078: assertFalse("Failed to uninstall suite", exceptionThrown);
079:
080: declare("Uninstall not installed suite");
081: exceptionThrown = false;
082: try {
083: storage.uninstallSuite(suite);
084: } catch (Exception e) {
085: exceptionThrown = true;
086: }
087: assertTrue("Uninstalled not installed suite", exceptionThrown);
088: }
089:
090: /**
091: * Tests operations with storage
092: */
093: void testStorage() {
094: declare("Obtain AutoSuiteStorage instance");
095: AutoSuiteStorage storage = AutoSuiteStorage.getStorage();
096: assertNotNull("Failed to obtain AutoSuiteStorage instance",
097: storage);
098:
099: Vector suites = storage.getInstalledSuites();
100: assertNotNull("Failed to obtain list of installed suites",
101: suites);
102:
103: int totalSuitesBefore = suites.size();
104:
105: declare("Install suite");
106: AutoSuiteDescriptor suite = null;
107: try {
108: suite = storage.installSuite(SUITE_URL);
109: } catch (Exception e) {
110: }
111: assertNotNull("Failed to install suite", suite);
112:
113: suites = storage.getInstalledSuites();
114: int totalSuitesAfter = suites.size();
115: assertTrue("Invalid number of installed suites",
116: totalSuitesAfter == totalSuitesBefore + 1);
117:
118: System.out.println("Suite name: " + suite.getSuiteName());
119: Vector midlets = suite.getSuiteMIDlets();
120: for (int i = 0; i < midlets.size(); ++i) {
121: AutoMIDletDescriptor midlet;
122: midlet = (AutoMIDletDescriptor) midlets.elementAt(i);
123: System.out.println("MIDlet #" + i);
124: System.out.println(" name : " + midlet.getMIDletName());
125: System.out.println(" class: "
126: + midlet.getMIDletClassName());
127: System.out.println("");
128: }
129:
130: declare("Uninstall suite");
131: boolean exceptionThrown = false;
132: try {
133: storage.uninstallSuite(suite);
134: } catch (Exception e) {
135: exceptionThrown = true;
136: }
137: assertFalse("Failed to uninstall suite", exceptionThrown);
138:
139: suites = storage.getInstalledSuites();
140: totalSuitesAfter = suites.size();
141: assertTrue("Invalid number of installed suites",
142: totalSuitesAfter == totalSuitesBefore);
143: }
144:
145: /**
146: * Run tests
147: */
148: public void runTests() {
149: testStorage();
150: testFailures();
151: }
152:
153: }
|