All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Please mark backwards incompatible changes with an exclamation mark at the start.
- ! Updated the
gitgem dependency from~> 1.8to~> 3 - ! Set the minimum Ruby version requirement to
3.1.0
- Dragnet no longer crashes when an invalid / non-existing SHA1 is used in a MTR.
- A bug that caused Dragnet to crash during a multi-repo mode verification in which all the repositories listed in the MTR passed the verification.
- A
--number-only/-nswitch to the--versionCLI command that only prints the version number.
- Dragnet no longer crashes when generating an HTML report for a repository hosted on Github.
- The JSON export now includes the path to the MTR files.
- The
descriptionfield will now be rendered as Markdown in the HTML report.
- Made the date/time format used for the
started_atandfinished_atattributes in the exported JSON files stable.
- The JSON file produced when the
-eCLI switch is given now includes:- The
started_at,finished_atandruntimeattributes under theverification_resultstructure. - A copy of the
started_atandfinished_atattributes directly in each of the exported objects (This is being added temporarily for backwards-compatibility reasons and will be removed later).
- The
- Fixed the rendering of array-type Test Record IDs in the HTML report. They are
no longer directly rendered with the extra characters added by Ruby's default
#to_smethod. - Fixed a
NoMethodErrorthat appeared after the release of ActiveSupport 7.1.
- Fixed an issue that caused the validation to fail when the listed files or
glob patterns had a
/at the beginning.
- The
Explorerclass will now log all the found MTR files.
- Fixed a bug where the validated and transformed meta-data did not get assigned to the TestRecord. This, in turn, caused issues when rendering the HTML report since it assumes that these attributes will be arrays.
- ! Updated
activesupportfrom~> 6to~> 7 - ! Set the minimum Ruby version for the project to
2.7.0
- The "Tester name" attribute will only be visible in the HTML report when the
MTR has a value in the
namefield. - The
nameattribute of the MTRs will now be validated, only strings and arrays of strings are allowed now.
- Added the
test_methodandtc_derivation_methodfields to the JSON and HTML exports. - Added the
MetaDataFieldValidatorclass. - Added the
test_methodandtc_derivation_methodattributes to theTestRecordclass. - Added validation for the
test_methodandtc_derivation_methodattributes of the MTRs, they can only have strings or arrays of strings.
- Added the
Exporters::IDGeneratorclass. - Added the
DescriptionValidatorclass.
- Changed the
JSONExporterclass. It now makes use of theIDGeneratorclass to attach a unique ID to each of the exported MTRs. - Added validation for the
descriptionnfield of the MTRs. Only Strings are allowed now.
- Added a
rescueto thesoftware_branchesmethod in theHTMLExporterclass to keep it from crashing when it cannot read the branches from one of the repositories.
- Moved the
repo_baseandrelative_to_repomethods from theHTMLExporterclass to theRepositoryHelpermodule. - Moved the
initializemethod from theHTMLExporterclass down to the parentExporterclass. - Changed the
Exporterclass to allow it to export results to JSON format.
- Fixed a bug that caused the verification to pass in multi-repo set-ups even
when there were changes in the listed files when
.was given as a path to thecheckcommand.
- Fixed an issue with how the file names were being displayed in the HTML report
when the repository's path was the current working directory: (
.).
- Added the
--multi-repocommand line switch. This switch tells Dragnet that it is running in a multi-repo environment and will prevent it from assuming that the given path is a Git repository. - Dragnet can now recognize and validate MTR files that include the
reposattribute (to reference files from multiple repositories). - Added the
branches_withandbranches_with_headmethods to theRepositoryclass.
- Updated
activesupportto version 6.x - Updated
jay_apito version 15.x - Changed the minimum Ruby version requirement for the gem to 2.5.0
- Two new entity objects were introduced
Dragnet::TestRecordandDragnet::VerificationResultthese will be used instead of the previously used Hashes. This allows the logic of validation and value evaluation to be centralized. - The validation code for the Test Records was moved from
Dragnet::Validators::DataValidatorto theDragnet::Validators::Entities::TestRecordValidatorclass and to a series of field validation classes inside theDragnet::Validators::Fieldsmodule.
- Introduced the
Dragnet::Exporterclass which handles exporting the results of the verification process to different formats (for the moment only HTML is available, viaDragnet::Exporters::HTMLExporter) - Changed the CLI to receive the
--exportoption. (Which can be given multiple times). - Added the
Repositoryclass. A thin wrapper around the Git class. It just houses some utilitarian methods.
- Removed a stray "require 'pry'" from a file.
- Added "require 'colorize'" for validator and verifier classes.
- Basic structure of the gem
- Added the basic classes for the Gem's CLI
- Added the
Explorerclass. The class searches for Manual Test Record files on a given path with a set of glob patterns. - Added the
checkcommand to the CLI. - Implemented the
Validatorclass. - Added
jay_apito the development dependencies in order to be able to use theTestDataCollectorclass. - Adds configuration for the
TestDataCollectorclass. - Enables the collection of Test Data for releases.
- Added the
Verifierclass. The class verifies the actual test records and checks if there have been any changes since the commit specified in the MTR.