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);
