Tipp: Grails und wie man die Konfiguration mit Spock testen kann

von Peter Soth

Folgendes Problem: Entwickler ändert die Produktions-Settings, um auf der Test-Umgebung einen speziellen Test auszuführen. Leider vergisst er die richtigen Settings wiederherzustellen. Mit einem Integrationstest kann man sehr schön die Konfiguration absichern.

Möchte man bspw. testen, ob in der Config.groovy in der Umgebung prod_rz01 die Variable disabled auf false steht.

import org.springframework.beans.factory.annotation.Autowired
import com.exensio.common.Constants
import grails.util.Environment


// configuration of mail plugin
environments {
...
    prod_rz01 {
        grails {
            mail {
                host = "smtp.mail.de"
                port = 465
                username = "testmails@mail.de"
                password = "testmails"
                props = ["mail.smtp.auth": "true",
                        "mail.smtp.socketFactory.port": "465",
                        "mail.smtp.socketFactory.class": "javax.net.ssl.SSLSocketFactory",
                        "mail.smtp.socketFactory.fallback": "false"]
                disabled = false
            }
            mail.default.from = "no-reply@mail.com"
        }
    }
...
}

So kann man dies mit dem ConfigSlurper und dem Beispiel-Code unten bewerkstelligen. 

package com.exensio.test.common

import grails.plugin.spock.IntegrationSpec

class CheckConfigurationIntSpec extends IntegrationSpec {

    def grailsApplication

    def "check prod_rz01 production mail settings"() {
        given:
            def config = new ConfigSlurper('prod_rz01').parse(new File('grails-app/conf/Config.groovy').toURL())

        expect:
            config.grails.mail.disabled == false
    }
}

Fazit

Mit diesem einfachen Integrationstest kann man sehr schön Konfigurationsparameter überprüfen und sicherstellen, dass diese in der Produktion auch stimmen. Das Ganze funktioniert natürlich auch für die Absicherung von Data-Sources in DataSource.groovy.

Zurück

© 2006-2024 exensio GmbH
Einstellungen gespeichert

Datenschutzeinstellungen

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell, während andere uns helfen, diese Website und Ihre Erfahrung zu verbessern.

Sie können Ihre Einwilligung jederzeit ändern oder widerrufen, indem Sie auf den Link in der Datenschutzerklärung klicken.

Zu den gesetzlichen Rechenschaftspflichten gehört die Einwilligung (Opt-In) zu protokollieren und archivieren. Aus diesem Grund wird Ihre Opt-In Entscheidung in eine LOG-Datei geschrieben. In dieser Datei werden folgende Daten gespeichert:

 

  • IP-Adresse des Besuchers
  • Vom Besucher gewählte Datenschutzeinstellung (Privacy Level)
  • Datum und Zeit des Speicherns
  • Domain
You are using an outdated browser. The website may not be displayed correctly. Close