Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/acs/damsel/srvr/db/TestMidAssetDB.java


1   package org.acs.damsel.srvr.db;
2   
3   import java.sql.*;
4   import java.util.*;
5   
6   import org.acs.damsel.srvr.*;
7   import org.acs.damsel.srvr.user.*;
8   import org.acs.damsel.srvr.asset.*;
9   import org.acs.damsel.srvr.collection.Collection;
10  import org.acs.damsel.srvr.search.*;
11  import org.acs.damsel.srvr.schema.*;
12  import junit.framework.*;
13  
14  
15  public class TestMidAssetDB
16      extends TestCase {
17    private MidAssetDB midAssetDB = null;
18  
19    protected void setUp() throws Exception {
20      super.setUp();
21      midAssetDB = MidAssetDB.instance();
22    }
23  
24    protected void tearDown() throws Exception {
25      midAssetDB = null;
26      super.tearDown();
27    }
28  
29    public void testInsert() {
30      String table = "AssetTable";
31      Vector columnNames = new Vector();
32      Vector columnValues = new Vector();
33      columnNames.add("FileName");
34      columnNames.add("PermissionID");
35      columnNames.add("OwnerName");
36      columnValues.add("tester.jpg");
37      columnValues.add("3");
38      columnValues.add("Garcia, Christy");
39      try {
40        midAssetDB = MidAssetDB.instance();
41        this.assertEquals(1, midAssetDB.insert(table, columnNames, columnValues));
42        midAssetDB.delete(table, columnNames, columnValues);
43      }
44      catch (SQLException ex) {
45        this.fail("Unexpected SQLException caught during testInsert.");
46        ex.printStackTrace();
47      }
48    }
49  
50    public void testDelete() {
51      try {
52        midAssetDB = MidAssetDB.instance();
53        Vector columnNames = new Vector();
54        Vector columnValues = new Vector();
55        columnNames.add("FileName");
56        columnNames.add("PermissionID");
57        columnNames.add("OwnerName");
58        columnValues.add("tester.jpg");
59        columnValues.add("3");
60        columnValues.add("Garcia, Christy");
61        midAssetDB.insert("AssetTable", columnNames, columnValues);
62        this.assertEquals(1,midAssetDB.delete("AssetTable", columnNames,
63                                            columnValues));
64      }
65      catch (SQLException ex) {
66        this.fail("Unexpected SQLException caught during testDelete.");
67        ex.printStackTrace();
68      }
69    }
70  
71    public void testBrowseQuery() {
72      try {
73        String table = "AssetTable";
74        Vector columnNames = new Vector();
75        Vector columnValues = new Vector();
76        columnNames.add("FileName");
77        columnNames.add("PermissionID");
78        columnNames.add("OwnerName");
79        columnValues.add("tester.jpg");
80        columnValues.add("3");
81        columnValues.add("Garcia, Christy");
82        midAssetDB.insert(table, columnNames, columnValues);
83  
84        String collection = "AssetsCollectionsTable";
85        Vector columnNamesCol = new Vector();
86        Vector columnValuesCol = new Vector();
87        columnNamesCol.add("FileName");
88        columnNamesCol.add("CollectionName");
89        columnValuesCol.add("tester.jpg");
90        columnValuesCol.add("Spanish");
91        midAssetDB.insert(collection, columnNamesCol, columnValuesCol);
92  
93        Table results = midAssetDB.browseQuery("g", "OwnerName", "Spanish");
94        int rowNum = 0;
95        boolean checkTitle = false;
96        AssetDB assetDB = AssetDB.instance();
97  
98        for (int k = 0; k < results.getSizeMetaData(); k++) {
99          if (assetDB.getAsset(results.getResultsElement(k, 0)).getFileName().equals("tester.jpg")) {
100           if (assetDB.getAsset(results.getResultsElement(k, 0)).getAssetDescriptors().
101               getValue("OwnerName").equals("Garcia, Christy")) {
102             checkTitle = true;
103           } // end of if statement
104         } // end of if statement
105       } // end of for loop
106 
107       this.assertTrue(checkTitle);
108 
109       midAssetDB.delete("AssetTable", columnNames, columnValues);
110       midAssetDB.delete("AssetsCollectionsTable", columnNamesCol,
111                         columnValuesCol);
112     }
113     catch (SQLException ex) {
114       this.fail("caught SQL Exception in testBrowseQuery");
115     }
116   }
117 
118   public void testUpdate() {
119     try {
120       AssetDB assetDB = AssetDB.instance();
121       Vector updateColumnNames = new Vector();
122       Vector updateColumnValues = new Vector();
123       Vector whereColumnValues = new Vector();
124       Vector whereColumnNames = new Vector();
125 
126       User user = new User();
127       user.setFirstName("testUpdate_FirstName");
128       user.setLastName("testUpdate_LastName");
129       user.setUserName("testUpdateName");
130       user.setMiddleInitial("");
131       user.setPassword("password");
132       user.setOrganization("testUpdate_org");
133       assetDB.addUser(user);
134 
135       updateColumnNames.add("FirstName");
136       updateColumnNames.add("LastName");
137       updateColumnValues.add("testUpdate_newFirstName");
138       updateColumnValues.add("testUpdate_newLastName");
139 
140       whereColumnNames.add("UserName");
141       whereColumnValues.add("testUpdateName");
142 
143       this.assertEquals(1,
144                         midAssetDB.update("UsersTable", updateColumnNames,
145                                           updateColumnValues,
146                                           whereColumnNames,
147                                           whereColumnValues));
148 
149       User updatedUser = assetDB.getUser("testUpdateName", "password");
150       this.assertEquals("testUpdate_newFirstName", updatedUser.getFirstName());
151       this.assertEquals("testUpdate_newLastName", updatedUser.getLastName());
152       this.assertEquals("testUpdate_org", updatedUser.getOrganization());
153       assetDB.deleteUser(updatedUser);
154     }
155     catch (SQLException ex) {
156       this.fail("Caught unexpected SQLException in testUpdate: " +
157                 ex.getMessage());
158     }
159   }
160 
161   public void testAdvancedQuery() {
162     try {
163       Asset a = new Asset();
164       AssetDescriptor fileNameAD = new AssetDescriptor();
165       AssetDescriptor titleAD = new AssetDescriptor();
166 
167       fileNameAD.setTag("FileName");
168       fileNameAD.setValue("testAQ.jpg");
169       titleAD.setTag("Title");
170       titleAD.setValue("Test Advanced Query");
171       AssetDescriptorCollection adc = new AssetDescriptorCollection();
172       adc.addAssetDescriptor(fileNameAD);
173       adc.addAssetDescriptor(titleAD);
174       a.setAssetDescriptors(adc);
175       Collection c = new Collection();
176       c.setCollectionName("testAdvancedQueryCollection");
177       AssetDB.instance().addCollection(c);
178       AssetDB.instance().addAsset(a, c.getCollectionName());
179 
180       Table results = null;
181       AdvancedSearchParams params = new AdvancedSearchParams();
182       SearchPair sp = new SearchPair();
183       sp.setField("Title");
184       sp.setValue("Test Advanced Query");
185       this.assertNotNull(sp);
186       params.addExactSearchPair(sp);
187       params.setCollectionName("testAdvancedQueryCollection");
188 
189       midAssetDB = midAssetDB.instance();
190       AssetDB assetDB = AssetDB.instance();
191       results = midAssetDB.advancedQuery(params);
192       this.assertNotNull(results);
193       this.assertEquals("testAQ.jpg", results.getResultsElement(0,0));
194       this.assertEquals("Test Advanced Query", assetDB.getAsset(results.getResultsElement(0,0))
195                         .getAssetDescriptors().getValue("Title"));
196 
197       AssetDB.instance().deleteCollection(c);
198       AssetDB.instance().deleteAsset(a);
199       AssetDB.instance().removeAssetFromAllCollections(a);
200     }
201     catch (SQLException ex) {
202       this.fail("Unexpected SQLException caught in testAdvancedQuery");
203       ex.printStackTrace();
204     }
205     catch (SchemaException ex2) {
206       this.fail("Unexpected SchemaException caught in testContains : " + ex2.getMessage());
207     }
208   }
209 }