Commit Graph

44 Commits

Author SHA1 Message Date
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 d6a2ce3649
Update README.md
Added updated info about OpenJDK.
2021-06-02 15:34:47 -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 f4c700a34c
Update README.md (#13) 2020-04-01 15:56:49 -07:00
Joshua Darnell fec45b94ac
Update README.md 2020-03-23 18:46:23 -07:00
Joshua Darnell b09c21c3b4
Update README.md 2020-03-23 18:44:01 -07:00
Joshua Darnell a788bf0309 Removed testing and stats from the Commander jarfile during runRESOScript option, and updated RESOScript templates 2020-03-18 16:00:13 -07:00
Joshua Darnell 2667df3b30 Adding checks for DataSystem resource and new Gold template (generic.gold.resoscript), and updated documentation. 2020-03-18 11:15:14 -07:00
Joshua Darnell 5fdf4f9158 refactored getEntities to use callback, and renamed the OAI steps to OpenAPI 2020-03-17 17:27:22 -07:00
Joshua Darnell 5552e6f8e3 pre-alpha of DDCert2 tool 2020-03-10 00:23:35 -07:00
Joshua Darnell ac49c61929 Basic DD skeleton with .feature files 2020-03-09 22:36:08 -07:00
Joshua Darnell a2b8e6b30d finished all tests, a few platinum tests are still in question and need additional work 2020-03-09 21:07:24 -07:00
Joshua Darnell 467c06ea6a updated generic.resoscript, and also addded versioning. Added first test 2020-03-09 18:10:59 -07:00
Joshua Darnell 16c34664d0 Moved exception handling for metadata validation to .feature file rather than helper class 2020-03-08 12:26:33 -07:00
Joshua Darnell 76eaa31271 Merge branch 'automated-v1' 2020-03-08 12:09:43 -07:00
Joshua Darnell 1701f68f40 Updated README to show current output from metadata checker 2020-03-08 12:01:13 -07:00
Joshua Darnell 0ae0fee43e Tightened up metadata checking, including checking for given resource and select list. Added better debugging info. Updated README. 2020-03-08 11:46:11 -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 317436996b adding convenience methods for Gold and Platinum Web API Certs, Updated Docker Instructions and README 2020-03-05 21:15:43 -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 b7925137d9 Merge branch 'master' into automated-v1 2020-02-25 19:32:16 -08:00
Joshua Darnell cffb8bf9e2
Update README.md 2020-02-25 14:37:08 -08:00
Joshua Darnell fdf2839bd6
Update README.md
README - Modified paths for windows.
2020-02-25 14:19:17 -08:00
Joshua Darnell 157f78fec9
Update README.md 2020-02-25 14:14:06 -08:00
Joshua Darnell 57016aec78 assert stepdef cleanup 2020-02-22 14:25:21 -08:00
Joshua Darnell f42526d821
Update README.md
Additional instructions for running automated test suite.
2020-02-22 13:58:55 -08:00
Joshua Darnell f1b929833b Merge branch 'master' into automated-v1 2020-02-22 11:23:30 -08:00
Joshua Darnell faf9860fe9 Test REQ-WA103-QO1 working, added assert handling for cases with HTTP Client exceptions 2020-02-22 11:23:06 -08:00
Joshua Darnell bf450b137f
Update README.md 2020-02-21 02:03:08 -08:00
Joshua Darnell d7d078d264
Update README.md 2020-02-21 02:00:58 -08:00
Joshua Darnell 900ea813db
Update README.md
Minor tweaks to README and added TOC.
2020-02-21 00:45:56 -08:00
Joshua Darnell 66f897c6d4
Update README.md
Fixed CodeFactor badge.
2020-02-20 23:35:00 -08:00
Joshua Darnell be1195f7e6
Update README.md
Added basic instructions on how to use Automated testing. See section entitled "Automated Web API Testing (beta)". cc: @dgmyrek
2020-02-20 23:32:54 -08:00
Joshua Darnell e516ed4604
Updating CodeFactor link 2020-02-19 00:17:43 -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 115ae121d9
Dockerize (#22)
This change adds a `Dockerfile` which uses multi-stage build directives
to build a minimal image of the `web-api-commander` jar file.

This will allow for easily reproducible builds across development
environments.

The docker image artifact can also be used in environments where it is not
convenient to install Java such as a shared Jenkins environment.

* Update README.md

Co-authored-by: Alexander Paz <alexjpaz@users.noreply.github.com>
2020-02-12 10:24:02 -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
Joshua Darnell 486cf4e65d Uri parser fixes (#2)
* auth improvements WIP
* fixing strange URL errors (a bit hackishly)
* changing Actions to use URIs rather than Entity Names and Service Roots. Also cleaned up README.
* cleaning up imports and reformatting code

Improved transfer workflow and command line options (#6)

* Improved transfer workflow and command line options
* fixed command line issues and URI parsing
* Updated README

Update README.md
Removed metadata
2019-05-03 16:32:14 -06:00
Joshua Darnell d1a804fa91 initial check-in of prototype
* working API commander
* adding XSLT for EDMX -> OAI
* moved sample metadata files to their own directory.
* improvements to readability and handling
* working serializer
* build producing working JAR in /out/artifacts/...
* added saveRawGetRequest and fixed readEntities
* added support for filter expressions in readEntities, which was also re-written
* adding more correct command line handling
* adding README and ready for PR
* added further exception handling to validateMetadata
2019-03-31 22:26:58 -07:00