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.
- 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
description
field will now be rendered as Markdown in the HTML report.
- Made the date/time format used for the
started_at
andfinished_at
attributes in the exported JSON files stable.
- The JSON file produced when the
-e
CLI switch is given now includes:- The
started_at
,finished_at
andruntime
attributes under theverification_result
structure. - A copy of the
started_at
andfinished_at
attributes 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_s
method. - Fixed a
NoMethodError
that 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
Explorer
class 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
activesupport
from~> 6
to~> 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
name
field. - The
name
attribute of the MTRs will now be validated, only strings and arrays of strings are allowed now.
- Added the
test_method
andtc_derivation_method
fields to the JSON and HTML exports. - Added the
MetaDataFieldValidator
class. - Added the
test_method
andtc_derivation_method
attributes to theTestRecord
class. - Added validation for the
test_method
andtc_derivation_method
attributes of the MTRs, they can only have strings or arrays of strings.
- Added the
Exporters::IDGenerator
class. - Added the
DescriptionValidator
class.
- Changed the
JSONExporter
class. It now makes use of theIDGenerator
class to attach a unique ID to each of the exported MTRs. - Added validation for the
descriptionn
field of the MTRs. Only Strings are allowed now.
- Added a
rescue
to thesoftware_branches
method in theHTMLExporter
class to keep it from crashing when it cannot read the branches from one of the repositories.
- Moved the
repo_base
andrelative_to_repo
methods from theHTMLExporter
class to theRepositoryHelper
module. - Moved the
initialize
method from theHTMLExporter
class down to the parentExporter
class. - Changed the
Exporter
class 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 thecheck
command.
- 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-repo
command 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
repos
attribute (to reference files from multiple repositories). - Added the
branches_with
andbranches_with_head
methods to theRepository
class.
- Updated
activesupport
to version 6.x - Updated
jay_api
to version 15.x - Changed the minimum Ruby version requirement for the gem to 2.5.0
- Two new entity objects were introduced
Dragnet::TestRecord
andDragnet::VerificationResult
these 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::DataValidator
to theDragnet::Validators::Entities::TestRecordValidator
class and to a series of field validation classes inside theDragnet::Validators::Fields
module.
- Introduced the
Dragnet::Exporter
class 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
--export
option. (Which can be given multiple times). - Added the
Repository
class. 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
Explorer
class. The class searches for Manual Test Record files on a given path with a set of glob patterns. - Added the
check
command to the CLI. - Implemented the
Validator
class. - Added
jay_api
to the development dependencies in order to be able to use theTestDataCollector
class. - Adds configuration for the
TestDataCollector
class. - Enables the collection of Test Data for releases.
- Added the
Verifier
class. The class verifies the actual test records and checks if there have been any changes since the commit specified in the MTR.