V Narayanan wrote:
Hi,

I am writing tests to test the StoredProcedures used in locator implementation of LOB related JDBC methods.

The Stored procedures are created when the database version is 10.3 (or upon hard(full) upgrade to 10.3).

Tests for the Stored Procedure exist in the form of jdbcapi/ClobStoredProcedureTest and jdbcapi/BlobStoredProcedureTest. I wanted to reuse this code in the upgrade tests alone the way it is done for DatabaseMetaDataTest.

In the earlier solution I had thought of I had decided to replicate code from jdbcapi/BlobStoredProcedureTest and jdbcapi/ClobStoredProcedureTest into changes10_3 which upon retrospection did not seem the right approach (because I was replicating code).

I was able to draw a few ideas from the way DatabaseMetaDataTest is run currently in the current tests. But the difference between the case of the DatabaseMetaDataTest and the Stored Procedure test would be is that the StoredProcedureTests are to be run only when the old database version is < 10.3 and in the PH_HARD_UPGRADE and the HARD_UPGRADE phases.

I did this by adding the following code to baseSuite of UprgadeRun

          if(oldMajor == 10 && oldMinor < 3 &&
(phase == UpgradeChange.PH_HARD_UPGRADE || phase == UpgradeChange.PH_HARD_UPGRADE)) {
               suite.addTestSuite(BlobStoredProcedureTest.class);
               suite.addTestSuite(ClobStoredProcedureTest.class);
           }


Can someone pls guide me on whether the method I have adopted above is the right approach?

A cleaner approach would be to pass the phase into the Changes10_3.suite() method and then add the additional tests as required in that method. This would logically group the 10.3 upgrade tests in a single location.

Dan.



Reply via email to