[embjopr-commits] EMBJOPR SVN: r256 - in trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit: as4 and 1 other directories.

embjopr-commits at lists.jboss.org embjopr-commits at lists.jboss.org
Wed Mar 25 10:44:31 EDT 2009


Author: fjuma
Date: 2009-03-25 10:44:31 -0400 (Wed, 25 Mar 2009)
New Revision: 256

Modified:
   trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/DatasourceTestBase.java
   trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/as4/DatasourceTest.java
   trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/as5/DatasourceTest.java
Log:
Updated the nav tree labels used in the tests for the three types of datasources.

Modified the datasource configuration tests to only check the properties of the appropriate ManagedComponent and not the -ds.xml file itself after a config update.


Modified: trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/DatasourceTestBase.java
===================================================================
--- trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/DatasourceTestBase.java	2009-03-24 19:44:21 UTC (rev 255)
+++ trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/DatasourceTestBase.java	2009-03-25 14:44:31 UTC (rev 256)
@@ -36,6 +36,7 @@
 import java.io.FileReader;
 import java.util.Map;
 import java.util.HashMap;
+import java.util.LinkedHashMap;
 import javax.naming.InitialContext;
 import java.sql.Connection;
 import javax.sql.DataSource;
@@ -43,6 +44,8 @@
 import java.sql.SQLException;
 import java.util.ArrayList;
 import javax.management.*;
+import org.jboss.metatype.api.values.SimpleValueSupport;
+import org.jboss.metatype.api.values.MetaValue;
 
 /**
  * This is the base test class for Embedded Jopr Datasource tests.
@@ -60,9 +63,12 @@
 
         // Some of these values are specific for AS 5.  TODO: Think up some way to split nicely.
         //                  // label                serviceName  xml-element-name       template <select>
-        LOCAL_TX_DATASOURCE("Local TX Datasources", "LocalTxCM", "local-tx-datasource", "default__Local TX Datasource"),
-        NO_TX_DATASOURCE(   "No TX Datasources",    "NoTxCM",    "no-tx-datasource",    "default__No TX Datasource"),  
-        XA_DATASOURCE(      "XA Datasources",       "XATxCM",    "xa-datasource",       "default__XA Datasource");
+        LOCAL_TX_DATASOURCE("Local Tx Datasources", "LocalTxCM", "local-tx-datasource", "default__Local Tx Datasource",
+                            "Local Tx Datasource"),
+        NO_TX_DATASOURCE(   "No Tx Datasources",    "NoTxCM",    "no-tx-datasource",    "default__No Tx Datasource",
+                            "No Tx Datasource"),  
+        XA_DATASOURCE(      "XA Datasources",       "XATxCM",    "xa-datasource",       "default__XA Datasource",
+                            "XA Datasource");
 
         protected String label;
         public String getLabel() { return label; }
@@ -79,14 +85,18 @@
 
         protected final String templateHtmlSelectValue;
         public String getTemplateHtmlSelectValue() { return templateHtmlSelectValue; }
+        
+        protected final String typeName;
+        public String getTypeName() { return typeName; }
 
         private DatasourceType(String label, String serviceName, 
-                               String xmlElementName, String htmlSelectValue)
+                               String xmlElementName, String htmlSelectValue, String typeName)
         {
             this.label = label;
             this.serviceName = serviceName;
             this.xmlElementName = xmlElementName;
             this.templateHtmlSelectValue = htmlSelectValue;
+            this.typeName = typeName;
         }
 
     }// DatasourceTypes
@@ -125,10 +135,10 @@
         AS4_DEFAULT("default__Datasource"),
 
         /** AS 5 */
-        AS5_ORACLE_LOCAL_TX("Oracle Local TX__Local TX Datasource"),
-        AS5_DEFAULT_LOCAL_TX("default__Local TX Datasource"),
-        AS5_ORACLE_NO_TX("Oracle No TX__No TX Datasource"),
-        AS5_DEFAULT_NO_TX("default__No TX Datasource"),
+        AS5_ORACLE_LOCAL_TX("Oracle Local TX__Local Tx Datasource"),
+        AS5_DEFAULT_LOCAL_TX("default__Local Tx Datasource"),
+        AS5_ORACLE_NO_TX("Oracle No TX__No Tx Datasource"),
+        AS5_DEFAULT_NO_TX("default__No Tx Datasource"),
         AS5_ORACLE_XA("Oracle XA__XA Datasource"),
         AS5_DEFAULT_XA("default__XA Datasource");
 
@@ -224,12 +234,11 @@
     /**
      * checkProperties reads the *-ds.xml file corresponding to the datasource 
      * given by jndiName and compares the property values in this file to the 
-     * given expected values. checkProperties returns true if all the given 
-     * properties are correctly set in the *-ds.xml file and false otherwise.
+     * given expected values. 
      */
-    protected boolean checkProperties(String jndiName,
-                                      DatasourceType datasourceType,
-                                      Map<String, String> expectedValuesMap)
+    protected void checkProperties(String jndiName,
+                                   DatasourceType datasourceType,
+                                   Map<String, String> expectedValuesMap)
     {
 
         Map<String, String> actualValuesMap = new HashMap<String, String>();
@@ -260,25 +269,13 @@
 
             // Compare the actual values to the expected ones.
             for( String key : expectedValuesMap.keySet() ){
-                if(!actualValuesMap.containsKey(key)){
-                    
-                    // Value was not set.
-                    log.fatal("Property '" + key + "' is not found.");
-                    return false;
-                }
-
-                if(!expectedValuesMap.get(key).equals(actualValuesMap.get(key))) {
-                    
-                    // Incorrect value.
-                    log.fatal("Property '" + key +"' has unexpected value: '" + actualValuesMap.get(key) + "'");
-                    return false;
-                }
+                assertTrue("Property '" + key + "' was not found in the -ds.xml file", actualValuesMap.containsKey(key));
+                assertEquals("Incorrect value for '" + key + "' in the -ds.xml file: ", 
+                             expectedValuesMap.get(key), actualValuesMap.get(key));
+                
             }
-
-            return true;
-
         } catch (Exception e) {
-            log.fatal("Config file check failed: "+e.getMessage());
+            log.fatal("Config file check failed: " + e.getMessage());
             throw new RuntimeException(e);
         }
     }
@@ -378,26 +375,34 @@
      */
     protected Map<String, String> createDatasourceProperties()
     {
-        Map<String, String> propertiesMap = new HashMap();
+        Map<String, MetaValue> propertiesMapAsMetaValues = createDatasourcePropertiesAsMetaValues();
+        Map<String, String> propertiesMap = formatPropertiesMap(propertiesMapAsMetaValues);
+        return propertiesMap;
+    }
 
-        // The properties we want to configure
-        propertiesMap.put("jndi-name", "TestDS");
-        propertiesMap.put("user-name", "testUser");
-        propertiesMap.put("password", "password");
-        propertiesMap.put("min-pool-size", "5");
-        propertiesMap.put("driver-class", "org.hsqldb.jdbcDriver");
-        propertiesMap.put("connection-url", "jdbc:hsqldb:."); // Store data current working dir.
-        propertiesMap.put("idle-timeout-minutes", "20");
-        propertiesMap.put("prepared-statement-cache-size", "2");
-        propertiesMap.put("valid-connection-checker-class-name",
-                          "org.jboss.resource.adapter.jdbc.CheckValidConnectionSQL");
-        propertiesMap.put("exception-sorter-class-name",
-                          "org.jboss.resource.adapter.jdbc.ExceptionSorter");
-
+    /**
+     * Creates the default properties for the datasource.
+     * Returns a map of String names to MetaValues.
+     */
+    protected Map<String, MetaValue> createDatasourcePropertiesAsMetaValues() {
+        Map<String, MetaValue> propertiesMap = new LinkedHashMap<String, MetaValue>();
+        
+        propertiesMap.put("jndi-name", SimpleValueSupport.wrap("TestDS"));
+        propertiesMap.put("user-name", SimpleValueSupport.wrap("testUser"));
+        propertiesMap.put("password", SimpleValueSupport.wrap("password"));
+        propertiesMap.put("min-pool-size", SimpleValueSupport.wrap(new Integer(5)));
+        propertiesMap.put("driver-class", SimpleValueSupport.wrap("org.hsqldb.jdbcDriver"));
+        propertiesMap.put("connection-url", SimpleValueSupport.wrap("jdbc:hsqldb:."));
+        propertiesMap.put("idle-timeout-minutes", SimpleValueSupport.wrap(new Integer(20)));
+        propertiesMap.put("prepared-statement-cache-size", SimpleValueSupport.wrap(new Integer(2))); 
+        propertiesMap.put("valid-connection-checker-class-name", 
+                          SimpleValueSupport.wrap("org.jboss.resource.adapter.jdbc.CheckValidConnectionSQL"));
+        propertiesMap.put("exception-sorter-class-name", 
+                          SimpleValueSupport.wrap("org.jboss.resource.adapter.jdbc.ExceptionSorter"));
+        
         return propertiesMap;
     }
 
-
     /**
      * Create a basic Local TX Datasource. Return the mapping of property
      * names to property values.
@@ -414,9 +419,10 @@
         propertiesMap.put("idle-timeout-minutes", "20");
         propertiesMap.put("driver-class", "org.hsqldb.jdbcDriver");
         propertiesMap.put("connection-url", "jdbc:hsqldb:${jboss.server.data.dir}${/}hypersonic${/}localDB");
+        propertiesMap.put("use-java-context", "true");
 
         createDatasource(DatasourceType.LOCAL_TX_DATASOURCE,
-                         DatasourceType.LOCAL_TX_DATASOURCE.getTemplateHtmlSelectValue(), // "default__Local TX Datasource",
+                         DatasourceType.LOCAL_TX_DATASOURCE.getTemplateHtmlSelectValue(), // "default__Local Tx Datasource",
                          propertiesMap);
         client.click("resourceConfigurationForm:saveButton");
 
@@ -444,9 +450,10 @@
         propertiesMap.put("domain", "HsqlDbRealm");
         propertiesMap.put("driver-class", "org.hsqldb.jdbcDriver");
         propertiesMap.put("connection-url", "jdbc:hsqldb:${jboss.server.data.dir}${/}hypersonic${/}localDB");
+        propertiesMap.put("use-java-context", "true");
 
         createDatasource(DatasourceType.NO_TX_DATASOURCE,
-                         DatasourceType.NO_TX_DATASOURCE.getTemplateHtmlSelectValue(), //"default__No TX Datasource",
+                         DatasourceType.NO_TX_DATASOURCE.getTemplateHtmlSelectValue(), //"default__No Tx Datasource",
                          propertiesMap);
         client.click("resourceConfigurationForm:saveButton");
 
@@ -467,6 +474,7 @@
         propertiesMap.put("min-pool-size", "6");
         propertiesMap.put("set-tx-query-timeout", "false");
         propertiesMap.put("user-name", "testUser");
+        propertiesMap.put("use-java-context", "true");
 
         createDatasource(DatasourceType.XA_DATASOURCE,
                          DatasourceType.XA_DATASOURCE.getTemplateHtmlSelectValue(), //"default__XA Datasource",
@@ -630,38 +638,6 @@
      */
     
     /**
-     * Create a new datasource. Leave some property values, that aren't
-     * required, unset.
-     */
-    public void testCreateDatasource() throws IOException, EmbJoprTestException {
-
-
-        // The properties we want to configure
-        Map<String, String> propertiesMap = this.getDatasourceProperties();
-
-        createDatasource(DatasourceType.LOCAL_TX_DATASOURCE,
-                         DatasourceType.LOCAL_TX_DATASOURCE.getTemplateHtmlSelectValue(), // TODO: Redundant - remove.
-                         propertiesMap);
-        client.click("resourceConfigurationForm:saveButton");
-
-        // Check for the appropriate success messages
-        String expectedMessage = "Successfully added new Local TX Datasource";
-        checkClientAndServerMessages(expectedMessage, expectedMessage, false);
-
-        assertTrue("Datasource is not deployed (isDatasourceDeployed() returned false).",
-                   isDatasourceDeployed(propertiesMap.get("jndi-name"), DatasourceType.LOCAL_TX_DATASOURCE));
-        assertTrue(checkProperties(propertiesMap.get("jndi-name"),
-                                   DatasourceType.LOCAL_TX_DATASOURCE,
-                                   propertiesMap));
-
-        // TODO: need to verify that appropriate default values were
-        // set for properties that were not specified above
-
-        // Clean up
-        deleteDatasource(propertiesMap.get("jndi-name"));
-    }
-
-    /**
      * Attempt to create a new datasource but leave at least one required
      * value unset. An error should occur.
 		 *
@@ -681,7 +657,7 @@
         }
         
         createDatasource(DatasourceType.NO_TX_DATASOURCE, 
-                         //"default__No TX Datasource",
+                         //"default__No Tx Datasource",
                          isJBoss4 ?
                              DatasourceTemplate.AS4_DEFAULT.getTemplateHtmlSelectValue() :
                              DatasourceTemplate.AS5_DEFAULT_NO_TX.getTemplateHtmlSelectValue(),
@@ -767,7 +743,7 @@
         propertiesMap.put("max-pool-size", "-25");
 
         createDatasource(DatasourceType.NO_TX_DATASOURCE,
-                         DatasourceType.NO_TX_DATASOURCE.getTemplateHtmlSelectValue(), //"default__No TX Datasource",
+                         DatasourceType.NO_TX_DATASOURCE.getTemplateHtmlSelectValue(), //"default__No Tx Datasource",
                          propertiesMap);
         client.click("resourceConfigurationForm:saveButton");
 
@@ -789,12 +765,12 @@
         propertiesMap.put("connection-url", "jdbc:hsqldb:.");
 
         createDatasource(DatasourceType.LOCAL_TX_DATASOURCE,
-                         DatasourceType.LOCAL_TX_DATASOURCE.getTemplateHtmlSelectValue(), //"default__Local TX Datasource",
+                         DatasourceType.LOCAL_TX_DATASOURCE.getTemplateHtmlSelectValue(), //"default__Local Tx Datasource",
                          propertiesMap);
         client.click("resourceConfigurationForm:saveButton");
 
         // Check for the appropriate error messages
-        String expectedMessage = "A Local TX Datasource named "
+        String expectedMessage = "A " + DatasourceType.LOCAL_TX_DATASOURCE.getTypeName() + " named "
                                  + "'DefaultDS' already exists";
         checkClientAndServerMessages(expectedMessage, expectedMessage, true);
     }

Modified: trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/as4/DatasourceTest.java
===================================================================
--- trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/as4/DatasourceTest.java	2009-03-24 19:44:21 UTC (rev 255)
+++ trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/as4/DatasourceTest.java	2009-03-25 14:44:31 UTC (rev 256)
@@ -174,7 +174,6 @@
      * Create a new datasource. Leave some property values that aren't 
      * required unset.
      */
-		@Override
     public void testCreateDatasource() throws IOException, EmbJoprTestException {
 
 
@@ -229,9 +228,9 @@
 				// Check whether the dataource is deployed.
         assertTrue(isDatasourceDeployed(propertiesMap.get("jndi-name"), 
                                         DatasourceType.LOCAL_TX_DATASOURCE));
-        assertTrue(checkProperties(propertiesMap.get("jndi-name"), 
-                                   DatasourceType.LOCAL_TX_DATASOURCE,
-                                   propertiesMap));
+        checkProperties(propertiesMap.get("jndi-name"), 
+                        DatasourceType.LOCAL_TX_DATASOURCE,
+                        propertiesMap);
 
         // TODO: need to verify that appropriate default values were
         // set for properties that were not specified above

Modified: trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/as5/DatasourceTest.java
===================================================================
--- trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/as5/DatasourceTest.java	2009-03-24 19:44:21 UTC (rev 255)
+++ trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/as5/DatasourceTest.java	2009-03-25 14:44:31 UTC (rev 256)
@@ -35,6 +35,8 @@
 import org.jboss.jopr.jsfunit.exceptions.EmbJoprTestException;
 import org.jboss.deployers.spi.management.KnownComponentTypes;
 import org.jboss.managed.api.ComponentType;
+import org.jboss.metatype.api.values.SimpleValueSupport;
+import org.jboss.metatype.api.values.MetaValue;
 
 /**
  * When complete, this class will contain tests for creating, 
@@ -59,7 +61,7 @@
      * Thus, this method is overriden from the Base class.
      * 
      * @param datasourceType must be a datasource type from DatasourceType enum.
-     * It's label from the left nav (eg. "Local TX Datasources") is in getLabel() property.
+     * It's label from the left nav (eg. "Local Tx Datasources") is in getLabel() property.
      *
      */
     @Override
@@ -84,27 +86,25 @@
         fillOutForm(propertiesMap);  
     }
 
-
     /**
-     * Properties needed for testCreateDatasource for AS 5.
+     * Properties needed for testCreateDatasource.
      * @returns the properties from the base class overriden by properties for AS 5.
      */
     @Override
-    protected Map<String, String> createDatasourceProperties()
-    {
-        Map<String, String> propertiesMap = super.createDatasourceProperties();
-
-        // Additional or different properties for AS 5
-        propertiesMap.put("query-timeout", "180");
-        propertiesMap.put("share-prepared-statements", "false");
-        propertiesMap.put("stale-connection-checker-class-name",
-                          "org.jboss.resource.adapter.jdbc.StaleConnectionChecker");
-        propertiesMap.put("allocation-retry", "10000");
-        propertiesMap.put("allocation-retry-wait-millis", "10000");
-        propertiesMap.put("background-validation-millis", "15000");
-        propertiesMap.put("prefill", "true");
-        propertiesMap.put("use-try-lock", "61000");                
-
+    protected Map<String, MetaValue> createDatasourcePropertiesAsMetaValues() {
+        Map<String, MetaValue> propertiesMap = super.createDatasourcePropertiesAsMetaValues();
+        
+        // Additional properties
+        propertiesMap.put("query-timeout", SimpleValueSupport.wrap(new Integer(180)));
+        propertiesMap.put("share-prepared-statements", SimpleValueSupport.wrap(Boolean.FALSE));
+        propertiesMap.put("stale-connection-checker-class-name", 
+                          SimpleValueSupport.wrap("org.jboss.resource.adapter.jdbc.StaleConnectionChecker"));
+        propertiesMap.put("allocation-retry", SimpleValueSupport.wrap(new Integer(10000)));
+        propertiesMap.put("allocation-retry-wait-millis", SimpleValueSupport.wrap(new Long(10000)));
+        propertiesMap.put("background-validation-millis", SimpleValueSupport.wrap(new Long(15000)));
+        propertiesMap.put("prefill", SimpleValueSupport.wrap(Boolean.TRUE));
+        propertiesMap.put("use-try-lock", SimpleValueSupport.wrap(new Long(61000)));
+        
         return propertiesMap;
     }
     
@@ -220,6 +220,46 @@
     {
         return new TestSuite(DatasourceTest.class);
     }
+    
+    /*
+     * CREATION TESTS
+     */
+    
+    /**
+     * Create a new datasource. Leave some property values, that aren't
+     * required, unset.
+     */
+    public void testCreateDatasource() throws Exception {
+
+
+        // The properties we want to configure
+        Map<String, MetaValue> propertiesMapAsMetaValues = createDatasourcePropertiesAsMetaValues();
+        Map<String, String> propertiesMap = formatPropertiesMap(propertiesMapAsMetaValues);
+
+        createDatasource(DatasourceType.LOCAL_TX_DATASOURCE,
+                         DatasourceType.LOCAL_TX_DATASOURCE.getTemplateHtmlSelectValue(), // TODO: Redundant - remove.
+                         propertiesMap);
+        client.click("resourceConfigurationForm:saveButton");
+
+        // Check for the appropriate success messages
+        String expectedMessage = "Successfully added new " + DatasourceType.LOCAL_TX_DATASOURCE.getTypeName();
+        checkClientAndServerMessages(expectedMessage, expectedMessage, false);
+
+        assertTrue("Datasource is not deployed (isDatasourceDeployed() returned false).",
+                   isDatasourceDeployed(propertiesMap.get("jndi-name"), DatasourceType.LOCAL_TX_DATASOURCE));
+        
+        checkComponentProperties(propertiesMapAsMetaValues, propertiesMap.get("jndi-name"), LOCAL_TX_COMPONENT_TYPE);
+        
+        checkProperties(propertiesMap.get("jndi-name"),
+                        DatasourceType.LOCAL_TX_DATASOURCE,
+                        propertiesMap);
+
+        // TODO: need to verify that appropriate default values were
+        // set for properties that were not specified above
+
+        // Clean up
+        deleteDatasource(propertiesMap.get("jndi-name"));
+    }
       
     /*
      * DELETION TESTS
@@ -230,13 +270,8 @@
      */
     public void testDeleteLocalTXDatasource() throws Exception {
         Map<String, String> propertiesMap = createLocalTXDatasource("DeleteLocalTXDS");
-
-        // The message we expect to see
-        String expectedMessage = "Successfully deleted Local TX Datasource '"
-                                 + propertiesMap.get("jndi-name") + "'";
-        
-        deleteDS(expectedMessage, propertiesMap, 
-                 LOCAL_TX_COMPONENT_TYPE, DatasourceType.LOCAL_TX_DATASOURCE);
+     
+        deleteDS(propertiesMap, LOCAL_TX_COMPONENT_TYPE, DatasourceType.LOCAL_TX_DATASOURCE);
     }
     
     /**
@@ -244,12 +279,8 @@
      */
     public void testDeleteNoTXDatasource() throws Exception {
         Map<String, String> propertiesMap = createNoTXDatasource("DeleteNoTXDS");
-
-        // The message we expect to see
-        String expectedMessage = "Successfully deleted No TX Datasource '"
-                                 + propertiesMap.get("jndi-name") + "'";
         
-        deleteDS(expectedMessage, propertiesMap, NO_TX_COMPONENT_TYPE, 
+        deleteDS(propertiesMap, NO_TX_COMPONENT_TYPE, 
                  DatasourceType.NO_TX_DATASOURCE);
     }
 
@@ -258,13 +289,8 @@
      */
     public void testDeleteXADatasource() throws Exception {
         Map<String, String> propertiesMap = createXADatasource("DeleteXADS");
-        
-        // The message we should see
-        String expectedMessage = "Successfully deleted XA Datasource '"
-                                 + propertiesMap.get("jndi-name") + "'";
-        
-        deleteDS(expectedMessage, propertiesMap, 
-                 XA_COMPONENT_TYPE, DatasourceType.XA_DATASOURCE);
+                
+        deleteDS(propertiesMap, XA_COMPONENT_TYPE, DatasourceType.XA_DATASOURCE);
     }
     
     /**
@@ -275,12 +301,8 @@
         // Use an existing -ds.xml file
         Map<String, String> propertiesMap = getPropertyValuesMap("DeleteLocalTXExistingFile",
                                                                  DatasourceType.LOCAL_TX_DATASOURCE);
-        
-        String expectedMessage = "Successfully deleted Local TX Datasource '"
-                                 + propertiesMap.get("jndi-name") + "'";
-        
-        deleteDS(expectedMessage, propertiesMap, 
-                 LOCAL_TX_COMPONENT_TYPE, DatasourceType.LOCAL_TX_DATASOURCE);
+               
+        deleteDS(propertiesMap, LOCAL_TX_COMPONENT_TYPE, DatasourceType.LOCAL_TX_DATASOURCE);
     }
     
     /**
@@ -291,11 +313,8 @@
         // Use an existing -ds.xml file
         Map<String, String> propertiesMap = getPropertyValuesMap("DeleteNoTXExistingFile",
                                                                  DatasourceType.NO_TX_DATASOURCE);
-        
-        String expectedMessage = "Successfully deleted No TX Datasource '"
-                                 + propertiesMap.get("jndi-name") + "'";
-        
-        deleteDS(expectedMessage, propertiesMap, NO_TX_COMPONENT_TYPE, 
+                
+        deleteDS(propertiesMap, NO_TX_COMPONENT_TYPE, 
                  DatasourceType.NO_TX_DATASOURCE);
     }
     
@@ -307,20 +326,18 @@
         // Use an existing -ds.xml file
         Map<String, String> propertiesMap = getPropertyValuesMap("DeleteXAExistingFile",
                                                                  DatasourceType.XA_DATASOURCE);
-         
-        // Check for the appropriate success messages
-        String expectedMessage = "Successfully deleted XA Datasource '"
-                                 + propertiesMap.get("jndi-name") + "'";
-        
-        deleteDS(expectedMessage, propertiesMap, XA_COMPONENT_TYPE, 
+          
+        deleteDS(propertiesMap, XA_COMPONENT_TYPE, 
                  DatasourceType.XA_DATASOURCE);
     }
     
     /**
      * Common code for the testDelete* tests.
      */
-    private void deleteDS(String expectedMessage, Map<String, String> propertiesMap, 
+    private void deleteDS(Map<String, String> propertiesMap, 
                           ComponentType componentType, DatasourceType datasourceType) throws Exception {
+        String expectedMessage = "Successfully deleted " + datasourceType.getTypeName() 
+                                 + " '" + propertiesMap.get("jndi-name") + "'";
         
         deleteDatasource(propertiesMap.get("jndi-name"));
 
@@ -352,7 +369,9 @@
         deleteDatasource(jndiName);
         
         // Check for the appropriate success messages
-        String expectedMessage = "Successfully deleted No TX Datasource '" + jndiName + "'";
+        String expectedMessage = "Successfully deleted " 
+                                 + DatasourceType.NO_TX_DATASOURCE.getTypeName() + " '" 
+                                 + jndiName + "'";
         checkClientAndServerMessages(expectedMessage, expectedMessage, false);
         
         // Make sure the ManagedComponent was removed
@@ -375,14 +394,15 @@
     /**
      * Change the value of some already set properties.
      */
-    public void testConfigureDatasourceChangeSetProperties() throws IOException, EmbJoprTestException {
-        Map<String, String> propertiesMap = createXADatasource("ChangeSetPropertiesDS");
+    public void testConfigureDatasourceChangeSetProperties() throws Exception {
+        String jndiName = "ChangeSetPropertiesDS";
+        Map<String, String> propertiesMap = createXADatasource(jndiName);
         
-        // Change some property values that are already set
-        Map<String, String> propertiesMapChanges = new HashMap<String, String>();
-        propertiesMapChanges.put("xa-resource-timeout", "60000");
-        propertiesMapChanges.put("set-tx-query-timeout", "true");
-        propertiesMapChanges.put("user-name", "newUser");
+        // Change some property values that are already set 
+        Map<String, MetaValue> propertiesMapChangesAsMetaValues = new LinkedHashMap<String, MetaValue>();
+        propertiesMapChangesAsMetaValues.put("xa-resource-timeout", SimpleValueSupport.wrap(new Integer(60000)));
+        propertiesMapChangesAsMetaValues.put("set-tx-query-timeout", SimpleValueSupport.wrap(Boolean.TRUE));
+        propertiesMapChangesAsMetaValues.put("user-name", SimpleValueSupport.wrap("newUser"));
 
         navigateToPage(propertiesMap.get("jndi-name"), 
                        DatasourceType.XA_DATASOURCE, 
@@ -392,19 +412,19 @@
         assertFalse("The configuration page could not be displayed",
                     client.getPageAsText().contains("There was an error retrieving the configuration for this resource"));
 
+        Map<String, String> propertiesMapChanges = formatPropertiesMap(propertiesMapChangesAsMetaValues);
         fillOutForm(propertiesMapChanges);
         client.click("resourceConfigurationForm:saveButton");
 
         // Check for the appropriate success messages
-        String expectedMessage = "Successfully updated XA Datasource '" 
-                                 + propertiesMap.get("jndi-name") + "'";
+        String expectedMessage = "Successfully updated " + DatasourceType.XA_DATASOURCE.getTypeName() 
+                                 + " '" + propertiesMap.get("jndi-name") + "'";
         checkClientAndServerMessages(expectedMessage, expectedMessage, false);
+        
+        checkComponentProperties(propertiesMapChangesAsMetaValues, jndiName, XA_COMPONENT_TYPE);
 
         assertTrue(isDatasourceDeployed(propertiesMap.get("jndi-name"), 
                                         DatasourceType.XA_DATASOURCE)); 
-        assertTrue(checkProperties(propertiesMap.get("jndi-name"), 
-                                   DatasourceType.XA_DATASOURCE, 
-                                   propertiesMapChanges));
 
         // Clean up
         deleteDatasource(propertiesMap.get("jndi-name"));  
@@ -413,16 +433,18 @@
     /**
      * Change the value of some previously unset properties.
      */
-    public void testConfigureDatasourceChangeUnsetProperties() throws IOException, EmbJoprTestException {
-        Map<String, String> propertiesMap = createLocalTXDatasource("ChangeUnsetPropertiesDS");
+    public void testConfigureDatasourceChangeUnsetProperties() throws Exception {
+        String jndiName = "ChangeUnsetPropertiesDS";
+        
+        Map<String, String> propertiesMap = createLocalTXDatasource(jndiName);
 
-        // Set some property values that were previously unset
-        Map<String, String> propertiesMapChanges = new HashMap<String, String>();
-        propertiesMapChanges.put("valid-connection-checker-class-name", 
-                                 "org.jboss.resource.adapter.jdbc.CheckValidConnectionSQL");
-        propertiesMapChanges.put("set-tx-query-timeout", "true");
-        propertiesMapChanges.put("background-validation", "false");
-        propertiesMapChanges.put("allocation-retry", "10000");
+        // Set some property values that were previously unset 
+        Map<String, MetaValue> propertiesMapChangesAsMetaValues = new LinkedHashMap<String, MetaValue>();
+        propertiesMapChangesAsMetaValues.put("valid-connection-checker-class-name", 
+                                             SimpleValueSupport.wrap("org.jboss.resource.adapter.jdbc.CheckValidConnectionSQL"));
+        propertiesMapChangesAsMetaValues.put("set-tx-query-timeout", SimpleValueSupport.wrap(Boolean.TRUE));
+        propertiesMapChangesAsMetaValues.put("background-validation", SimpleValueSupport.wrap(Boolean.FALSE));
+        propertiesMapChangesAsMetaValues.put("allocation-retry", SimpleValueSupport.wrap(new Integer(10000)));
 
         navigateToPage(propertiesMap.get("jndi-name"), 
                        DatasourceType.LOCAL_TX_DATASOURCE, 
@@ -432,20 +454,20 @@
         assertFalse("The configuration page could not be displayed",
                     client.getPageAsText().contains("There was an error retrieving the configuration for this resource"));
 
+        Map<String, String> propertiesMapChanges = formatPropertiesMap(propertiesMapChangesAsMetaValues);
         fillOutForm(propertiesMapChanges);
         client.click("resourceConfigurationForm:saveButton");
 
         // Check for the appropriate success messages
-        String expectedMessage = "Successfully updated Local TX Datasource '" 
-                                 + propertiesMap.get("jndi-name") + "'";
+        String expectedMessage = "Successfully updated " + DatasourceType.LOCAL_TX_DATASOURCE.getTypeName() 
+                                 + " '" + propertiesMap.get("jndi-name") + "'";
         checkClientAndServerMessages(expectedMessage, expectedMessage, false);
+        
+        checkComponentProperties(propertiesMapChangesAsMetaValues, jndiName, LOCAL_TX_COMPONENT_TYPE);
 
         assertTrue(isDatasourceDeployed(propertiesMap.get("jndi-name"), 
                                         DatasourceType.LOCAL_TX_DATASOURCE)); 
-        assertTrue(checkProperties(propertiesMap.get("jndi-name"), 
-                                   DatasourceType.LOCAL_TX_DATASOURCE, 
-                                   propertiesMapChanges));
-
+        
         // Clean up
         deleteDatasource(propertiesMap.get("jndi-name"));   
     }
@@ -472,24 +494,14 @@
         enableOrDisableFormInput("noTxSeparatePools", Boolean.FALSE);
         client.click("resourceConfigurationForm:saveButton");
 
-        // Update our expected property values
-        propertiesMap.remove("user-name");
-        propertiesMap.remove("idle-timeout-minutes");
-        propertiesMap.remove("track-connection-by-tx");
-        propertiesMap.remove("domain");
-        propertiesMap.remove("noTxSeparatePools");
-
         // Check for the appropriate success messages
-        String expectedMessage = "Successfully updated No TX Datasource '" 
-                                 + propertiesMap.get("jndi-name") + "'";
+        String expectedMessage = "Successfully updated " + DatasourceType.NO_TX_DATASOURCE.getTypeName() 
+                                 + " '" + propertiesMap.get("jndi-name") + "'";
         checkClientAndServerMessages(expectedMessage, expectedMessage, false);
 
         assertTrue(isDatasourceDeployed(propertiesMap.get("jndi-name"), 
                                         DatasourceType.NO_TX_DATASOURCE)); 
-        assertTrue(checkProperties(propertiesMap.get("jndi-name"), 
-                                   DatasourceType.NO_TX_DATASOURCE, 
-                                   propertiesMap));
-
+        
         // Clean up
         deleteDatasource(propertiesMap.get("jndi-name"));   
     }




More information about the embjopr-commits mailing list