web-api-commander/build.gradle

365 lines
13 KiB
Groovy
Raw Normal View History

Issue 37 Add Data Dictionary testing to the RESO Commmander (#41) * Added DD Spreadsheet, Command Line option, and parser * Initial check-in of DD generator and generated .feature files for 1.7 resources * Added file naming and header info to the generated files, regenerated Gluecode * Changed generator templates * Added support for additional DD resources and updated generator * Added new Commander build * Changed templates * Refactored generator and changed DD templates * Refactored WorksheetProcessor into base class * Added EDMX Generator * Added better EDMX generation * Intermediate check-in for EDMX processor * Added dependency injection of test containers, changed from Java8 Lambda test expressions to functions * Added skip logic and resource tags to generators * Generated new tests and improved skipped test messaging * Corrected Test Template * Finished first round of DD tests: field presence * Expanded field map to include all resources rather than just the one included in the Web API test * DD test generator intermediate check-in * EDMX Generator build enumerations generator * EDMX generator can generate valid EDMX files. See: /src/main/resources * Re-generated EDMX and BDD Tests from sanitized spreadsheet * Issue #30 - Convert Web API Server tests to Core, and remove Date Part comparisons * Updated DD BDD test format * Wrapped up test templates and generated new BDD acceptance tests * Cleaned up EDMX generation * Wrapped up first round of EDMX generation using Key (but not KeyNumeric). Metadata validation passes on generated file * Updated EDMX generator with Single and Multiple Enumerations * Updated reference XSLX, generated new EDMX and BDD Tests * Added updated BDD generators with improved tags and addedcomments with descriptions in the generated EDMX * Added generation of comments for both Standard Fields and Standard Enumerations, and also added a StandardEnumeration class and builder * Updated reference EDMX and BDD test generators to use Collections of enumerations rather than multi-select enum types. Added newly generated EDMX and BDD tests * Added the ability to generate Standard Relationships into NavigationProperty definitions * Added updated reference EDMX document * Updated Standard Relationships and re-generated EDMX and Open API definitions * Removed Partner Property Definitions and extra info logging * Added Data Dictionary tests for Collections, TODO: README and non-collection based enumerations * Issue #37 - added support for multiple enumerations that use IsFlags=true * Issue #37 - added better reporting * Issue #37 - Allow Edm.Double in addition to Edm.Decimal as per Cert group 10/1/2020 call * Issue #37 - added Gradle task to generate minimal 'pretty' reports. * Issue #37 - added updated .JAR and updated build.gradle * Issue #37 - Added additional error information to test results * Issue #37 - Added BDD generation for Lookups and stubs for testing. Prepended 'sample' to the RESOScript templates * Issue #37 - committing new BDD tests * Issue #37 - Added enumeration MAY and MUST support * Issue #37 - Added field-level synonyms checking and fixed invalid synonyms in DD sheet * Issue #37 - added test to check that closed enumerations only have standard values * Issue #37 - added better logging, including more info about standard vs. non-standard enumerations * Issue #37 - further improvement of OData type error messages * Issue #37 - Added fuzzy matching of enumerations using Levenshtein distance * Issue #37 - Improved Edit Distance behavior, added IgnoredItem and ignored.json, and updated Vha, Usda, and Fha with VHA, USDA, and FHA * Issue #37 - Added better error messages, --strict=true for strict testing mode, and metadata-report.json to output results to aggregation server * Issue #37 - Added auto-generating output directory as well as a generateCertificationReports_DD_1_7 task that takes -DpathToJsonResults from the cert task and creates a pretty report * Issue #37 - Added better error message formatting and handling, and help messages for gradle tasks * Issue #37 - updated README and fixed some of the existing Web API Commander JAR tasks, as well as improved the all-in-one generateCertificationReport task * Issue #37 - Cleaned up some items in the README and message output * Update README.md
2021-01-06 02:47:04 -05:00
import java.text.DateFormat
import java.text.SimpleDateFormat
plugins {
// Apply the java plugin to add support for Java
id 'java'
// Apply the application plugin to add support for building an application
id 'application'
}
// Define the main class for the application
mainClassName = 'org.reso.commander.App'
sourceCompatibility = 1.8
targetCompatibility = 1.8
compileJava.options.encoding = 'UTF-8'
repositories {
// Use jcenter for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
jcenter()
}
dependencies {
compile 'com.google.guava:guava:30.1.1-jre'
compile 'com.google.inject:guice:5.0.1'
compile 'commons-cli:commons-cli:1.4'
compile 'org.apache.logging.log4j:log4j-api:2.13.0'
compile 'org.apache.logging.log4j:log4j-slf4j-impl:2.13.0'
compile 'org.apache.logging.log4j:log4j-1.2-api:2.13.0'
compile 'org.apache.logging.log4j:log4j-core:2.13.0'
compile 'org.apache.olingo:odata-client-api:4.8.0'
compile 'org.apache.olingo:odata-commons-core:4.8.0'
compile 'org.apache.olingo:odata-client-core:4.8.0'
Issue 37 Add Data Dictionary testing to the RESO Commmander (#41) * Added DD Spreadsheet, Command Line option, and parser * Initial check-in of DD generator and generated .feature files for 1.7 resources * Added file naming and header info to the generated files, regenerated Gluecode * Changed generator templates * Added support for additional DD resources and updated generator * Added new Commander build * Changed templates * Refactored generator and changed DD templates * Refactored WorksheetProcessor into base class * Added EDMX Generator * Added better EDMX generation * Intermediate check-in for EDMX processor * Added dependency injection of test containers, changed from Java8 Lambda test expressions to functions * Added skip logic and resource tags to generators * Generated new tests and improved skipped test messaging * Corrected Test Template * Finished first round of DD tests: field presence * Expanded field map to include all resources rather than just the one included in the Web API test * DD test generator intermediate check-in * EDMX Generator build enumerations generator * EDMX generator can generate valid EDMX files. See: /src/main/resources * Re-generated EDMX and BDD Tests from sanitized spreadsheet * Issue #30 - Convert Web API Server tests to Core, and remove Date Part comparisons * Updated DD BDD test format * Wrapped up test templates and generated new BDD acceptance tests * Cleaned up EDMX generation * Wrapped up first round of EDMX generation using Key (but not KeyNumeric). Metadata validation passes on generated file * Updated EDMX generator with Single and Multiple Enumerations * Updated reference XSLX, generated new EDMX and BDD Tests * Added updated BDD generators with improved tags and addedcomments with descriptions in the generated EDMX * Added generation of comments for both Standard Fields and Standard Enumerations, and also added a StandardEnumeration class and builder * Updated reference EDMX and BDD test generators to use Collections of enumerations rather than multi-select enum types. Added newly generated EDMX and BDD tests * Added the ability to generate Standard Relationships into NavigationProperty definitions * Added updated reference EDMX document * Updated Standard Relationships and re-generated EDMX and Open API definitions * Removed Partner Property Definitions and extra info logging * Added Data Dictionary tests for Collections, TODO: README and non-collection based enumerations * Issue #37 - added support for multiple enumerations that use IsFlags=true * Issue #37 - added better reporting * Issue #37 - Allow Edm.Double in addition to Edm.Decimal as per Cert group 10/1/2020 call * Issue #37 - added Gradle task to generate minimal 'pretty' reports. * Issue #37 - added updated .JAR and updated build.gradle * Issue #37 - Added additional error information to test results * Issue #37 - Added BDD generation for Lookups and stubs for testing. Prepended 'sample' to the RESOScript templates * Issue #37 - committing new BDD tests * Issue #37 - Added enumeration MAY and MUST support * Issue #37 - Added field-level synonyms checking and fixed invalid synonyms in DD sheet * Issue #37 - added test to check that closed enumerations only have standard values * Issue #37 - added better logging, including more info about standard vs. non-standard enumerations * Issue #37 - further improvement of OData type error messages * Issue #37 - Added fuzzy matching of enumerations using Levenshtein distance * Issue #37 - Improved Edit Distance behavior, added IgnoredItem and ignored.json, and updated Vha, Usda, and Fha with VHA, USDA, and FHA * Issue #37 - Added better error messages, --strict=true for strict testing mode, and metadata-report.json to output results to aggregation server * Issue #37 - Added auto-generating output directory as well as a generateCertificationReports_DD_1_7 task that takes -DpathToJsonResults from the cert task and creates a pretty report * Issue #37 - Added better error message formatting and handling, and help messages for gradle tasks * Issue #37 - updated README and fixed some of the existing Web API Commander JAR tasks, as well as improved the all-in-one generateCertificationReport task * Issue #37 - Cleaned up some items in the README and message output * Update README.md
2021-01-06 02:47:04 -05:00
compile 'org.apache.poi:poi:5.0.0'
compile 'org.apache.poi:poi-ooxml:5.0.0'
Issue 37 Add Data Dictionary testing to the RESO Commmander (#41) * Added DD Spreadsheet, Command Line option, and parser * Initial check-in of DD generator and generated .feature files for 1.7 resources * Added file naming and header info to the generated files, regenerated Gluecode * Changed generator templates * Added support for additional DD resources and updated generator * Added new Commander build * Changed templates * Refactored generator and changed DD templates * Refactored WorksheetProcessor into base class * Added EDMX Generator * Added better EDMX generation * Intermediate check-in for EDMX processor * Added dependency injection of test containers, changed from Java8 Lambda test expressions to functions * Added skip logic and resource tags to generators * Generated new tests and improved skipped test messaging * Corrected Test Template * Finished first round of DD tests: field presence * Expanded field map to include all resources rather than just the one included in the Web API test * DD test generator intermediate check-in * EDMX Generator build enumerations generator * EDMX generator can generate valid EDMX files. See: /src/main/resources * Re-generated EDMX and BDD Tests from sanitized spreadsheet * Issue #30 - Convert Web API Server tests to Core, and remove Date Part comparisons * Updated DD BDD test format * Wrapped up test templates and generated new BDD acceptance tests * Cleaned up EDMX generation * Wrapped up first round of EDMX generation using Key (but not KeyNumeric). Metadata validation passes on generated file * Updated EDMX generator with Single and Multiple Enumerations * Updated reference XSLX, generated new EDMX and BDD Tests * Added updated BDD generators with improved tags and addedcomments with descriptions in the generated EDMX * Added generation of comments for both Standard Fields and Standard Enumerations, and also added a StandardEnumeration class and builder * Updated reference EDMX and BDD test generators to use Collections of enumerations rather than multi-select enum types. Added newly generated EDMX and BDD tests * Added the ability to generate Standard Relationships into NavigationProperty definitions * Added updated reference EDMX document * Updated Standard Relationships and re-generated EDMX and Open API definitions * Removed Partner Property Definitions and extra info logging * Added Data Dictionary tests for Collections, TODO: README and non-collection based enumerations * Issue #37 - added support for multiple enumerations that use IsFlags=true * Issue #37 - added better reporting * Issue #37 - Allow Edm.Double in addition to Edm.Decimal as per Cert group 10/1/2020 call * Issue #37 - added Gradle task to generate minimal 'pretty' reports. * Issue #37 - added updated .JAR and updated build.gradle * Issue #37 - Added additional error information to test results * Issue #37 - Added BDD generation for Lookups and stubs for testing. Prepended 'sample' to the RESOScript templates * Issue #37 - committing new BDD tests * Issue #37 - Added enumeration MAY and MUST support * Issue #37 - Added field-level synonyms checking and fixed invalid synonyms in DD sheet * Issue #37 - added test to check that closed enumerations only have standard values * Issue #37 - added better logging, including more info about standard vs. non-standard enumerations * Issue #37 - further improvement of OData type error messages * Issue #37 - Added fuzzy matching of enumerations using Levenshtein distance * Issue #37 - Improved Edit Distance behavior, added IgnoredItem and ignored.json, and updated Vha, Usda, and Fha with VHA, USDA, and FHA * Issue #37 - Added better error messages, --strict=true for strict testing mode, and metadata-report.json to output results to aggregation server * Issue #37 - Added auto-generating output directory as well as a generateCertificationReports_DD_1_7 task that takes -DpathToJsonResults from the cert task and creates a pretty report * Issue #37 - Added better error message formatting and handling, and help messages for gradle tasks * Issue #37 - updated README and fixed some of the existing Web API Commander JAR tasks, as well as improved the all-in-one generateCertificationReport task * Issue #37 - Cleaned up some items in the README and message output * Update README.md
2021-01-06 02:47:04 -05:00
compile 'io.rest-assured:rest-assured:4.3.3'
compile 'io.rest-assured:json-path:4.3.3'
compile 'io.rest-assured:json-schema-validator:4.3.3'
compile 'io.cucumber:cucumber-java8:6.10.2'
compile 'io.cucumber:cucumber-java:6.10.2'
compile 'io.cucumber:cucumber-junit:6.10.2'
compile 'io.cucumber:cucumber-guice:6.10.2'
compile 'io.cucumber:cucumber-core:6.10.2'
compile 'net.masterthought:cucumber-reporting:5.5.2'
//TODO: choose one schema validator between this and rest-assured
compile 'com.networknt:json-schema-validator:1.0.51'
Issue 37 Add Data Dictionary testing to the RESO Commmander (#41) * Added DD Spreadsheet, Command Line option, and parser * Initial check-in of DD generator and generated .feature files for 1.7 resources * Added file naming and header info to the generated files, regenerated Gluecode * Changed generator templates * Added support for additional DD resources and updated generator * Added new Commander build * Changed templates * Refactored generator and changed DD templates * Refactored WorksheetProcessor into base class * Added EDMX Generator * Added better EDMX generation * Intermediate check-in for EDMX processor * Added dependency injection of test containers, changed from Java8 Lambda test expressions to functions * Added skip logic and resource tags to generators * Generated new tests and improved skipped test messaging * Corrected Test Template * Finished first round of DD tests: field presence * Expanded field map to include all resources rather than just the one included in the Web API test * DD test generator intermediate check-in * EDMX Generator build enumerations generator * EDMX generator can generate valid EDMX files. See: /src/main/resources * Re-generated EDMX and BDD Tests from sanitized spreadsheet * Issue #30 - Convert Web API Server tests to Core, and remove Date Part comparisons * Updated DD BDD test format * Wrapped up test templates and generated new BDD acceptance tests * Cleaned up EDMX generation * Wrapped up first round of EDMX generation using Key (but not KeyNumeric). Metadata validation passes on generated file * Updated EDMX generator with Single and Multiple Enumerations * Updated reference XSLX, generated new EDMX and BDD Tests * Added updated BDD generators with improved tags and addedcomments with descriptions in the generated EDMX * Added generation of comments for both Standard Fields and Standard Enumerations, and also added a StandardEnumeration class and builder * Updated reference EDMX and BDD test generators to use Collections of enumerations rather than multi-select enum types. Added newly generated EDMX and BDD tests * Added the ability to generate Standard Relationships into NavigationProperty definitions * Added updated reference EDMX document * Updated Standard Relationships and re-generated EDMX and Open API definitions * Removed Partner Property Definitions and extra info logging * Added Data Dictionary tests for Collections, TODO: README and non-collection based enumerations * Issue #37 - added support for multiple enumerations that use IsFlags=true * Issue #37 - added better reporting * Issue #37 - Allow Edm.Double in addition to Edm.Decimal as per Cert group 10/1/2020 call * Issue #37 - added Gradle task to generate minimal 'pretty' reports. * Issue #37 - added updated .JAR and updated build.gradle * Issue #37 - Added additional error information to test results * Issue #37 - Added BDD generation for Lookups and stubs for testing. Prepended 'sample' to the RESOScript templates * Issue #37 - committing new BDD tests * Issue #37 - Added enumeration MAY and MUST support * Issue #37 - Added field-level synonyms checking and fixed invalid synonyms in DD sheet * Issue #37 - added test to check that closed enumerations only have standard values * Issue #37 - added better logging, including more info about standard vs. non-standard enumerations * Issue #37 - further improvement of OData type error messages * Issue #37 - Added fuzzy matching of enumerations using Levenshtein distance * Issue #37 - Improved Edit Distance behavior, added IgnoredItem and ignored.json, and updated Vha, Usda, and Fha with VHA, USDA, and FHA * Issue #37 - Added better error messages, --strict=true for strict testing mode, and metadata-report.json to output results to aggregation server * Issue #37 - Added auto-generating output directory as well as a generateCertificationReports_DD_1_7 task that takes -DpathToJsonResults from the cert task and creates a pretty report * Issue #37 - Added better error message formatting and handling, and help messages for gradle tasks * Issue #37 - updated README and fixed some of the existing Web API Commander JAR tasks, as well as improved the all-in-one generateCertificationReport task * Issue #37 - Cleaned up some items in the README and message output * Update README.md
2021-01-06 02:47:04 -05:00
compile 'com.google.code.gson:gson:2.8.6'
compile 'org.apache.commons:commons-text:1.9'
}
configurations {
cucumberRuntime {
extendsFrom compile
}
}
jar {
manifest {
attributes "Main-Class": mainClassName
}
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}
exclude 'META-INF/*.RSA'
exclude 'META-INF/*.SF'
exclude 'META-INF/*.DSA'
}
// don't suppress warnings or deprecation notices
tasks.withType(JavaCompile) {
options.compilerArgs << '-Xlint:unchecked'
options.deprecation = true
}
String pathToMetadata = null,
pathToRESOScript = null,
certFileName = null,
certOutputDir = null,
certJsonPath = null
// task for Web API Server 1.0.2 Core Testing
task testWebApiServer_1_0_2_Core() {
Issue 37 Add Data Dictionary testing to the RESO Commmander (#41) * Added DD Spreadsheet, Command Line option, and parser * Initial check-in of DD generator and generated .feature files for 1.7 resources * Added file naming and header info to the generated files, regenerated Gluecode * Changed generator templates * Added support for additional DD resources and updated generator * Added new Commander build * Changed templates * Refactored generator and changed DD templates * Refactored WorksheetProcessor into base class * Added EDMX Generator * Added better EDMX generation * Intermediate check-in for EDMX processor * Added dependency injection of test containers, changed from Java8 Lambda test expressions to functions * Added skip logic and resource tags to generators * Generated new tests and improved skipped test messaging * Corrected Test Template * Finished first round of DD tests: field presence * Expanded field map to include all resources rather than just the one included in the Web API test * DD test generator intermediate check-in * EDMX Generator build enumerations generator * EDMX generator can generate valid EDMX files. See: /src/main/resources * Re-generated EDMX and BDD Tests from sanitized spreadsheet * Issue #30 - Convert Web API Server tests to Core, and remove Date Part comparisons * Updated DD BDD test format * Wrapped up test templates and generated new BDD acceptance tests * Cleaned up EDMX generation * Wrapped up first round of EDMX generation using Key (but not KeyNumeric). Metadata validation passes on generated file * Updated EDMX generator with Single and Multiple Enumerations * Updated reference XSLX, generated new EDMX and BDD Tests * Added updated BDD generators with improved tags and addedcomments with descriptions in the generated EDMX * Added generation of comments for both Standard Fields and Standard Enumerations, and also added a StandardEnumeration class and builder * Updated reference EDMX and BDD test generators to use Collections of enumerations rather than multi-select enum types. Added newly generated EDMX and BDD tests * Added the ability to generate Standard Relationships into NavigationProperty definitions * Added updated reference EDMX document * Updated Standard Relationships and re-generated EDMX and Open API definitions * Removed Partner Property Definitions and extra info logging * Added Data Dictionary tests for Collections, TODO: README and non-collection based enumerations * Issue #37 - added support for multiple enumerations that use IsFlags=true * Issue #37 - added better reporting * Issue #37 - Allow Edm.Double in addition to Edm.Decimal as per Cert group 10/1/2020 call * Issue #37 - added Gradle task to generate minimal 'pretty' reports. * Issue #37 - added updated .JAR and updated build.gradle * Issue #37 - Added additional error information to test results * Issue #37 - Added BDD generation for Lookups and stubs for testing. Prepended 'sample' to the RESOScript templates * Issue #37 - committing new BDD tests * Issue #37 - Added enumeration MAY and MUST support * Issue #37 - Added field-level synonyms checking and fixed invalid synonyms in DD sheet * Issue #37 - added test to check that closed enumerations only have standard values * Issue #37 - added better logging, including more info about standard vs. non-standard enumerations * Issue #37 - further improvement of OData type error messages * Issue #37 - Added fuzzy matching of enumerations using Levenshtein distance * Issue #37 - Improved Edit Distance behavior, added IgnoredItem and ignored.json, and updated Vha, Usda, and Fha with VHA, USDA, and FHA * Issue #37 - Added better error messages, --strict=true for strict testing mode, and metadata-report.json to output results to aggregation server * Issue #37 - Added auto-generating output directory as well as a generateCertificationReports_DD_1_7 task that takes -DpathToJsonResults from the cert task and creates a pretty report * Issue #37 - Added better error message formatting and handling, and help messages for gradle tasks * Issue #37 - updated README and fixed some of the existing Web API Commander JAR tasks, as well as improved the all-in-one generateCertificationReport task * Issue #37 - Cleaned up some items in the README and message output * Update README.md
2021-01-06 02:47:04 -05:00
group = 'RESO Certification'
description = 'Runs Web API Core 1.0.2 Automated Acceptance Tests.' +
'\n Example: ' +
Issue 34 Web API Core Tests (#43) * Added DD Spreadsheet, Command Line option, and parser * Initial check-in of DD generator and generated .feature files for 1.7 resources * Added file naming and header info to the generated files, regenerated Gluecode * Changed generator templates * Added support for additional DD resources and updated generator * Added new Commander build * Changed templates * Refactored generator and changed DD templates * Refactored WorksheetProcessor into base class * Added EDMX Generator * Added dependency injection of test containers, changed from Java8 Lambda test expressions to functions * Added skip logic and resource tags to generators * Generated new tests and improved skipped test messaging * Corrected Test Template * Finished first round of DD tests: field presence * Expanded field map to include all resources rather than just the one included in the Web API test * DD test generator intermediate check-in * EDMX Generator build enumerations generator * EDMX generator can generate valid EDMX files. See: /src/main/resources * Re-generated EDMX and BDD Tests from sanitized spreadsheet * Issue #30 - Convert Web API Server tests to Core, and remove Date Part comparisons * Updated DD BDD test format * Wrapped up test templates and generated new BDD acceptance tests * Cleaned up EDMX generation * Wrapped up first round of EDMX generation using Key (but not KeyNumeric). Metadata validation passes on generated file * Updated EDMX generator with Single and Multiple Enumerations * Updated reference XSLX, generated new EDMX and BDD Tests * Added updated BDD generators with improved tags and addedcomments with descriptions in the generated EDMX * Added generation of comments for both Standard Fields and Standard Enumerations, and also added a StandardEnumeration class and builder * Updated reference EDMX and BDD test generators to use Collections of enumerations rather than multi-select enum types. Added newly generated EDMX and BDD tests * Added the ability to generate Standard Relationships into NavigationProperty definitions * Added updated reference EDMX document * Updated Standard Relationships and re-generated EDMX and Open API definitions * Removed Partner Property Definitions and extra info logging * Issue #34 - Rename Test IDs * Issue #34 - Added query generator and additional RESOScript queries * Issue #34 - Added remaining Core test queries to RESOScript files and cleaned up test IDs * Added Data Dictionary tests for Collections, TODO: README and non-collection based enumerations * Issue #37 - added support for multiple enumerations that use IsFlags=true * Issue #37 - added better reporting * Issue #37 - Allow Edm.Double in addition to Edm.Decimal as per Cert group 10/1/2020 call * Issue #37 - added Gradle task to generate minimal 'pretty' reports. * Issue #37 - added updated .JAR and updated build.gradle * Issue #37 - Added additional error information to test results * Issue #37 - Added BDD generation for Lookups and stubs for testing. Prepended 'sample' to the RESOScript templates * Issue #37 - committing new BDD tests * Issue #37 - Added enumeration MAY and MUST support * Issue #37 - Added field-level synonyms checking and fixed invalid synonyms in DD sheet * Issue #37 - added test to check that closed enumerations only have standard values * Issue #37 - added better logging, including more info about standard vs. non-standard enumerations * Issue #37 - further improvement of OData type error messages * Issue #37 - Added fuzzy matching of enumerations using Levenshtein distance * Issue #37 - Improved Edit Distance behavior, added IgnoredItem and ignored.json, and updated Vha, Usda, and Fha with VHA, USDA, and FHA * Issue #37 - Added better error messages, --strict=true for strict testing mode, and metadata-report.json to output results to aggregation server * Issue #37 - Added auto-generating output directory as well as a generateCertificationReports_DD_1_7 task that takes -DpathToJsonResults from the cert task and creates a pretty report * Issue #37 - Added better error message formatting and handling, and help messages for gradle tasks * Issue #37 - updated README and fixed some of the existing Web API Commander JAR tasks, as well as improved the all-in-one generateCertificationReport task * Issue #37 - Cleaned up some items in the README and message output * Update README.md * Issue #34 - fixed metadata-request name in RESOScript * Issue #34 - Added logging and container caching to Web API acceptance tests, and updated sample payloads * Issue #34 - Cleaned up DD merge, Added Collections flag, updated README * Issue #34 - Added ODataTransportWrapper and odata-openapi as a submodule * Issue #37 - removed Data Dictionary lookup tests and added annotations to reference metadata * Issue #37 - added new DD 1.7 Open API 3 spec
2021-01-06 03:09:01 -05:00
'\n $ ./gradlew testWebApiServer_1_0_2_Core -DpathToRESOScript=/path/to/web-api-core-1.0.2.resoscript -DshowResponses=true\n' +
'\n Note: by default the Web API tests assume Collection(Edm.EnumType).' +
'\n Pass -DuseCollections=false if using OData IsFlags.\n'
Issue 37 Add Data Dictionary testing to the RESO Commmander (#41) * Added DD Spreadsheet, Command Line option, and parser * Initial check-in of DD generator and generated .feature files for 1.7 resources * Added file naming and header info to the generated files, regenerated Gluecode * Changed generator templates * Added support for additional DD resources and updated generator * Added new Commander build * Changed templates * Refactored generator and changed DD templates * Refactored WorksheetProcessor into base class * Added EDMX Generator * Added better EDMX generation * Intermediate check-in for EDMX processor * Added dependency injection of test containers, changed from Java8 Lambda test expressions to functions * Added skip logic and resource tags to generators * Generated new tests and improved skipped test messaging * Corrected Test Template * Finished first round of DD tests: field presence * Expanded field map to include all resources rather than just the one included in the Web API test * DD test generator intermediate check-in * EDMX Generator build enumerations generator * EDMX generator can generate valid EDMX files. See: /src/main/resources * Re-generated EDMX and BDD Tests from sanitized spreadsheet * Issue #30 - Convert Web API Server tests to Core, and remove Date Part comparisons * Updated DD BDD test format * Wrapped up test templates and generated new BDD acceptance tests * Cleaned up EDMX generation * Wrapped up first round of EDMX generation using Key (but not KeyNumeric). Metadata validation passes on generated file * Updated EDMX generator with Single and Multiple Enumerations * Updated reference XSLX, generated new EDMX and BDD Tests * Added updated BDD generators with improved tags and addedcomments with descriptions in the generated EDMX * Added generation of comments for both Standard Fields and Standard Enumerations, and also added a StandardEnumeration class and builder * Updated reference EDMX and BDD test generators to use Collections of enumerations rather than multi-select enum types. Added newly generated EDMX and BDD tests * Added the ability to generate Standard Relationships into NavigationProperty definitions * Added updated reference EDMX document * Updated Standard Relationships and re-generated EDMX and Open API definitions * Removed Partner Property Definitions and extra info logging * Added Data Dictionary tests for Collections, TODO: README and non-collection based enumerations * Issue #37 - added support for multiple enumerations that use IsFlags=true * Issue #37 - added better reporting * Issue #37 - Allow Edm.Double in addition to Edm.Decimal as per Cert group 10/1/2020 call * Issue #37 - added Gradle task to generate minimal 'pretty' reports. * Issue #37 - added updated .JAR and updated build.gradle * Issue #37 - Added additional error information to test results * Issue #37 - Added BDD generation for Lookups and stubs for testing. Prepended 'sample' to the RESOScript templates * Issue #37 - committing new BDD tests * Issue #37 - Added enumeration MAY and MUST support * Issue #37 - Added field-level synonyms checking and fixed invalid synonyms in DD sheet * Issue #37 - added test to check that closed enumerations only have standard values * Issue #37 - added better logging, including more info about standard vs. non-standard enumerations * Issue #37 - further improvement of OData type error messages * Issue #37 - Added fuzzy matching of enumerations using Levenshtein distance * Issue #37 - Improved Edit Distance behavior, added IgnoredItem and ignored.json, and updated Vha, Usda, and Fha with VHA, USDA, and FHA * Issue #37 - Added better error messages, --strict=true for strict testing mode, and metadata-report.json to output results to aggregation server * Issue #37 - Added auto-generating output directory as well as a generateCertificationReports_DD_1_7 task that takes -DpathToJsonResults from the cert task and creates a pretty report * Issue #37 - Added better error message formatting and handling, and help messages for gradle tasks * Issue #37 - updated README and fixed some of the existing Web API Commander JAR tasks, as well as improved the all-in-one generateCertificationReport task * Issue #37 - Cleaned up some items in the README and message output * Update README.md
2021-01-06 02:47:04 -05:00
dependsOn jar
doLast {
javaexec {
main = "io.cucumber.core.cli.Main"
classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
systemProperties = System.getProperties()
Issue 34 Web API Core Tests (#43) * Added DD Spreadsheet, Command Line option, and parser * Initial check-in of DD generator and generated .feature files for 1.7 resources * Added file naming and header info to the generated files, regenerated Gluecode * Changed generator templates * Added support for additional DD resources and updated generator * Added new Commander build * Changed templates * Refactored generator and changed DD templates * Refactored WorksheetProcessor into base class * Added EDMX Generator * Added dependency injection of test containers, changed from Java8 Lambda test expressions to functions * Added skip logic and resource tags to generators * Generated new tests and improved skipped test messaging * Corrected Test Template * Finished first round of DD tests: field presence * Expanded field map to include all resources rather than just the one included in the Web API test * DD test generator intermediate check-in * EDMX Generator build enumerations generator * EDMX generator can generate valid EDMX files. See: /src/main/resources * Re-generated EDMX and BDD Tests from sanitized spreadsheet * Issue #30 - Convert Web API Server tests to Core, and remove Date Part comparisons * Updated DD BDD test format * Wrapped up test templates and generated new BDD acceptance tests * Cleaned up EDMX generation * Wrapped up first round of EDMX generation using Key (but not KeyNumeric). Metadata validation passes on generated file * Updated EDMX generator with Single and Multiple Enumerations * Updated reference XSLX, generated new EDMX and BDD Tests * Added updated BDD generators with improved tags and addedcomments with descriptions in the generated EDMX * Added generation of comments for both Standard Fields and Standard Enumerations, and also added a StandardEnumeration class and builder * Updated reference EDMX and BDD test generators to use Collections of enumerations rather than multi-select enum types. Added newly generated EDMX and BDD tests * Added the ability to generate Standard Relationships into NavigationProperty definitions * Added updated reference EDMX document * Updated Standard Relationships and re-generated EDMX and Open API definitions * Removed Partner Property Definitions and extra info logging * Issue #34 - Rename Test IDs * Issue #34 - Added query generator and additional RESOScript queries * Issue #34 - Added remaining Core test queries to RESOScript files and cleaned up test IDs * Added Data Dictionary tests for Collections, TODO: README and non-collection based enumerations * Issue #37 - added support for multiple enumerations that use IsFlags=true * Issue #37 - added better reporting * Issue #37 - Allow Edm.Double in addition to Edm.Decimal as per Cert group 10/1/2020 call * Issue #37 - added Gradle task to generate minimal 'pretty' reports. * Issue #37 - added updated .JAR and updated build.gradle * Issue #37 - Added additional error information to test results * Issue #37 - Added BDD generation for Lookups and stubs for testing. Prepended 'sample' to the RESOScript templates * Issue #37 - committing new BDD tests * Issue #37 - Added enumeration MAY and MUST support * Issue #37 - Added field-level synonyms checking and fixed invalid synonyms in DD sheet * Issue #37 - added test to check that closed enumerations only have standard values * Issue #37 - added better logging, including more info about standard vs. non-standard enumerations * Issue #37 - further improvement of OData type error messages * Issue #37 - Added fuzzy matching of enumerations using Levenshtein distance * Issue #37 - Improved Edit Distance behavior, added IgnoredItem and ignored.json, and updated Vha, Usda, and Fha with VHA, USDA, and FHA * Issue #37 - Added better error messages, --strict=true for strict testing mode, and metadata-report.json to output results to aggregation server * Issue #37 - Added auto-generating output directory as well as a generateCertificationReports_DD_1_7 task that takes -DpathToJsonResults from the cert task and creates a pretty report * Issue #37 - Added better error message formatting and handling, and help messages for gradle tasks * Issue #37 - updated README and fixed some of the existing Web API Commander JAR tasks, as well as improved the all-in-one generateCertificationReport task * Issue #37 - Cleaned up some items in the README and message output * Update README.md * Issue #34 - fixed metadata-request name in RESOScript * Issue #34 - Added logging and container caching to Web API acceptance tests, and updated sample payloads * Issue #34 - Cleaned up DD merge, Added Collections flag, updated README * Issue #34 - Added ODataTransportWrapper and odata-openapi as a submodule * Issue #37 - removed Data Dictionary lookup tests and added annotations to reference metadata * Issue #37 - added new DD 1.7 Open API 3 spec
2021-01-06 03:09:01 -05:00
args = [
'--strict',
'--plugin',
'pretty',
'--plugin',
'json:build/web-api-server.core.1.0.2.json',
'--plugin',
'html:build/web-api-server.core.1.0.2.html',
'--glue',
'org.reso.certification.stepdefs#WebAPIServer_1_0_2',
'src/main/java/org/reso/certification/features/web-api',
'--tags',
'@core-endorsement'
2020-03-10 01:36:08 -04:00
]
}
}
}
Issue 37 Add Data Dictionary testing to the RESO Commmander (#41) * Added DD Spreadsheet, Command Line option, and parser * Initial check-in of DD generator and generated .feature files for 1.7 resources * Added file naming and header info to the generated files, regenerated Gluecode * Changed generator templates * Added support for additional DD resources and updated generator * Added new Commander build * Changed templates * Refactored generator and changed DD templates * Refactored WorksheetProcessor into base class * Added EDMX Generator * Added better EDMX generation * Intermediate check-in for EDMX processor * Added dependency injection of test containers, changed from Java8 Lambda test expressions to functions * Added skip logic and resource tags to generators * Generated new tests and improved skipped test messaging * Corrected Test Template * Finished first round of DD tests: field presence * Expanded field map to include all resources rather than just the one included in the Web API test * DD test generator intermediate check-in * EDMX Generator build enumerations generator * EDMX generator can generate valid EDMX files. See: /src/main/resources * Re-generated EDMX and BDD Tests from sanitized spreadsheet * Issue #30 - Convert Web API Server tests to Core, and remove Date Part comparisons * Updated DD BDD test format * Wrapped up test templates and generated new BDD acceptance tests * Cleaned up EDMX generation * Wrapped up first round of EDMX generation using Key (but not KeyNumeric). Metadata validation passes on generated file * Updated EDMX generator with Single and Multiple Enumerations * Updated reference XSLX, generated new EDMX and BDD Tests * Added updated BDD generators with improved tags and addedcomments with descriptions in the generated EDMX * Added generation of comments for both Standard Fields and Standard Enumerations, and also added a StandardEnumeration class and builder * Updated reference EDMX and BDD test generators to use Collections of enumerations rather than multi-select enum types. Added newly generated EDMX and BDD tests * Added the ability to generate Standard Relationships into NavigationProperty definitions * Added updated reference EDMX document * Updated Standard Relationships and re-generated EDMX and Open API definitions * Removed Partner Property Definitions and extra info logging * Added Data Dictionary tests for Collections, TODO: README and non-collection based enumerations * Issue #37 - added support for multiple enumerations that use IsFlags=true * Issue #37 - added better reporting * Issue #37 - Allow Edm.Double in addition to Edm.Decimal as per Cert group 10/1/2020 call * Issue #37 - added Gradle task to generate minimal 'pretty' reports. * Issue #37 - added updated .JAR and updated build.gradle * Issue #37 - Added additional error information to test results * Issue #37 - Added BDD generation for Lookups and stubs for testing. Prepended 'sample' to the RESOScript templates * Issue #37 - committing new BDD tests * Issue #37 - Added enumeration MAY and MUST support * Issue #37 - Added field-level synonyms checking and fixed invalid synonyms in DD sheet * Issue #37 - added test to check that closed enumerations only have standard values * Issue #37 - added better logging, including more info about standard vs. non-standard enumerations * Issue #37 - further improvement of OData type error messages * Issue #37 - Added fuzzy matching of enumerations using Levenshtein distance * Issue #37 - Improved Edit Distance behavior, added IgnoredItem and ignored.json, and updated Vha, Usda, and Fha with VHA, USDA, and FHA * Issue #37 - Added better error messages, --strict=true for strict testing mode, and metadata-report.json to output results to aggregation server * Issue #37 - Added auto-generating output directory as well as a generateCertificationReports_DD_1_7 task that takes -DpathToJsonResults from the cert task and creates a pretty report * Issue #37 - Added better error message formatting and handling, and help messages for gradle tasks * Issue #37 - updated README and fixed some of the existing Web API Commander JAR tasks, as well as improved the all-in-one generateCertificationReport task * Issue #37 - Cleaned up some items in the README and message output * Update README.md
2021-01-06 02:47:04 -05:00
// task for Data Dictionary 1.7
task testDataDictionary_1_7() {
group = 'RESO Certification'
description = 'Runs Data Dictionary 1.7 Automated Acceptance Tests and generates a "raw" report.' +
'\n RESOScript Example:' +
'\n ./gradlew testDataDictionary_1_7 -DpathToRESOScript=/path/to/dd17.resoscript -DshowResponses=true -Dcucumber.filter.tags=""' +
'\n Metadata File Example:' +
'\n ./gradlew testDataDictionary_1_7 -DpathToMetadata=/path/to/RESODataDictionary-1.7.xml -Dcucumber.filter.tags=""' +
Issue 37 Add Data Dictionary testing to the RESO Commmander (#41) * Added DD Spreadsheet, Command Line option, and parser * Initial check-in of DD generator and generated .feature files for 1.7 resources * Added file naming and header info to the generated files, regenerated Gluecode * Changed generator templates * Added support for additional DD resources and updated generator * Added new Commander build * Changed templates * Refactored generator and changed DD templates * Refactored WorksheetProcessor into base class * Added EDMX Generator * Added better EDMX generation * Intermediate check-in for EDMX processor * Added dependency injection of test containers, changed from Java8 Lambda test expressions to functions * Added skip logic and resource tags to generators * Generated new tests and improved skipped test messaging * Corrected Test Template * Finished first round of DD tests: field presence * Expanded field map to include all resources rather than just the one included in the Web API test * DD test generator intermediate check-in * EDMX Generator build enumerations generator * EDMX generator can generate valid EDMX files. See: /src/main/resources * Re-generated EDMX and BDD Tests from sanitized spreadsheet * Issue #30 - Convert Web API Server tests to Core, and remove Date Part comparisons * Updated DD BDD test format * Wrapped up test templates and generated new BDD acceptance tests * Cleaned up EDMX generation * Wrapped up first round of EDMX generation using Key (but not KeyNumeric). Metadata validation passes on generated file * Updated EDMX generator with Single and Multiple Enumerations * Updated reference XSLX, generated new EDMX and BDD Tests * Added updated BDD generators with improved tags and addedcomments with descriptions in the generated EDMX * Added generation of comments for both Standard Fields and Standard Enumerations, and also added a StandardEnumeration class and builder * Updated reference EDMX and BDD test generators to use Collections of enumerations rather than multi-select enum types. Added newly generated EDMX and BDD tests * Added the ability to generate Standard Relationships into NavigationProperty definitions * Added updated reference EDMX document * Updated Standard Relationships and re-generated EDMX and Open API definitions * Removed Partner Property Definitions and extra info logging * Added Data Dictionary tests for Collections, TODO: README and non-collection based enumerations * Issue #37 - added support for multiple enumerations that use IsFlags=true * Issue #37 - added better reporting * Issue #37 - Allow Edm.Double in addition to Edm.Decimal as per Cert group 10/1/2020 call * Issue #37 - added Gradle task to generate minimal 'pretty' reports. * Issue #37 - added updated .JAR and updated build.gradle * Issue #37 - Added additional error information to test results * Issue #37 - Added BDD generation for Lookups and stubs for testing. Prepended 'sample' to the RESOScript templates * Issue #37 - committing new BDD tests * Issue #37 - Added enumeration MAY and MUST support * Issue #37 - Added field-level synonyms checking and fixed invalid synonyms in DD sheet * Issue #37 - added test to check that closed enumerations only have standard values * Issue #37 - added better logging, including more info about standard vs. non-standard enumerations * Issue #37 - further improvement of OData type error messages * Issue #37 - Added fuzzy matching of enumerations using Levenshtein distance * Issue #37 - Improved Edit Distance behavior, added IgnoredItem and ignored.json, and updated Vha, Usda, and Fha with VHA, USDA, and FHA * Issue #37 - Added better error messages, --strict=true for strict testing mode, and metadata-report.json to output results to aggregation server * Issue #37 - Added auto-generating output directory as well as a generateCertificationReports_DD_1_7 task that takes -DpathToJsonResults from the cert task and creates a pretty report * Issue #37 - Added better error message formatting and handling, and help messages for gradle tasks * Issue #37 - updated README and fixed some of the existing Web API Commander JAR tasks, as well as improved the all-in-one generateCertificationReport task * Issue #37 - Cleaned up some items in the README and message output * Update README.md
2021-01-06 02:47:04 -05:00
'\n To enable strict mode, pass -Dstrict=true. All applicants MUST pass strict mode tests to be certified.\n'
dependsOn jar
doLast {
javaexec {
main = 'io.cucumber.core.cli.Main'
classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
systemProperties = System.getProperties()
pathToMetadata = System.getProperty('pathToMetadata', null)
pathToRESOScript = System.getProperty('pathToRESOScript', null)
if (pathToMetadata != null) {
certFileName = pathToMetadata
.substring(Math.max(pathToMetadata.lastIndexOf(File.separator)+1, 0), pathToMetadata.lastIndexOf('.'))
} else if (pathToRESOScript != null) {
certFileName = pathToRESOScript
.substring(Math.max(pathToRESOScript.lastIndexOf(File.separator)+1, 0), pathToRESOScript.lastIndexOf('.'))
}
DateFormat df = new SimpleDateFormat("yyyyMMddHHMMssS")
certOutputDir = 'DD1.7-results' + (certFileName != null ? '-' + certFileName : '') + '-' + df.format(new Date())
certJsonPath = certOutputDir + '/data-dictionary-1.7.json'
args = [
'--strict',
'--plugin',
'pretty',
'--plugin',
'json:' + certJsonPath,
'--plugin',
'html:' + certOutputDir + '/data-dictionary-1.7.html',
'--glue',
'org.reso.certification.stepdefs#DataDictionary',
'src/main/java/org/reso/certification/features/data-dictionary/v1-7-0',
'--tags',
(systemProperties.get('cucumber.filter.tags', '').toString().trim().length() > 0
? systemProperties.get('cucumber.filter.tags') : '')
]
}
}
}
task testIdxPayload_1_7() {
group = 'RESO Certification'
description = 'Runs IDX Payload 1.7 Automated Acceptance Tests.' +
'\n Example: ' +
'\n $ ./gradlew testIdxPayload_1_7 -DpathToRESOScript=/path/to/web-api-core-1.0.2.resoscript -DshowResponses=true\n'
dependsOn jar
doLast {
javaexec {
main = "io.cucumber.core.cli.Main"
classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
systemProperties = System.getProperties()
args = [
'--strict',
'--plugin',
'pretty',
'--plugin',
'json:build/idx-payload.dd-1.7.json',
'--plugin',
'html:build/idx-payload.dd-1.7.html',
'--glue',
'org.reso.certification.stepdefs#IDXPayload',
'src/main/java/org/reso/certification/features/payloads/idx-payload.feature'
]
}
}
}
Issue 37 Add Data Dictionary testing to the RESO Commmander (#41) * Added DD Spreadsheet, Command Line option, and parser * Initial check-in of DD generator and generated .feature files for 1.7 resources * Added file naming and header info to the generated files, regenerated Gluecode * Changed generator templates * Added support for additional DD resources and updated generator * Added new Commander build * Changed templates * Refactored generator and changed DD templates * Refactored WorksheetProcessor into base class * Added EDMX Generator * Added better EDMX generation * Intermediate check-in for EDMX processor * Added dependency injection of test containers, changed from Java8 Lambda test expressions to functions * Added skip logic and resource tags to generators * Generated new tests and improved skipped test messaging * Corrected Test Template * Finished first round of DD tests: field presence * Expanded field map to include all resources rather than just the one included in the Web API test * DD test generator intermediate check-in * EDMX Generator build enumerations generator * EDMX generator can generate valid EDMX files. See: /src/main/resources * Re-generated EDMX and BDD Tests from sanitized spreadsheet * Issue #30 - Convert Web API Server tests to Core, and remove Date Part comparisons * Updated DD BDD test format * Wrapped up test templates and generated new BDD acceptance tests * Cleaned up EDMX generation * Wrapped up first round of EDMX generation using Key (but not KeyNumeric). Metadata validation passes on generated file * Updated EDMX generator with Single and Multiple Enumerations * Updated reference XSLX, generated new EDMX and BDD Tests * Added updated BDD generators with improved tags and addedcomments with descriptions in the generated EDMX * Added generation of comments for both Standard Fields and Standard Enumerations, and also added a StandardEnumeration class and builder * Updated reference EDMX and BDD test generators to use Collections of enumerations rather than multi-select enum types. Added newly generated EDMX and BDD tests * Added the ability to generate Standard Relationships into NavigationProperty definitions * Added updated reference EDMX document * Updated Standard Relationships and re-generated EDMX and Open API definitions * Removed Partner Property Definitions and extra info logging * Added Data Dictionary tests for Collections, TODO: README and non-collection based enumerations * Issue #37 - added support for multiple enumerations that use IsFlags=true * Issue #37 - added better reporting * Issue #37 - Allow Edm.Double in addition to Edm.Decimal as per Cert group 10/1/2020 call * Issue #37 - added Gradle task to generate minimal 'pretty' reports. * Issue #37 - added updated .JAR and updated build.gradle * Issue #37 - Added additional error information to test results * Issue #37 - Added BDD generation for Lookups and stubs for testing. Prepended 'sample' to the RESOScript templates * Issue #37 - committing new BDD tests * Issue #37 - Added enumeration MAY and MUST support * Issue #37 - Added field-level synonyms checking and fixed invalid synonyms in DD sheet * Issue #37 - added test to check that closed enumerations only have standard values * Issue #37 - added better logging, including more info about standard vs. non-standard enumerations * Issue #37 - further improvement of OData type error messages * Issue #37 - Added fuzzy matching of enumerations using Levenshtein distance * Issue #37 - Improved Edit Distance behavior, added IgnoredItem and ignored.json, and updated Vha, Usda, and Fha with VHA, USDA, and FHA * Issue #37 - Added better error messages, --strict=true for strict testing mode, and metadata-report.json to output results to aggregation server * Issue #37 - Added auto-generating output directory as well as a generateCertificationReports_DD_1_7 task that takes -DpathToJsonResults from the cert task and creates a pretty report * Issue #37 - Added better error message formatting and handling, and help messages for gradle tasks * Issue #37 - updated README and fixed some of the existing Web API Commander JAR tasks, as well as improved the all-in-one generateCertificationReport task * Issue #37 - Cleaned up some items in the README and message output * Update README.md
2021-01-06 02:47:04 -05:00
task generateCertificationReport_DD_1_7() {
group = 'RESO Certification'
description = 'Runs Data Dictionary 1.7 tests and creates a certification report' +
'\n RESOScript Example:' +
'\n ./gradlew generateCertificationReport_DD_1_7 -DpathToRESOScript=/path/to/dd17.resoscript -Dminimal=true -Dstrict=true' +
'\n Metadata File Example:' +
'\n ./gradlew generateCertificationReport_DD_1_7 -DpathToMetadata=/path/to/RESODataDictionary-1.7.xml -Dminimal=true -Dstrict=true' +
Issue 37 Add Data Dictionary testing to the RESO Commmander (#41) * Added DD Spreadsheet, Command Line option, and parser * Initial check-in of DD generator and generated .feature files for 1.7 resources * Added file naming and header info to the generated files, regenerated Gluecode * Changed generator templates * Added support for additional DD resources and updated generator * Added new Commander build * Changed templates * Refactored generator and changed DD templates * Refactored WorksheetProcessor into base class * Added EDMX Generator * Added better EDMX generation * Intermediate check-in for EDMX processor * Added dependency injection of test containers, changed from Java8 Lambda test expressions to functions * Added skip logic and resource tags to generators * Generated new tests and improved skipped test messaging * Corrected Test Template * Finished first round of DD tests: field presence * Expanded field map to include all resources rather than just the one included in the Web API test * DD test generator intermediate check-in * EDMX Generator build enumerations generator * EDMX generator can generate valid EDMX files. See: /src/main/resources * Re-generated EDMX and BDD Tests from sanitized spreadsheet * Issue #30 - Convert Web API Server tests to Core, and remove Date Part comparisons * Updated DD BDD test format * Wrapped up test templates and generated new BDD acceptance tests * Cleaned up EDMX generation * Wrapped up first round of EDMX generation using Key (but not KeyNumeric). Metadata validation passes on generated file * Updated EDMX generator with Single and Multiple Enumerations * Updated reference XSLX, generated new EDMX and BDD Tests * Added updated BDD generators with improved tags and addedcomments with descriptions in the generated EDMX * Added generation of comments for both Standard Fields and Standard Enumerations, and also added a StandardEnumeration class and builder * Updated reference EDMX and BDD test generators to use Collections of enumerations rather than multi-select enum types. Added newly generated EDMX and BDD tests * Added the ability to generate Standard Relationships into NavigationProperty definitions * Added updated reference EDMX document * Updated Standard Relationships and re-generated EDMX and Open API definitions * Removed Partner Property Definitions and extra info logging * Added Data Dictionary tests for Collections, TODO: README and non-collection based enumerations * Issue #37 - added support for multiple enumerations that use IsFlags=true * Issue #37 - added better reporting * Issue #37 - Allow Edm.Double in addition to Edm.Decimal as per Cert group 10/1/2020 call * Issue #37 - added Gradle task to generate minimal 'pretty' reports. * Issue #37 - added updated .JAR and updated build.gradle * Issue #37 - Added additional error information to test results * Issue #37 - Added BDD generation for Lookups and stubs for testing. Prepended 'sample' to the RESOScript templates * Issue #37 - committing new BDD tests * Issue #37 - Added enumeration MAY and MUST support * Issue #37 - Added field-level synonyms checking and fixed invalid synonyms in DD sheet * Issue #37 - added test to check that closed enumerations only have standard values * Issue #37 - added better logging, including more info about standard vs. non-standard enumerations * Issue #37 - further improvement of OData type error messages * Issue #37 - Added fuzzy matching of enumerations using Levenshtein distance * Issue #37 - Improved Edit Distance behavior, added IgnoredItem and ignored.json, and updated Vha, Usda, and Fha with VHA, USDA, and FHA * Issue #37 - Added better error messages, --strict=true for strict testing mode, and metadata-report.json to output results to aggregation server * Issue #37 - Added auto-generating output directory as well as a generateCertificationReports_DD_1_7 task that takes -DpathToJsonResults from the cert task and creates a pretty report * Issue #37 - Added better error message formatting and handling, and help messages for gradle tasks * Issue #37 - updated README and fixed some of the existing Web API Commander JAR tasks, as well as improved the all-in-one generateCertificationReport task * Issue #37 - Cleaned up some items in the README and message output * Update README.md
2021-01-06 02:47:04 -05:00
'\n To enable strict mode, pass -Dstrict=true. All applicants MUST pass strict mode tests to be certified.\n'
dependsOn testDataDictionary_1_7
doLast {
javaexec {
System.setProperty('pathToJsonResults', certJsonPath)
System.setProperty('reportDescription', 'RESO Data Dictionary 1.7 Certification Report')
systemProperties = System.getProperties()
classpath = sourceSets.main.runtimeClasspath
main = 'org.reso.certification.reporting.CertificationReportGenerator'
}
}
}
task testDataDictionaryReferenceMetadata_1_7() {
group = 'RESO Certification'
description = 'Runs Data Dictionary tests against reference metadata\n'
doLast {
javaexec {
main = "io.cucumber.core.cli.Main"
Issue 37 Add Data Dictionary testing to the RESO Commmander (#41) * Added DD Spreadsheet, Command Line option, and parser * Initial check-in of DD generator and generated .feature files for 1.7 resources * Added file naming and header info to the generated files, regenerated Gluecode * Changed generator templates * Added support for additional DD resources and updated generator * Added new Commander build * Changed templates * Refactored generator and changed DD templates * Refactored WorksheetProcessor into base class * Added EDMX Generator * Added better EDMX generation * Intermediate check-in for EDMX processor * Added dependency injection of test containers, changed from Java8 Lambda test expressions to functions * Added skip logic and resource tags to generators * Generated new tests and improved skipped test messaging * Corrected Test Template * Finished first round of DD tests: field presence * Expanded field map to include all resources rather than just the one included in the Web API test * DD test generator intermediate check-in * EDMX Generator build enumerations generator * EDMX generator can generate valid EDMX files. See: /src/main/resources * Re-generated EDMX and BDD Tests from sanitized spreadsheet * Issue #30 - Convert Web API Server tests to Core, and remove Date Part comparisons * Updated DD BDD test format * Wrapped up test templates and generated new BDD acceptance tests * Cleaned up EDMX generation * Wrapped up first round of EDMX generation using Key (but not KeyNumeric). Metadata validation passes on generated file * Updated EDMX generator with Single and Multiple Enumerations * Updated reference XSLX, generated new EDMX and BDD Tests * Added updated BDD generators with improved tags and addedcomments with descriptions in the generated EDMX * Added generation of comments for both Standard Fields and Standard Enumerations, and also added a StandardEnumeration class and builder * Updated reference EDMX and BDD test generators to use Collections of enumerations rather than multi-select enum types. Added newly generated EDMX and BDD tests * Added the ability to generate Standard Relationships into NavigationProperty definitions * Added updated reference EDMX document * Updated Standard Relationships and re-generated EDMX and Open API definitions * Removed Partner Property Definitions and extra info logging * Added Data Dictionary tests for Collections, TODO: README and non-collection based enumerations * Issue #37 - added support for multiple enumerations that use IsFlags=true * Issue #37 - added better reporting * Issue #37 - Allow Edm.Double in addition to Edm.Decimal as per Cert group 10/1/2020 call * Issue #37 - added Gradle task to generate minimal 'pretty' reports. * Issue #37 - added updated .JAR and updated build.gradle * Issue #37 - Added additional error information to test results * Issue #37 - Added BDD generation for Lookups and stubs for testing. Prepended 'sample' to the RESOScript templates * Issue #37 - committing new BDD tests * Issue #37 - Added enumeration MAY and MUST support * Issue #37 - Added field-level synonyms checking and fixed invalid synonyms in DD sheet * Issue #37 - added test to check that closed enumerations only have standard values * Issue #37 - added better logging, including more info about standard vs. non-standard enumerations * Issue #37 - further improvement of OData type error messages * Issue #37 - Added fuzzy matching of enumerations using Levenshtein distance * Issue #37 - Improved Edit Distance behavior, added IgnoredItem and ignored.json, and updated Vha, Usda, and Fha with VHA, USDA, and FHA * Issue #37 - Added better error messages, --strict=true for strict testing mode, and metadata-report.json to output results to aggregation server * Issue #37 - Added auto-generating output directory as well as a generateCertificationReports_DD_1_7 task that takes -DpathToJsonResults from the cert task and creates a pretty report * Issue #37 - Added better error message formatting and handling, and help messages for gradle tasks * Issue #37 - updated README and fixed some of the existing Web API Commander JAR tasks, as well as improved the all-in-one generateCertificationReport task * Issue #37 - Cleaned up some items in the README and message output * Update README.md
2021-01-06 02:47:04 -05:00
classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
System.setProperty('pathToMetadata', 'src/main/resources/RESODataDictionary-1.7.xml')
systemProperties = System.getProperties()
Issue 37 Add Data Dictionary testing to the RESO Commmander (#41) * Added DD Spreadsheet, Command Line option, and parser * Initial check-in of DD generator and generated .feature files for 1.7 resources * Added file naming and header info to the generated files, regenerated Gluecode * Changed generator templates * Added support for additional DD resources and updated generator * Added new Commander build * Changed templates * Refactored generator and changed DD templates * Refactored WorksheetProcessor into base class * Added EDMX Generator * Added better EDMX generation * Intermediate check-in for EDMX processor * Added dependency injection of test containers, changed from Java8 Lambda test expressions to functions * Added skip logic and resource tags to generators * Generated new tests and improved skipped test messaging * Corrected Test Template * Finished first round of DD tests: field presence * Expanded field map to include all resources rather than just the one included in the Web API test * DD test generator intermediate check-in * EDMX Generator build enumerations generator * EDMX generator can generate valid EDMX files. See: /src/main/resources * Re-generated EDMX and BDD Tests from sanitized spreadsheet * Issue #30 - Convert Web API Server tests to Core, and remove Date Part comparisons * Updated DD BDD test format * Wrapped up test templates and generated new BDD acceptance tests * Cleaned up EDMX generation * Wrapped up first round of EDMX generation using Key (but not KeyNumeric). Metadata validation passes on generated file * Updated EDMX generator with Single and Multiple Enumerations * Updated reference XSLX, generated new EDMX and BDD Tests * Added updated BDD generators with improved tags and addedcomments with descriptions in the generated EDMX * Added generation of comments for both Standard Fields and Standard Enumerations, and also added a StandardEnumeration class and builder * Updated reference EDMX and BDD test generators to use Collections of enumerations rather than multi-select enum types. Added newly generated EDMX and BDD tests * Added the ability to generate Standard Relationships into NavigationProperty definitions * Added updated reference EDMX document * Updated Standard Relationships and re-generated EDMX and Open API definitions * Removed Partner Property Definitions and extra info logging * Added Data Dictionary tests for Collections, TODO: README and non-collection based enumerations * Issue #37 - added support for multiple enumerations that use IsFlags=true * Issue #37 - added better reporting * Issue #37 - Allow Edm.Double in addition to Edm.Decimal as per Cert group 10/1/2020 call * Issue #37 - added Gradle task to generate minimal 'pretty' reports. * Issue #37 - added updated .JAR and updated build.gradle * Issue #37 - Added additional error information to test results * Issue #37 - Added BDD generation for Lookups and stubs for testing. Prepended 'sample' to the RESOScript templates * Issue #37 - committing new BDD tests * Issue #37 - Added enumeration MAY and MUST support * Issue #37 - Added field-level synonyms checking and fixed invalid synonyms in DD sheet * Issue #37 - added test to check that closed enumerations only have standard values * Issue #37 - added better logging, including more info about standard vs. non-standard enumerations * Issue #37 - further improvement of OData type error messages * Issue #37 - Added fuzzy matching of enumerations using Levenshtein distance * Issue #37 - Improved Edit Distance behavior, added IgnoredItem and ignored.json, and updated Vha, Usda, and Fha with VHA, USDA, and FHA * Issue #37 - Added better error messages, --strict=true for strict testing mode, and metadata-report.json to output results to aggregation server * Issue #37 - Added auto-generating output directory as well as a generateCertificationReports_DD_1_7 task that takes -DpathToJsonResults from the cert task and creates a pretty report * Issue #37 - Added better error message formatting and handling, and help messages for gradle tasks * Issue #37 - updated README and fixed some of the existing Web API Commander JAR tasks, as well as improved the all-in-one generateCertificationReport task * Issue #37 - Cleaned up some items in the README and message output * Update README.md
2021-01-06 02:47:04 -05:00
args = [
'--strict',
'--plugin',
'pretty',
'--glue',
'org.reso.certification.stepdefs#DataDictionary',
'src/main/java/org/reso/certification/features/data-dictionary/v1-7-0'
]
}
}
}
//used for internal Commander Web API acceptance testing
test {
dependsOn assemble, compileTestJava, testDataDictionaryReferenceMetadata_1_7
doLast {
javaexec {
main = "io.cucumber.core.cli.Main"
classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
args = ['--strict',
'--plugin',
'pretty',
'--glue',
'org.reso.commander.test.stepdefs',
'src/test/java/org/reso/commander/test/features'
]
}
}
}
// task for Data Dictionary 1.7 in Jenkins
// TODO: consolidate this with the DD tests it was copied from after further testing.
task _jenkins_testDataDictionary_1_7() {
group = 'RESO Certification - Jenkins'
description = 'Runs Data Dictionary 1.7 Automated Acceptance Tests in a way that plays well with various Jenkins Plugins' +
"\n Commands used in this case are the same as self-testing locally, they're just passed to a Jenkins-specific config." +
"\n NOTE: Most people should never have to use this option unless they're using Jenkins for builds." +
'\n RESOScript Example:' +
'\n ./gradlew _jenkins_testDataDictionary_1_7() -DpathToRESOScript=/path/to/dd17.resoscript -DshowResponses=true -Dcucumber.filter.tags=""' +
'\n Metadata File Example:' +
'\n ./gradlew _jenkins_testDataDictionary_1_7() -DpathToMetadata=/path/to/RESODataDictionary-1.7.xml -Dcucumber.filter.tags=""' +
'\n To enable strict mode, pass -Dstrict=true. All applicants MUST pass strict mode tests to be certified.\n'
dependsOn jar
doLast {
certJsonPath = 'build/data-dictionary-1.7.jenkins.json'
javaexec {
main = 'io.cucumber.core.cli.Main'
classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
systemProperties = System.getProperties()
pathToMetadata = System.getProperty('pathToMetadata', null)
pathToRESOScript = System.getProperty('pathToRESOScript', null)
if (pathToMetadata != null) {
certFileName = pathToMetadata
.substring(Math.max(pathToMetadata.lastIndexOf(File.separator) + 1, 0), pathToMetadata.lastIndexOf('.'))
} else if (pathToRESOScript != null) {
certFileName = pathToRESOScript
.substring(Math.max(pathToRESOScript.lastIndexOf(File.separator) + 1, 0), pathToRESOScript.lastIndexOf('.'))
}
args = [
'--strict',
'--plugin',
'json:' + certJsonPath,
'--glue',
'org.reso.certification.stepdefs#DataDictionary',
'src/main/java/org/reso/certification/features/data-dictionary/v1-7-0',
'--tags',
(systemProperties.get('cucumber.filter.tags', '').toString().trim().length() > 0
? systemProperties.get('cucumber.filter.tags') : '')
]
}
javaexec {
System.setProperty('pathToJsonResults', certJsonPath)
systemProperties = System.getProperties()
classpath = sourceSets.main.runtimeClasspath
main = 'org.reso.certification.reporting.CertificationReportGenerator'
}
}
}
// task for Web API Server 1.0.2 Core Testing specific to Jenkins
task _jenkins_testWebApiServer_1_0_2_Core() {
group = 'RESO Certification'
description = 'Runs Web API Server 1.0.2 Core Automated Acceptance Tests in a way that plays well with various Jenkins Plugins' +
"\n Commands used in this case are the same as self-testing locally, they're just passed to a Jenkins-specific config." +
"\n NOTE: Most people should never have to use this option unless they're using Jenkins for builds." +
'\n RESOScript Example:' +
'\n $ ./gradlew _jenkins_testWebApiServer_1_0_2_Core -DpathToRESOScript=/path/to/web-api-core-1.0.2.resoscript -DshowResponses=true\n' +
'\n Note: by default the Web API tests assume Collection(Edm.EnumType).' +
'\n Pass -DuseCollections=false if using OData IsFlags=true.\n'
dependsOn jar
doLast {
certJsonPath = 'build/web-api-server.core.1.0.2.jenkins.json'
javaexec {
main = "io.cucumber.core.cli.Main"
classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
systemProperties = System.getProperties()
args = [
'--strict',
'--plugin',
'json:' + certJsonPath,
'--glue',
'org.reso.certification.stepdefs#WebAPIServer_1_0_2',
'src/main/java/org/reso/certification/features/web-api',
'--tags',
'@core-endorsement'
]
}
javaexec {
System.setProperty('pathToJsonResults', certJsonPath)
systemProperties = System.getProperties()
classpath = sourceSets.main.runtimeClasspath
main = 'org.reso.certification.reporting.CertificationReportGenerator'
}
}
}