Commit Graph

25 Commits

Author SHA1 Message Date
Joshua Darnell 4185abe338
Issue #101: Update Log4J (#102) 2021-12-30 15:16:21 -08:00
Joshua Darnell e33ff98a61
Issue #96: Migrate Node Utils to Separate Repo (#98)
* Issue #96: Migrate Node Utils to Separate Repo
* Updated gradle dependencies, retested builds
2021-12-20 16:46:19 -08:00
Joshua Darnell 9181ef192d
Support for Field and Lookup Resources (#95)
* Issue #85: bump Web API Core version to 2.0.0
* Added strict flag=true by default for metadata and availability checks. JSON Schema WIP.
* Issue #88: added batch test runner as well as improved Web API Messages
* Issue #91: added field availability metrics
* Issue #91: availability and field count rollups
* Issue #91: calculate lookup value availabilities
* Issue #91: lookup rollups
* Issue #91: added lookup availability
* Issue #91: resource availability calculations
* Issue #91: adding comments and addressing null values
* Issue #91: cleanup lookup iterations
* Issue #88: added XMLMetadataToJSONSchemaSerializer
* Issue #93: Added Field and Lookup resource
* Issue #93: Updated README
2021-12-12 21:22:42 -08:00
Joshua Darnell c6457d5329
Updated configurations and removed Cucumber Reports (#81)
- Removed all Cucumber Reporting steps and code, updated README to reflect the removal.
- Moved all output files to `build/certification` within the project directory and put them under results, reports, and cucumberJson (for downstream Cucumber Reporting plugins, such as that in Jenkins).
- Addded GradleDocker config file so containers may be built that specifically run Docker tasks.
- Added GitHub Workflow to add a GradleDocker image to the GitHub Docker registry on commit to main.
- Reorganized and updated README.
- removed additional --strict flags in Cucumber JVM (since they're deprecated).
- Fixed issue with synonym checker not running in when `-Dstrict=true` is passed.
- Separated payloads and IDX backing glue code.
2021-07-19 07:47:12 -07:00
Joshua Darnell 8c68e140c9
Payloads Sampling Tool (#75)
* Sampling with SHA 256 scoring
* Optional multi-threaded fetching and use of timezone offsets
* Data availability reports (availability-report.json in the /build directory)
* Disabled logging, changed payload sampling logic, encoded files for payload fields only, and added standard cookie spec headers to fix warnings
* Cleaned up logging and build.gradle
* Added line to quiet velocity logs
2021-07-13 16:25:03 -07:00
Joshua Darnell 19f72345b1
Make Report Generator Friendlier with Jenkins and Build Processes (#72)
* Added file generation to DD Metadata tests
* Updated most libraries and build.gradle accordingly
* Fixed annotation processor so it read Term instead of Type
2021-04-13 16:57:10 -07:00
Joshua Darnell 4ea56248f0
Add jenkins dd gradle task (#66)
* Added minimal DD build task for Jenkins environments
* Added Web API Core Jenkins Job
* Updated Olingo client and Guice
* Updated build.gradle
* Issue #55 - added =true test and reorganized tests, as well as generated new reference metadata and other artifacts
* Issue #52 - add better error messages for fetch-by-key test
* Fixed unreported issue with generateDDAcceptanceTests not working from the command line
* Improved metadata reports and updated reference metadata
* Improvements to Metadata and Metadata Report Generation. Added JSON schema for report format
* Issue #61 - added DDL generation to the RESO Commander for Reference Server
* Issue #61 - updated template .sql DDL files in /src/main/resources/ddl
* Issue #61 - added Lookup resource Inserts to DDL
* Issue #61 - fixed formatting issues
* Issue #51 - Improved Jenkins Builds in the Commander
* Fix failing tests with the mock Add/Edit spec
* Clean up tags for tests
* Issue #51 - improved Jenkin behavior, and added the ability to pass a set of reference queries
* Issue #51 - cleaned up constants
* Issue #51 - improved Jenkins Builds. Added Scenario.Write messages for DD 1.7 tests.
* Issue #51 - added better support for error handling in the testing scenarios, as well as fast failure on DD testing
2021-03-31 19:24:27 -07:00
Joshua Darnell bf1c55c818
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 00:09:01 -08:00
Joshua Darnell e6e1af4b5d
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-05 23:47:04 -08:00
Joshua Darnell 7428d7142c
Issue #30 - Convert Web API Server tests to Core, and remove Date Par… (#31)
Issue #30 - Convert Web API Server tests to Core, and remove Date Part comparisons
2020-06-16 10:19:48 -07:00
Joshua Darnell a2843cad82
Issue #25 - Increase Fractional Seconds Precision (#28)
* Added improved fractionalsecond Commander acceptance tests, need to backfill into Web API server cert
* Added Date tests
* Refactored fractionalseconds tests to accept greater precision, and refactored Web API Server tests to use new payload comparison helpers. Also added more tests.
* Changed private access of Timestamp compare functions to public so they could be used from other test functions
* Updated if/then statetments to use switch() instead
* Generated new Commander Jar
2020-05-07 17:44:15 -07:00
Joshua Darnell cd3fd1ab84
Set encoding to UTF-8 and Fix Comparison Tests (#27)
* Fixed issue with UTF-8 encodings not being picked up from the Windows console
* Additional fixes to comparison tests
* Added tests for Integer comparisons
* Added String comparison tests
* Added timestamp comparison tests
* Renamed test files to match conventions
* Added Fractional Date Part tests
* Generated automated acceptance tests for remainder of compare() operations in TestUtils
* Checked in new Commander build
2020-04-27 20:23:49 -07:00
Joshua Darnell 476d4b00ce Added Commander acceptance testing for XML and Metadata checking 2020-04-08 22:15:31 -07:00
Joshua Darnell 13adc2cc24
Add Better XML parsing and Error Handling (#8)
* Added lazy loading of field hash, better XML handling and validation, additional validation for OData 4.0 and 4.01, and updated the RESOScript templates
* Added un-interpreted attempt to download and validate metadata if the Olingo client can't parse the response. Improved messaging.
* Changed XML metadata retrieval to fetch raw response so it could be validated using OASIS XSDs
* Added improved error message handling
2020-04-05 16:21:23 -07:00
Joshua Darnell 2677a2646f Added DataSystem schema validation when the DataSystem resource is present 2020-03-18 09:12:49 -07:00
Joshua Darnell 6f8d69848c generated glue code and built basic Gradle tasks for DD 1.5 and 1.6 2020-03-10 00:07:37 -07:00
Joshua Darnell ac49c61929 Basic DD skeleton with .feature files 2020-03-09 22:36:08 -07:00
Joshua Darnell a3687b9f6a Added convenience methods for Gold and Platinum Web API Certs, Updated Docker Instructions and README
Tightened up metadata checking, including checking for given resource and select list. Added better debugging info. Updated README.
2020-03-08 03:47:17 -07:00
Joshua Darnell d412f0bdd4 Added support for Asc, Desc timestamp comparison operators 2020-03-02 00:11:06 -08:00
Joshua Darnell 229b6878c4 added null checks to the generic.resoscript and better Integer/String handling for Key field comparisons 2020-02-27 15:38:21 -08:00
Joshua Darnell 3f82b07d7f added support for single-valued enumeration checking 2020-02-27 11:00:18 -08:00
Joshua Darnell b84d62620a Updating Dockerfile, generic.resoscript, and removing assertions from the runRESOScript action. Gradle should be used for assertion testing. See README 2020-02-26 18:38:50 -08:00
Joshua Darnell 8fb7fb06ed rebuilt for Java 1.8 and cleaned up some of the logging and int compare tests 2020-02-25 23:51:27 -08:00
Joshua Darnell 9f7809906e
Automated-v0 (#23)
* Support added for RESOScript files
* Reading and executing RESOScript files with automated testing works
* Refactored XML/Edm Metadata parsing
* Gradlezied automated testing
* Updated generic.resoscript template
* Updated Docs.
* Added XML validation prior to Metadata validation
* Added backwards compatibility support with older versions of gradle
* Extended builder refactoring
* Renamed Main to App and moved output directories to current working directory
* Updated generic.resoscript, added primitive Assert handling, removed /out and checked in /build in keeping with Gradle's default
* Stats generation and recursive parameter resolution, plus new reference generic.resoscript.
* Added Stats, Metallic Levels Report, Capabilities Report, and changes to generic.resoscript
* Refactored RequestStatus into Request, and added more enhanced statistics
* Refactored metadata report generator and added CertificationReport.txt, including metadata report
* Added Cucumber scripts for testing
* Gradle working from command line with pathToRESOScript variable
* HTML Reporting working
* New commander build
* Fixed some minor bugs with --runRESOScript
* Upgraded dependencies and got tests through DataSystem working
* Refactored step defs and features, hopefully better flow
* Metadata through $skip tests working
2020-02-18 23:43:55 -08:00
Joshua Darnell f311dd2ba4
Resoscript-v0 (#17)
Release Notes:
* support added for RESOScript files
* tidied up output
* refactored XML/Edm Metadata parsing
* gradleized and upgraded to log4j2
* added generic.resoscript template
* added support for log4j1 and specifying java version
* added docs
* added XML validation prior to Metadata validation
* backwards compatibiliy with older versions of gradle
* extended builder refactoring
* renamed Main to App and moving output directories to current working directory
* updated generic.resoscript, added primitive Assert handling, removed /out and checked in /build in keeping with Gradle's default
* stats generation and recursive parameter resolution, plus new reference generic.resoscript
* dockerized (thanks @alexjpaz)
* Adding Stats, Metallic Levels Report, Capabilities Report, and changes to generic.resoscript
* refactored RequestStatus into Request, and added more enhanced statistics
* minor fixes from codefactor check
* refactored metadata report generator and added CertificationReport.txt, including metadata report
* Remove a space in generic.resoscript

Co-authored-by: Alexander Paz <alexjpaz@users.noreply.github.com>
2020-02-11 19:00:05 -08:00