Forum Discussion

chirangv's avatar
chirangv
New Contributor
4 months ago
Solved

Accessing database connection string from groovy test step

Hi, I have different databases for different environments. I was trying to get the database connection string based on the active environment. Can someone help me on how to access the database connec...
  • TNeuschwanger's avatar
    3 months ago

    Hello chirangv 

    import groovy.sql.*;
    import com.eviware.soapui.support.GroovyUtilsPro;
    
    
    def jdbcConnectionName = "your jdbc name defined in environment configuration page";   //log.info "   jdbcConnectionName=$jdbcConnectionName";
    def groovyUtilsPro = new  GroovyUtilsPro(context);
    def sqlConnection = groovyUtilsPro.getJdbcConnection(jdbcConnectionName);
    def sql = Sql.newInstance(sqlConnection);
    
    def sqlQuery = """
       SELECT colname
       FROM tablename
       WHERE colname = 'something'
    """.toString();
    log.info "   sqlQuery=$sqlQuery";
    dbRows = sql.rows(sqlQuery);
    log.info "   dbRows.size()=${dbRows.size()}";
    assert dbRows.size() > 0, "Need a row returned but none was... No data found.";
    dbRows.each { row ->
       log.info "   row.id=${row.id}";
    };