Pass current DB version to jdbc tests

This enables taking expected response from environment or command line
instead of requiring test source code to change every release.


Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/982804b0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/982804b0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/982804b0

Branch: refs/heads/master
Commit: 982804b0d6273c7571170eec1a4dd61ac4d3125d
Parents: 0ea3810
Author: Steve Varnau <[email protected]>
Authored: Fri Nov 13 18:06:36 2015 +0000
Committer: Steve Varnau <[email protected]>
Committed: Fri Nov 13 18:06:36 2015 +0000

----------------------------------------------------------------------
 core/sqf/sql/scripts/install_traf_components    |  2 +-
 dcs/src/test/jdbc_test/jdbc_test.py             | 23 ++++++++++++++++----
 .../java/org/trafodion/jdbc_test/TestCat.java   |  9 +++++---
 .../java/org/trafodion/jdbc_test/Utils.java     |  6 +++++
 4 files changed, 32 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/982804b0/core/sqf/sql/scripts/install_traf_components
----------------------------------------------------------------------
diff --git a/core/sqf/sql/scripts/install_traf_components 
b/core/sqf/sql/scripts/install_traf_components
index d7389fd..dcc68ef 100755
--- a/core/sqf/sql/scripts/install_traf_components
+++ b/core/sqf/sql/scripts/install_traf_components
@@ -431,7 +431,7 @@ else
 # command to run JDBC tests
 cd $JDBCTEST_DIR
 ./jdbc_test.py --appid=jdbc_test --user=SOMEUSER --pw=SOMEPASSWORD 
--javahome=\$JAVA_HOME \\
-  --target=localhost:$MY_DCS_MASTER_PORT \\
+  --target=localhost:$MY_DCS_MASTER_PORT --dbmaj=\$TRAFODION_VER_MAJOR 
--dbmin=\$TRAFODION_VER_MINOR \\
   --jdbctype=T4 --jdbccp=\$MY_SQROOT/export/lib/jdbcT4.jar "\$@"
 EOF
     chmod +x $MY_SQROOT/sql/scripts/swjdbc

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/982804b0/dcs/src/test/jdbc_test/jdbc_test.py
----------------------------------------------------------------------
diff --git a/dcs/src/test/jdbc_test/jdbc_test.py 
b/dcs/src/test/jdbc_test/jdbc_test.py
index 7f67879..4835c3d 100755
--- a/dcs/src/test/jdbc_test/jdbc_test.py
+++ b/dcs/src/test/jdbc_test/jdbc_test.py
@@ -56,6 +56,8 @@ def ArgList():
     _export_str5 = None
     _jdbc_type = None
     _tests = None
+    _dbmaj = None
+    _dbmin = None
 
 #----------------------------------------------------------------------------
 # Tracking all of the global variables in here.
@@ -153,7 +155,7 @@ def generate_pom_xml(appid, jdbccp, jdbc_version):
 #----------------------------------------------------------------------------
 # Generate propfile
 #----------------------------------------------------------------------------
-def generate_t4_propfile(propfile, target, user, pw, role, dsn, schema, 
appname, jdbc_version):
+def generate_t4_propfile(propfile, target, user, pw, role, dsn, schema, 
appname, jdbc_version, db_maj, db_min):
     fd = open(propfile, 'w')
     fd.write('url=jdbc:t4jdbc://' + target + '/\n')
     fd.write('user=' + user + '\n')
@@ -163,13 +165,15 @@ def generate_t4_propfile(propfile, target, user, pw, 
role, dsn, schema, appname,
     fd.write('schema=' + schema + '\n')
     fd.write('serverDataSource=' + dsn + '\n')
     fd.write('trafjdbc_version=' + jdbc_version + '\n')
+    fd.write('db_major=' + db_maj + '\n')
+    fd.write('db_minor=' + db_min + '\n')
     fd.write('sessionName=' + appname + '\n')
     fd.write('applicationName=' + appname + '\n')
     fd.write('batchBinding=500\n')
 
     fd.close()
 
-def generate_t2_propfile(propfile, user, pw, role, dsn, schema, appname, 
jdbc_version):
+def generate_t2_propfile(propfile, user, pw, role, dsn, schema, appname, 
jdbc_version, db_maj, db_min):
     fd = open(propfile, 'w')
     fd.write('url=jdbc:sql:\n')
     fd.write('user=' + user + '\n')
@@ -179,6 +183,8 @@ def generate_t2_propfile(propfile, user, pw, role, dsn, 
schema, appname, jdbc_ve
     fd.write('schema=' + schema + '\n')
     fd.write('serverDataSource=' + dsn + '\n')
     fd.write('trafjdbc_version=' + jdbc_version + '\n')
+    fd.write('db_major=' + db_maj + '\n')
+    fd.write('db_minor=' + db_min + '\n')
     fd.write('sessionName=' + appname + '\n')
     fd.write('applicationName=' + appname + '\n')
     fd.write('batchBinding=500\n')
@@ -242,6 +248,12 @@ def prog_parse_args():
         optparse.make_option('', '--jdbctype', action='store', type='string',
           dest='jdbctype', default='T4',
           help='jdbctype, defaulted to T4'),
+        optparse.make_option('', '--dbmaj', action='store', type='string',
+          dest='dbmaj', default='2',
+          help='DB major version, defaulted to 2'),
+        optparse.make_option('', '--dbmin', action='store', type='string',
+          dest='dbmin', default='0',
+          help='DB minor version, defaulted to 0'),
         optparse.make_option('', '--export1', action='store', type='string',
           dest='exportstr1', default='NONE',
           help='any export string, defaulted to NONE'),
@@ -311,6 +323,8 @@ def prog_parse_args():
     ArgList._jdbc_classpath = options.jdbccp
     ArgList._prop_file = os.path.abspath(options.propfile)
     ArgList._jdbc_type = options.jdbctype
+    ArgList._dbmaj = options.dbmaj
+    ArgList._dbmin = options.dbmin
     ArgList._export_str1 = options.exportstr1
     ArgList._export_str2 = options.exportstr2
     ArgList._export_str3 = options.exportstr3
@@ -321,9 +335,9 @@ def prog_parse_args():
     # Automatically generate the prop file if the user did not specify one
     if options.propfile == DEFAULT_PROP_FILE:
         if options.jdbctype == 'T2':
-            generate_t2_propfile(ArgList._prop_file, ArgList._user, 
ArgList._pw, ArgList._role, ArgList._dsn, ArgList._schema, ArgList._appid, 
ArgList._jdbc_version)
+            generate_t2_propfile(ArgList._prop_file, ArgList._user, 
ArgList._pw, ArgList._role, ArgList._dsn, ArgList._schema, ArgList._appid, 
ArgList._jdbc_version, ArgList._dbmaj, ArgList._dbmin)
         elif options.jdbctype == 'T4':
-            generate_t4_propfile(ArgList._prop_file, ArgList._target, 
ArgList._user, ArgList._pw, ArgList._role, ArgList._dsn, ArgList._schema, 
ArgList._appid, ArgList._jdbc_version)
+            generate_t4_propfile(ArgList._prop_file, ArgList._target, 
ArgList._user, ArgList._pw, ArgList._role, ArgList._dsn, ArgList._schema, 
ArgList._appid, ArgList._jdbc_version, ArgList._dbmaj, ArgList._dbmin)
 
     # Generate the pom.xml file from the template according to target type
     generate_pom_xml(ArgList._appid, ArgList._jdbc_classpath, 
ArgList._jdbc_version)
@@ -340,6 +354,7 @@ def prog_parse_args():
     print 'prop file:             ', ArgList._prop_file
     print 'jdbc type:             ', ArgList._jdbc_type
     print 'jdbc version:          ', ArgList._jdbc_version
+    print 'DB version:            ', ArgList._dbmaj + "." + ArgList._dbmin
     print 'export string 1:       ', ArgList._export_str1
     print 'export string 2:       ', ArgList._export_str2
     print 'export string 3:       ', ArgList._export_str3

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/982804b0/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestCat.java
----------------------------------------------------------------------
diff --git 
a/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestCat.java 
b/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestCat.java
index 795f6cf..4aa6178 100644
--- a/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestCat.java
+++ b/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestCat.java
@@ -604,9 +604,10 @@ public class TestCat
         try
         {
             Connection connection = Utils.getUserConnection();
+            String db = Utils.dbmaj_version + "." + Utils.dbmin_version;
             String s = connection.getMetaData().getDatabaseProductVersion();
             System.out.println((new StringBuilder()).append("DB product 
version : ").append(s).toString());
-            assertEquals("DB Product Version", "2.0", s);
+            assertEquals("DB Product Version", db, s);
             connection.close();
             System.out.println("JDBC Get DB product version : Passed");
         }
@@ -626,8 +627,9 @@ public class TestCat
         try
         {
             Connection connection = Utils.getUserConnection();
+            int maj = Integer.parseInt(Utils.dbmaj_version);
             int i = connection.getMetaData().getDatabaseMajorVersion();
-            assertEquals("DB major Version", 2L, i);
+            assertEquals("DB major Version", maj, i);
             connection.close();
             System.out.println("JDBC Get DB major version : Passed");
         }
@@ -647,8 +649,9 @@ public class TestCat
         try
         {
             Connection connection = Utils.getUserConnection();
+            int min = Integer.parseInt(Utils.dbmin_version);
             int i = connection.getMetaData().getDatabaseMinorVersion();
-            assertEquals("DB Minor Version", 0L, i);
+            assertEquals("DB Minor Version", min, i);
             connection.close();
             System.out.println("JDBC Get DB minor version : Passed");
         }

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/982804b0/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/Utils.java
----------------------------------------------------------------------
diff --git 
a/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/Utils.java 
b/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/Utils.java
index 9f0d983..d7df6c8 100644
--- a/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/Utils.java
+++ b/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/Utils.java
@@ -52,6 +52,8 @@ public class Utils
 {
        public static String url;
     public static String trafjdbc_version;
+    public static String dbmaj_version;
+    public static String dbmin_version;
     public static String usr;
     public static String pwd;
     public static String catalog;
@@ -82,6 +84,10 @@ public class Utils
                 System.out.println("schema: " + schema);
                 trafjdbc_version=props.getProperty("trafjdbc_version");
                 System.out.println("trafjdbc_version : " + trafjdbc_version);
+                dbmaj_version=props.getProperty("db_major");
+                System.out.println("dbmaj_version : " + dbmaj_version);
+                dbmin_version=props.getProperty("db_minor");
+                System.out.println("dbmin_version : " + dbmin_version);
             } else {
                 System.out.println("Error: prop is not set. Exiting.");
                 System.exit(0);

Reply via email to