Update validate_all.sh

pull/918/head
Alexander Petree 2024-01-25 21:47:50 -08:00 committed by GitHub
parent 9f5554ab9f
commit 5882751986
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 67 additions and 45 deletions

View File

@ -1,47 +1,59 @@
#!/bin/bash #!/bin/bash
# This file launch all validation of the jsons and schemas # This file launch all validation of the jsons
# and schemas
# By default, It stop on file not commited. # By default, It stop on file not commited.
# you could
# you could test with command ./validate_all.sh something test with
# command ./validate_all.sh something
# Check
# Check Jsons format, and beautify Jsons format, and
./jq_all_the_things.sh beautify
./jq_all_the
_things.sh
rc=$? rc=$?
if [[ $rc != 0 ]]; then if [[ $rc != 0 ]]; then
exit $rc
fi
exit $rc
fi
set -e set -e
set -x set -x
diffs=`git status --porcelain | wc -l` diffs=`git status --porcelain | wc -l`
if ! [ $diffs -eq 0 ]; then if ! [ $diffs -eq 0 ]; then
echo "ERROR: Please commit your changes, and make sure you run ./jq_all_the_things.sh before committing." echo "ERROR: Please commit your changes, and make sure you run ./jq_all_the_things.sh before
if [ $# -eq 0 ]; then committing."
if [
$# -eq 0 ]; mthen
exit 1 exit 1
fi fi
fi fi
# remove the exec flag on
the json files
# remove the exec flag on the json files find -name
find -name "*.json" -exec chmod -x "{}" \; "*.json" -exec chmod
-x "{}" \;
diffs=`git status --porcelain | wc -l` diffs=`git status
--porcelain | wc -l`
if ! [ $diffs -eq 0 ]; then if ! [ $diffs -eq 0 ]; then
echo "ERROR: Please make sure you run remove the executable flag on the json files before committing: find -name "*.json" -exec chmod -x \"{}\" \\;" echo "ERROR:
Please make sure you run remove the
executable flag
on the json files before committing: find
-name "*.json"
-exec
chmod -x \"{}\" \\;"
exit 1 exit 1
fi fi
# Validate schemas # Validate schemas
for dir in clusters/*.json for dir in clusters/*.json
do do
echo -n "${dir}: " echo -n
jsonschema -i ${dir} schema_clusters.json "${dir}:
rc=$? "jsonschema
-i ${dir}
schem_clusters.json
rc=$?
if [[ $rc != 0 ]]; then if [[ $rc != 0 ]]; then
echo "ERROR on ${dir}" echo "ERROR on ${dir}"
exit $rc exit $rc
@ -51,41 +63,51 @@ done
for dir in galaxies/*.json for dir in galaxies/*.json
do do
echo -n "${dir}: " echo - "${dir}: "
jsonschema -i ${dir} schema_galaxies.json jsonschema -i ${dir} schema_galaxies.json
rc=$? rc=$?
if [[ $rc != 0 ]]; then if [[ $rc != 0 ]]; then
echo "ERROR on ${dir}" echo "ERROR on ${dir}" exit $rc
exit $rc
fi fi
echo '' echo ''
done done
for di
for dir in misp/*.json r in misp/*.json
do do
echo -n "${dir}: " echo -n
jsonschema -i ${dir} schema_misp.json "${dir}:
" json
schema
-i $
{dir}
schema
_misp.json
rc=$? rc=$?
if [[ $rc != 0 ]]; then if [
[ $rc != 0 ]]; then
echo "ERROR on ${dir}" echo "ERROR on ${dir}"
exit $rc exit $rc
fi fi
echo '' echo ''
done done
for dir in vocabularies/*/*.json for dir in vocabularies/*/*.json
do do
echo -n "${dir}: " echo -n "${dir}: " jsonschema -i ${dir}
jsonschema -i ${dir} schema_vocabularies.json schema_vocabularies.json
rc=$? rc=$?
if [[ $rc != 0 ]]; then if [[ $rc
echo "ERROR on ${dir}" != 0 ]]; then
echo "ERROR on ${dir}"
exit $rc exit $rc
fi fi
echo '' echo ''
done done
# check for empty
# check for empty strings in clusters strings in clusters
python3 -m tools.chk_empty_strings python3 -m tools
.chk_empty_strings
echo "If you see this message, all is probably well." echo "If you see
this
message, all
is
lprobably