-
Notifications
You must be signed in to change notification settings - Fork 183
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Round Trip Conversions and Testing #405
Conversation
Remove some JSON testing custom code and pip installs for Python in favor of AJV-CLI. Added XPath to the XML comparison code. Testing for XMLDIFF.
No longer using several external libraries
FIxed git ignores Changed from -v check to something more compatible
Remove some JSON testing custom code and pip installs for Python in favor of AJV-CLI. Added XPath to the XML comparison code. Testing for XMLDIFF.
No longer using several external libraries
FIxed git ignores Changed from -v check to something more compatible
Fixed the -v statements to use a more portable -z statement.
Removes XMLDiff Adds exit code to the Python code, does error count tracking
Working for all NIST 800-53 checks (FedRAMP currently bombing)
Printf messages are now color coded for improved readability in large log files
Round trip files now written to the Temp directory, this directory added to build artifacts in CI/CD
Build files for roundtrip now carry their base naming conventions for troubleshooting
Initial Attempt
Typo on base image
Fix CI/CD bug finding Python/Saxon scripts
Get etree.parse to work in CI/CD
Use the supplied build directory
Adds Maven to the Circle CI image
@david-waltermire-nist I haven't refactored to use your colors yet. Wanted to get the base functionality over so that you and @wendellpiez could see the errors in the conversions. Did my best to match your approach on the scripts and to use the same dynamic logic for parsing files. |
I had to make a new PR (#410) to address the following issues:
|
@david-waltermire-nist - A few clarifications on the PR from the comments above:
When you are free, I would like to chat further on how I can best remedy going forward to ensure we meet your expectations in the last sprint. |
@howieavp76 - Some comments on your comments.
It should have written the build artifacts directly to the build directory. No need for a temp directory or a copy. This is how all the other scripts work.
No need. I already cleaned all the extraneous files up. I also had to deal with a few git merges that left the commit history a bit of a mess. I had to resolve a ton of conflicts as a result. Spent about an hour working though all of that. In the future, you will want to use
I asked during the last team meeting to not check in the Saxon JAR. This can be downloaded using Maven. This is how the rest of the build is working. No need to do anything special for the round trip script. You had the CircleCI config halfway setup to do this by installing maven and running the Saxon-HE dependency retrieval. Unfortunately, you didn't use that retrieved version of Saxon in the script.
I fixed the issue with the templates. This is an honest mistake. No worries on this template issue.
There is no need to discuss this any further, as there are no actions for you to take. I rewrote the Python script and batch file, and reworked the CircleCI config to get it all working. My new code has been pulled from PR #410 into master. It's running in the CI/CD pipeline now. @wendellpiez and I worked through the round trip issues, and everything is building clean now with the round trip validations all working. I had to do this work last week to give @wendellpiez the needed time to work through the conversion issues. Without completing this work myself, we would not be able to make our release deadline later this week. We couldn't wait any longer to get this functionality working and deployed. |
Committer Notes
This PR provides round trip testing of conversions from XML->JSON->XML. It has been refactored to work within the CI/CD pipeline and to match the structure/template of Bash code for other scripts. It is now config driven, temporal artifacts are published as CI/CD artifacts for troubleshooting, and the readme is updated with the latest info on how to run the scripts. Unnecessary Python packages were removed and .gitignores updated to reflect dynamic builds in CI/CD.
Some tests do fail but the failures appear to be accurate. Some work is still needed in the conversions and adding these tests to the CI/CD pipeline will assist with troubleshooting.
This PR is related to #342 and #343 Issues.
All Submissions:
Changes to Core Features: