Compare commits
3 Commits
9146b79b14
...
1a14d2e19e
Author | SHA1 | Date | |
---|---|---|---|
|
1a14d2e19e | ||
|
f3c52c417b | ||
|
09b104bb83 |
3
Jenkinsfile
vendored
3
Jenkinsfile
vendored
@ -47,8 +47,7 @@ pipeline {
|
||||
|
||||
// archive scenario-test reports in HTML format
|
||||
sh '''
|
||||
cd doc/scenarios
|
||||
./to-html
|
||||
gw convertMarkdownToHtml
|
||||
'''
|
||||
archiveArtifacts artifacts: 'doc/scenarios/*.html', allowEmptyArchive: true
|
||||
|
||||
|
42
build.gradle
42
build.gradle
@ -391,3 +391,45 @@ tasks.named("dependencyUpdates").configure {
|
||||
isNonStable(it.candidate.version)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Generate HTML from Markdown scenario-test-reports using Pandoc:
|
||||
tasks.register('convertMarkdownToHtml') {
|
||||
description = 'Generates HTML from Markdown scenario-test-reports using Pandoc.'
|
||||
group = 'Conversion'
|
||||
|
||||
// Define the template file and input directory
|
||||
def templateFile = file('doc/scenarios/template.html')
|
||||
|
||||
// Task configuration and execution
|
||||
doFirst {
|
||||
// Check if pandoc is installed
|
||||
try {
|
||||
exec {
|
||||
commandLine 'pandoc', '--version'
|
||||
}
|
||||
} catch (Exception) {
|
||||
throw new GradleException("Pandoc is not installed or not found in the system path.")
|
||||
}
|
||||
|
||||
// Check if the template file exists
|
||||
if (!templateFile.exists()) {
|
||||
throw new GradleException("Template file 'doc/scenarios/template.html' not found.")
|
||||
}
|
||||
}
|
||||
|
||||
doLast {
|
||||
// Gather all Markdown files in the current directory
|
||||
fileTree(dir: '.', include: 'doc/scenarios/*.md').each { file ->
|
||||
// Corrected way to create the output file path
|
||||
def outputFile = new File(file.parent, file.name.replaceAll(/\.md$/, '.html'))
|
||||
|
||||
// Execute pandoc for each markdown file
|
||||
exec {
|
||||
commandLine 'pandoc', file.absolutePath, '--template', templateFile.absolutePath, '-o', outputFile.absolutePath
|
||||
}
|
||||
|
||||
println "Converted ${file.name} to ${outputFile.name}"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +0,0 @@
|
||||
#!/bin/bash
|
||||
# This script loops over all markdown (.md) files in the current directory
|
||||
# and converts each to an HTML file using pandoc using template.html.
|
||||
|
||||
# Origin of the template (GPL v3.0):
|
||||
# https://github.com/ryangrose/easy-pandoc-templates/blob/master/html/easy_template.html
|
||||
|
||||
for file in *.md; do
|
||||
pandoc "$file" --template template.html -o "${file%.md}.html"
|
||||
done
|
||||
|
@ -196,10 +196,10 @@ public abstract class UseCase<T extends UseCase<?>> {
|
||||
protected void verify(
|
||||
final String title,
|
||||
final Supplier<UseCase.HttpResponse> http,
|
||||
final Consumer<UseCase.HttpResponse> assertion) {
|
||||
final Consumer<UseCase.HttpResponse>... assertions) {
|
||||
withTitle(ScenarioTest.resolve(title), () -> {
|
||||
final var response = http.get();
|
||||
assertion.accept(response);
|
||||
Arrays.stream(assertions).forEach(assertion -> assertion.accept(response));
|
||||
return response;
|
||||
});
|
||||
}
|
||||
|
@ -64,4 +64,15 @@ public class AddOperationsContactToPartner extends UseCase<AddOperationsContactT
|
||||
"""))
|
||||
.expecting(CREATED).expecting(JSON);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void verify() {
|
||||
verify(
|
||||
"Verify the New OPERATIONS Relation",
|
||||
() -> httpGet("/api/hs/office/relations?relationType=OPERATIONS&personData=" + uriEncoded(
|
||||
"%{operationsContactFamilyName}"))
|
||||
.expecting(OK).expecting(JSON).expectArrayElements(1),
|
||||
path("[0].contact.caption").contains("%{operationsContactGivenName} %{operationsContactFamilyName}")
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -69,7 +69,7 @@ public class AddRepresentativeToPartner extends UseCase<AddRepresentativeToPartn
|
||||
@Override
|
||||
protected void verify() {
|
||||
verify(
|
||||
"Verify the New REPRESENTATIVE Relation",
|
||||
"Verify the REPRESENTATIVE Relation Got Removed",
|
||||
() -> httpGet("/api/hs/office/relations?relationType=REPRESENTATIVE&personData=" + uriEncoded("%{representativeFamilyName}"))
|
||||
.expecting(OK).expecting(JSON).expectArrayElements(1),
|
||||
path("[0].contact.caption").contains("%{representativeGivenName} %{representativeFamilyName}")
|
||||
|
@ -78,8 +78,7 @@ public class CreatePartner extends UseCase<CreatePartner> {
|
||||
verify(
|
||||
"Verify the New Partner Relation",
|
||||
() -> httpGet("/api/hs/office/relations?relationType=PARTNER&personData=" + uriEncoded("%{%{tradeName???}???%{givenName???} %{familyName???}}"))
|
||||
.expecting(OK).expecting(JSON).expectArrayElements(1),
|
||||
path("[0].contact.caption").contains("%{contactCaption}")
|
||||
.expecting(OK).expecting(JSON).expectArrayElements(1)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -25,11 +25,19 @@ public class RemoveOperationsContactFromPartner extends UseCase<RemoveOperations
|
||||
"In production, data this query could result in multiple outputs. In that case, you have to find out which is the right one."
|
||||
);
|
||||
|
||||
withTitle("Delete the Contact", () ->
|
||||
return withTitle("Delete the Contact", () ->
|
||||
httpDelete("/api/hs/office/relations/&{Operations-Contact: %{operationsContactPerson}}")
|
||||
.expecting(NO_CONTENT)
|
||||
);
|
||||
}
|
||||
|
||||
return null;
|
||||
@Override
|
||||
protected void verify() {
|
||||
verify(
|
||||
"Verify the New OPERATIONS Relation",
|
||||
() -> httpGet("/api/hs/office/relations?relationType=OPERATIONS&personData=" + uriEncoded(
|
||||
"%{operationsContactFamilyName}"))
|
||||
.expecting(OK).expecting(JSON).expectArrayElements(0)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user