1

I have tried everything and every suggestion so far available.

Problem: I'm trying to write integration test cases for Grails based application but while running tests it's picking by default H2 db for creating datasource instead of using DB config from Test Environment inside application.yml

Command used: grails -Dgrails-env=test tesp-app -integration

Version: grails=4.0.1 gorm=7.0.2.RELEASE

application.yml

---
grails:
  profile: web
  codegen:
    defaultPackage: myApp
  gorm:
    autowire: true
    reactor:
      # Whether to translate GORM events into Reactor events
      # Disabled by default for performance reasons
      events: false
info:
  app:
    name: "my-grails-app"
    version: "0.0.10"
    grailsVersion: '4.0.1'
spring:
  jmx:
    unique-names: true
  main:
    banner-mode: "off"
  groovy:
    template:
      check-template-location: false
  devtools:
    restart:
      additional-exclude:
        - '*.gsp'
        - '**/*.gsp'
        - '*.gson'
        - '**/*.gson'
        - 'logback.groovy'
        - '*.properties'
management:
  endpoints:
    enabled-by-default: false

---
grails:
  mime:
    disable:
      accept:
        header:
          userAgents:
            - Gecko
            - WebKit
            - Presto
            - Trident
    types:
      all: '*/*'
      atom: application/atom+xml
      css: text/css
      csv: text/csv
      form: application/x-www-form-urlencoded
      html:
        - text/html
        - application/xhtml+xml
      js: text/javascript
      json:
        - application/json
        - text/json
      multipartForm: multipart/form-data
      pdf: application/pdf
      rss: application/rss+xml
      text: text/plain
      hal:
        - application/hal+json
        - application/hal+xml
      xml:
        - text/xml
        - application/xml
  urlmapping:
    cache:
      maxsize: 1000
  controllers:
    defaultScope: singleton
  converters:
    encoding: UTF-8
  views:
    default:
      codec: html
    gsp:
      encoding: UTF-8
      htmlcodec: xml
      codecs:
        expression: html
        scriptlet: html
        taglib: none
        staticparts: none
management:
  endpoints:
    jmx:
      unique-names: true

---
hibernate:
  cache:
    queries: false
    use_second_level_cache: false
    use_query_cache: false
  #        cache.provider_class: 'org.hibernate.cache.EhCacheProvider'
  lazy: false
  max_fetch_depth: '5'

environments:
  development:
    datasource:
      pooled: true
      dbCreate: update
      driverClassName: 'com.mysql.jdbc.Driver'
      url: 'jdbc:mysql://127.0.0.1:3306/mysqlDB_dev?useLegacyDatetimeCode=false&serverTimezone=UTC'
      username: 'root'
      password: 'root'
      logSql: true
    validationQuery: "SELECT 1"
  test:
    datasource:
      pooled: true
      dbCreate: create-drop
      driverClassName: 'com.mysql.jdbc.Driver'
      url: 'jdbc:mysql://127.0.0.1:3306/mysqlDB_test?useLegacyDatetimeCode=false&serverTimezone=UTC'
      username: 'root'
      password: 'root'
      logSql: true
  production:
    datasource:
      pooled: true
      dbCreate: update
      driverClassName: 'com.mysql.jdbc.Driver'
      url: 'jdbc:mysql://127.0.0.1:3306/mysqlDB_prod?useLegacyDatetimeCode=false&serverTimezone=UTC'
      username: 'xxxxx'
      password: 'xxxxx'
      logSql: true
      validationQuery: "SELECT 1"
      properties:
        jmxEnabled: true
        initialSize: 5
        maxActive: 50
        minIdle: 5
        maxIdle: 25
        maxWait: 10000
        maxAge: 600000
        timeBetweenEvictionRunsMillis: 5000
        minEvictableIdleTimeMillis: 60000
        validationQuery: SELECT 1
        validationQueryTimeout: 3
        validationInterval: 15000
        testOnBorrow: true
        testWhileIdle: true
        testOnReturn: false
        jdbcInterceptors: ConnectionState
        defaultTransactionIsolation: 2 # TRANSACTION_READ_COMMITTED


nik
  • 11
  • 1

0 Answers0