KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > db > DatabaseModuleTest


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.db;
21
22 import org.netbeans.modules.db.runtime.DatabaseRuntimeManager;
23 import org.netbeans.modules.db.test.TestBase;
24 import org.netbeans.spi.db.explorer.DatabaseRuntime;
25 import org.openide.filesystems.FileObject;
26 import org.openide.filesystems.FileUtil;
27 import org.openide.filesystems.Repository;
28
29 /**
30  *
31  * @author Andrei Badea
32  */

33 public class DatabaseModuleTest extends TestBase {
34
35     // TODO should also test that connections are disconnected
36

37     // TODO should also test that no errors are only logged to ErrorManager with EM.notify(INFORMATIONAL, e)
38

39     public DatabaseModuleTest(String JavaDoc testName) {
40         super(testName);
41     }
42
43     public void testRuntimesAreStopped() throws Exception JavaDoc {
44         FileObject runtimeFolder = Repository.getDefault().getDefaultFileSystem().getRoot().getFileObject("Databases/Runtimes");
45         FileObject runtime1 = FileUtil.createData(runtimeFolder, "runtime1.instance");
46         runtime1.setAttribute("instanceOf", DatabaseRuntime.class.getName());
47         runtime1.setAttribute("instanceCreate", new DatabaseRuntimeImpl());
48         FileObject runtime2 = FileUtil.createData(runtimeFolder, "runtime2.instance");
49         runtime2.setAttribute("instanceOf", DatabaseRuntime.class.getName());
50         runtime2.setAttribute("instanceCreate", new DatabaseRuntimeImpl());
51         
52         new DatabaseModule().close();
53         
54         DatabaseRuntime[] runtimes = DatabaseRuntimeManager.getDefault().getRuntimes();
55         int checked = 0;
56         for (int i = 0; i < runtimes.length; i++) {
57             if (runtimes[i] instanceof DatabaseRuntimeImpl) {
58                 assertTrue(((DatabaseRuntimeImpl)runtimes[i]).stopped);
59                 checked++;
60             }
61         }
62         // check we have really tested our DatabaseRuntime implementations
63
assertTrue(checked == 2);
64     }
65     
66     static final class DatabaseRuntimeImpl implements DatabaseRuntime {
67         
68         boolean stopped;
69         
70         public boolean acceptsDatabaseURL(String JavaDoc url) {
71             return true;
72         }
73
74         public void stop() {
75             stopped = true;
76         }
77
78         public void start() {
79         }
80
81         public boolean isRunning() {
82             return true;
83         }
84
85         public String JavaDoc getJDBCDriverClass() {
86             return null;
87         }
88
89         public boolean canStart() {
90             return true;
91         }
92     }
93 }
94
Popular Tags