IntegrationTests for git build info
This commit is contained in:
committed by
Michael Vorburger ⛑️
parent
0a80195ac2
commit
394a7fb1d1
+1
-1
@@ -61,5 +61,5 @@ script:
|
|||||||
# using "&&" instead of several "-" means that integrationTest does not run if test fails,
|
# using "&&" instead of several "-" means that integrationTest does not run if test fails,
|
||||||
# and Docker test does not run if integration test fails, which makes PR failure easier to understand.
|
# and Docker test does not run if integration test fails, which makes PR failure easier to understand.
|
||||||
# @see https://docs.travis-ci.com/user/job-lifecycle/#customizing-the-build-phase
|
# @see https://docs.travis-ci.com/user/job-lifecycle/#customizing-the-build-phase
|
||||||
- ./gradlew clean && ./gradlew --console=plain licenseMain licenseTest licenseIntegrationTest check && ./gradlew --console=plain integrationTest && sudo service mysql stop && docker-compose build && docker-compose up -d && sleep 30s && http --verify=no --timeout 240 --check-status get https://localhost:8443/fineract-provider/actuator/health
|
- ./gradlew --console=plain licenseMain licenseTest licenseIntegrationTest check && ./gradlew --console=plain integrationTest && sudo service mysql stop && docker-compose build && docker-compose up -d && sleep 30s && http --verify=no --timeout 240 --check-status get https://localhost:8443/fineract-provider/actuator/health
|
||||||
# We stop the mysql system service when running the Docker test to avoid port 3306 conflicts (unless we run the mysql in docker-compose on another port; req. FINERACT-773)
|
# We stop the mysql system service when running the Docker test to avoid port 3306 conflicts (unless we run the mysql in docker-compose on another port; req. FINERACT-773)
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
bin
|
bin
|
||||||
out/
|
out/
|
||||||
build
|
build
|
||||||
src/main/resources/git.properties
|
|
||||||
repos
|
repos
|
||||||
.classpath
|
.classpath
|
||||||
.project
|
.project
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ buildscript {
|
|||||||
// below
|
// below
|
||||||
classpath "org.apache.openjpa:openjpa:$openJPAVersion"
|
classpath "org.apache.openjpa:openjpa:$openJPAVersion"
|
||||||
classpath 'com.radcortez.gradle:openjpa-gradle-plugin:3.1.0'
|
classpath 'com.radcortez.gradle:openjpa-gradle-plugin:3.1.0'
|
||||||
classpath "org.nosphere.apache:creadur-rat-gradle:0.6.0"
|
classpath 'gradle.plugin.org.nosphere.apache:creadur-rat-gradle:0.2.2'
|
||||||
classpath "com.github.spotbugs:spotbugs-gradle-plugin:2.0.1"
|
classpath "com.github.spotbugs:spotbugs-gradle-plugin:2.0.1"
|
||||||
// Use Guava version 23+ as a workaround to spotbug intergration.
|
// Use Guava version 23+ as a workaround to spotbug intergration.
|
||||||
// See: https://github.com/spotbugs/spotbugs-gradle-plugin/issues/128#issuecomment-535864882
|
// See: https://github.com/spotbugs/spotbugs-gradle-plugin/issues/128#issuecomment-535864882
|
||||||
@@ -175,7 +175,11 @@ jacocoTestReport{
|
|||||||
}
|
}
|
||||||
|
|
||||||
rat {
|
rat {
|
||||||
|
xmlOutput = false
|
||||||
|
htmlOutput = false
|
||||||
|
plainOutput = true
|
||||||
verbose = false
|
verbose = false
|
||||||
|
// inputDir = './..'
|
||||||
reportDir = new File(buildDir,'reports/rat')
|
reportDir = new File(buildDir,'reports/rat')
|
||||||
excludes = [
|
excludes = [
|
||||||
'**/licenses/**',
|
'**/licenses/**',
|
||||||
@@ -250,6 +254,9 @@ rat {
|
|||||||
'**/assets/uglify.js',
|
'**/assets/uglify.js',
|
||||||
//Ignore out folder
|
//Ignore out folder
|
||||||
'**/out/**',
|
'**/out/**',
|
||||||
|
|
||||||
|
// Git build info
|
||||||
|
"**/git.properties",
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -457,7 +464,7 @@ sourceSets.test.output.resourcesDir = sourceSets.test.java.outputDir
|
|||||||
|
|
||||||
/* Exclude maria db and embedded tomcat related files for non dev builds */
|
/* Exclude maria db and embedded tomcat related files for non dev builds */
|
||||||
if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
|
if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
|
||||||
sourceSets {
|
sourceSets {
|
||||||
main {
|
main {
|
||||||
java {
|
java {
|
||||||
exclude '**/Server*'
|
exclude '**/Server*'
|
||||||
@@ -470,7 +477,7 @@ sourceSets {
|
|||||||
exclude '**/core/boot/tests/**'
|
exclude '**/core/boot/tests/**'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sourceSets {
|
sourceSets {
|
||||||
@@ -575,14 +582,11 @@ tasks.withType(SpotBugsTask) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
gitProperties {
|
gitProperties {
|
||||||
gitPropertiesResourceDir = "${project.rootDir}/src/main/resources"
|
gitPropertiesResourceDir = "$buildDir/classes/java/main/resources"
|
||||||
dateFormat = "yyyy-MM-dd'T'HH:mmZ"
|
dateFormat = "yyyy-MM-dd'T'HH:mmZ"
|
||||||
dateFormatTimeZone = "GMT"
|
dateFormatTimeZone = "GMT"
|
||||||
|
failOnNoGitDirectory = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// make sure the generateGitProperties task always executes (even when git.properties is not changed)
|
||||||
generateGitProperties.outputs.upToDateWhen { false }
|
generateGitProperties.outputs.upToDateWhen { false }
|
||||||
|
|
||||||
clean {
|
|
||||||
delete "${project.rootDir}/src/main/resources/git.properties"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|||||||
+47
@@ -0,0 +1,47 @@
|
|||||||
|
/**
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.apache.fineract.integrationtests;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
|
import io.restassured.RestAssured;
|
||||||
|
import io.restassured.http.ContentType;
|
||||||
|
import io.restassured.response.Response;
|
||||||
|
import java.util.Map;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
public class ActuatorIntegrationTest {
|
||||||
|
|
||||||
|
private final static String INFO_URL = "/fineract-provider/actuator/info";
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testActuatorGitBuildInfo() {
|
||||||
|
Response response = RestAssured.given()
|
||||||
|
.headers("Content-Type", ContentType.JSON, "Accept", ContentType.JSON).when()
|
||||||
|
.get(INFO_URL).then().contentType(ContentType.JSON).extract().response();
|
||||||
|
|
||||||
|
Map<String, String> gitBuildInfo = response.jsonPath().getMap("git");
|
||||||
|
|
||||||
|
assertTrue(gitBuildInfo.containsKey("branch"));
|
||||||
|
assertTrue(gitBuildInfo.containsKey("remote"));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user