RSpec Code Examples

 

 

Dragnet::Validators::Fields::ReposValidator
#validate
when the value is nil
returns nil0.00458s
when the value is neither a hash nor an array
behaves like Dragnet::Validators::Fields::FieldValidator#validate when the validation fails
raises a Dragnet::Errors::ValidationError0.00099s
when the value is a Hash
behaves like #validate with an Array of Hashes
returns an array of Repo objects0.00102s
returns an array0.00056s
calls validate on each of the Repo objects0.00042s
creates a Repo object for each of the Hashes0.00034s
when the value is an Array
when the array contains only hashes
behaves like #validate with an Array of Hashes
calls validate on each of the Repo objects0.00039s
returns an array of Repo objects0.00030s
returns an array0.00028s
creates a Repo object for each of the Hashes0.00040s
when the array contains something that is not a Hash
behaves like Dragnet::Validators::Fields::FieldValidator#validate when the validation fails
raises a Dragnet::Errors::ValidationError0.00025s
when the array is empty
returns nil0.00021s
Dragnet::Validators::Fields::IDValidator
#validate
when the array of IDs has something that is not a string
behaves like Dragnet::Validators::Fields::FieldValidator#validate when the validation fails
raises a Dragnet::Errors::ValidationError0.00011s
when the id key has an invalid data type
behaves like Dragnet::Validators::Fields::FieldValidator#validate when the validation fails
raises a Dragnet::Errors::ValidationError0.00009s
with a valid ID
doesn't raise any errors0.00008s
when the id key has multiple IDs in a string
behaves like Dragnet::Validators::Fields::FieldValidator#validate when the validation fails
raises a Dragnet::Errors::ValidationError0.00010s
when the data doesn't have an id key
behaves like Dragnet::Validators::Fields::FieldValidator#validate when the validation fails
raises a Dragnet::Errors::ValidationError0.00008s
Dragnet::Validators::Fields::FilesValidator
#validate
with a single string
turns it into an array0.00009s
when the array on the files key contains something that is not a string
behaves like Dragnet::Validators::Fields::FieldValidator#validate when the validation fails
raises a Dragnet::Errors::ValidationError0.00009s
with an array of files
doesn't raise any errors0.00007s
when the files key has an invalid type
behaves like Dragnet::Validators::Fields::FieldValidator#validate when the validation fails
raises a Dragnet::Errors::ValidationError0.00009s
Dragnet::Exporters::HTMLExporter
#relative_to_repo
when the repository's path is the current working directory
returns the expected output0.02509s
when the repository's path is absolute
returns the expected output0.02183s
#percentage
returns the expected output0.00045s
report contents
includes the <script> tag for the Marked plug-in0.05186s
does not include the full repository path0.04637s
renders the description text with line breaks (<br />)0.04707s
lists the reasons for the failure/skipping of the test records0.04608s
uses the innerText attribute to remove the HTML tags before passing the text to Marked0.04649s
renders the descriptions in a <dd> element with the "md-description" class0.04564s
includes the script that transforms "descriptions" into Markdown0.04541s
list of MTR files
lists the MTR files that were successfully loaded0.04998s
lists the MTR files that couldn't be loaded0.04843s
#software_branches
when the current head is in multiple branches
returns the expected output0.04676s
when the current head is only in one branch
returns the expected output0.03866s
#review_status_badge
when the test record hasn't been reviewed
returns the expected output0.00051s
when the test record has no review status
returns the expected output0.00036s
when the test record has been reviewed
returns the expected output0.00033s
#test_record_id_to_string
when the ID of the TestRecord object is a String
returns the expected output0.00034s
when the ID of the TestRecord object is an Array
returns the expected output0.00035s
when the ID of the TestRecord object is an single-element Array
returns the expected output0.00036s
#test_records_by_requirement
returns the expected output0.00043s
colors from verification results
#verification_result_badge
when the verification result is passed
returns the expected output0.00036s
when the verification result is skipped
returns the expected output0.00032s
when the verification result is failed
returns the expected output0.00033s
#card_color
when the verification result is passed
returns the expected output0.00033s
when the verification result is failed
returns the expected output0.00032s
when the verification result is skipped
returns the expected output0.00036s
Dragnet::Exporters::Serializers::VerificationResultSerializer
#serialize
when the Verification Result doesn't have a reason
does not include the :reason key0.00112s
behaves like #serialize
includes the status of the Verification Result0.00035s
includes the started_at attribute0.00027s
produces a Hash0.00025s
includes the runtime attribute0.00025s
includes the finished_at attribute0.00029s
when the Verification Result has a reason
includes the reason0.00027s
behaves like #serialize
includes the status of the Verification Result0.00031s
includes the started_at attribute0.00029s
includes the runtime attribute0.00029s
includes the finished_at attribute0.00025s
produces a Hash0.00024s
Dragnet::VerificationResult
#skipped?
when status is skipped
returns true0.00010s
when status is not :skipped
returns false0.00007s
failed?
when status is not :failed
returns false0.00007s
when status is failed
returns true0.00007s
#runtime
when both started_at and finished_at are nil
returns nil0.00008s
when both started_at and finished_at are set
behaves like #runtime! when both started_at and finished_at are set
returns the expected runtime0.00057s
when started_at is set but finished_at is nil
returns nil0.00010s
when finished_at is set but started_at is nil
returns nil0.00008s
#initialize
behaves like Dragnet::VerificationResult#status=
assigns the given status0.00009s
with an invalid status
behaves like Dragnet::VerificationResult#status= with an invalid status
raises an ArgumentError0.00013s
#passed?
when status is not :passed
returns false0.00007s
when status is :passed
returns true0.00007s
#finished_at=
when started_at hasn't been set
behaves like #started_at
sets the given time0.00132s
does not raise any errors0.00013s
runtime update
updates the runtime0.00013s
when the given time is not a Time object
behaves like #started_at with an object which is not a Time
raises an ArgumentError0.00013s
when started_at is already set
when the given time is bigger than started_at
behaves like #started_at
sets the given time0.00014s
does not raise any errors0.00009s
runtime update
updates the runtime0.00011s
when the given time is smaller than started_at
raises an ArgumentError0.00010s
#status=
behaves like Dragnet::VerificationResult#status=
assigns the given status0.00007s
with an invalid status
behaves like Dragnet::VerificationResult#status= with an invalid status
raises an ArgumentError0.00009s
#log_message
when the VerificationResult is skipped
returns the expected log message0.00013s
when the VerificationResult is failed
without a reason
returns the expected log message0.00009s
with a reason
returns the expected log message0.00008s
when the VerificationResult is passed
returns the expected log message0.00008s
#runtime!
when finished_at is set but started_at is nil
behaves like #runtime! when started_at or finished_at are nil
raises a MissingTimestampAttributeError0.00010s
when both started_at and finished_at are nil
behaves like #runtime! when started_at or finished_at are nil
raises a MissingTimestampAttributeError0.00008s
when both started_at and finished_at are set
behaves like #runtime! when both started_at and finished_at are set
returns the expected runtime0.00008s
when started_at is set but finished_at is nil
behaves like #runtime! when started_at or finished_at are nil
raises a MissingTimestampAttributeError0.00010s
#started_at=
when the given time is not a Time object
behaves like #started_at with an object which is not a Time
raises an ArgumentError0.00010s
when finished_at is already set
when the given time is bigger than started_at
behaves like #started_at
sets the given time0.00013s
does not raise any errors0.00008s
runtime update
updates the runtime0.00011s
when the given time is bigger than finished_at
raises an ArgumentError0.00010s
when finished_at hasn't been set
behaves like #started_at
does not raise any errors0.00008s
sets the given time0.00009s
runtime update
updates the runtime0.00010s
Dragnet::Validators::Fields::DescriptionValidator
#validate
when the value is a FalseClass
behaves like #validate with an invalid type
raises the expected error0.00012s
when the values is a string
does not raise any errors0.00008s
when the value is a Hash
behaves like #validate with an invalid type
raises the expected error0.00009s
when the value is an Array
behaves like #validate with an invalid type
raises the expected error0.00009s
when the value is a Float
behaves like #validate with an invalid type
raises the expected error0.00012s
when the value is nil
does not raise any errors0.00010s
Dragnet::Verifiers::FilesVerifier
#verify
when the MTR has not files
returns nil0.00050s
when one or more of the files have changes
creates a VerificationResult object with the expected parameters0.00125s
returns the expected VerificationResult0.00110s
when there are no changes in the listed files
returns nil0.00081s
Dragnet::Exporters::JSONExporter
#export
when test records are given
behaves like #export
produces parseable JSON0.00109s
returns a String0.00086s
when errors are present
does not include the validation errors0.00244s
behaves like #export when test records are given
includes the runtime attribute in each Verification Result0.00086s
includes the Verification Result for each MTR0.00080s
includes the finished_at attribute in each Verification Result0.00081s
includes all the MTRs0.00075s
produces an array of Hashes0.00075s
produces the expected JSON0.00070s
produces an array with an element for each Test Record object0.00073s
includes the start_at attribute in each Verification Result0.00080s
includes the MTRs' file names0.00074s
behaves like #export when test records are given
produces an array of Hashes0.00073s
includes the start_at attribute in each Verification Result0.00074s
produces an array with an element for each Test Record object0.00070s
includes the runtime attribute in each Verification Result0.00075s
includes the MTRs' file names0.00073s
includes all the MTRs0.00073s
includes the finished_at attribute in each Verification Result0.00071s
includes the Verification Result for each MTR0.00069s
produces the expected JSON0.00070s
when no TestRecords are given
when errors are present
does not include the validation errors0.00013s
behaves like #export when no TestRecords are given
produces an empty array0.00016s
behaves like #export
produces parseable JSON0.00012s
returns a String0.00010s
Dragnet::Validators::Fields::FieldValidator
#validate
raises a NotImplementedError0.00009s
Dragnet::Exporters::HTMLExporter
#export
calls result on ERB and passes the class's bindings to it0.00058s
logs the template being used for export0.00050s
returns the output returned by ERB's #result method0.00043s
reads the template and passes it down to ERB0.00055s
Dragnet::CLI::Logger
#debug
when the log level is greater than debug
doesn't output the message0.00216s
when the log level is debug
colors the level with the expected color0.00028s
outputs the message0.00026s
#error
colors the level with the expected color0.00024s
always outputs the message0.00026s
#info
when the log level is greater than info
doesn't output the message0.00019s
when the log level is info or lower
outputs the message0.00024s
colors the level with the expected color0.00023s
#warn
when the log level is greater than warn
doesn't output the message0.00018s
when the log level is warn or lower
colors the level with the expected color0.00024s
outputs the message0.00029s
#initialize
when no log level is given
sets the log level to the default0.00009s
when the log level is not valid
raises an ArgumentError0.00010s
Dragnet::Helpers::RepositoryHelper
#shorten_sha1
returns only the first 10 characters of the given string0.00007s
Dragnet::Repository
delegates #diff to the git object0.00036s
delegates #branches to the git object0.00033s
delegates #branch to the git object0.00032s
#repositories
raises a Dragnet::Errors::IncompatibleRepositoryError0.00154s
#head
returns the commit at the head of the repository0.00036s
#branches_with
behaves like #branches_with
when no branch contains the given commit
returns an empty array0.00043s
when some of the branches contain the given commit
returns the expected array of branches0.00042s
when there are no branches
returns an empty array0.00028s
#remote_uri_path
fetches the URL from the first remote0.00058s
when the URL is an HTTPS URL
returns only the path of the remote's URL0.00042s
when the URL is a GitHub URL
returns only the path of the remote's URL0.00041s
when the URL is a JOSH URL
returns only the path of the remote's URL0.00042s
when the URL is a file URL
returns only the path of the remote's URL0.00040s
when the URL is a Git URL
returns only the path of the remote's URL0.00041s
when the URL is a standard SSH url
returns only the path of the remote's URL0.00042s
#initialize
when the given path cannot be opened as a git repository
raises an ArgumentError0.00029s
#multi?
returns false0.00022s
contract
responds to the same methods as Dragnet::MultiRepository0.00067s
#branches_with_head
behaves like #branches_with
when there are no branches
returns an empty array0.00047s
when no branch contains the given commit
returns an empty array0.00057s
when some of the branches contain the given commit
returns the expected array of branches0.00059s
Dragnet::Exporters::Serializers::TestRecordSerializer
#serialize
includes the result of the Test Record0.00081s
includes the 'started_at' attribute from the TestRecord's VerificationResult0.00074s
returns a Hash0.00073s
includes the TestRecord's source file (relative to the Repository's root)0.00073s
includes the TestRecord's serialized VerificationResult0.00078s
includes the 'finished_at' attribute from the TestRecord's VerificationResult0.00074s
when the Test Record doesn't have a SHA1
does not include the :sha1 key0.00075s
when the TestRecord's repos attribute is an empty array
behaves like #serialize when the TestRecord has no Repos
does not include the :repos key0.00074s
when the TestRecord doesn't have a derivation method
does not include the :tc_derivation_method key0.00080s
when the TestRecord's files attribute is an empty Array
behaves like #serialize when the TestRecord has no files
does not include the :files key0.00075s
when the TestRecord has listed files
includes the expected array of files0.00086s
when the TestRecord has a derivation method
when there are multiple methods
includes the Manual Test Record's test case derivation method0.00076s
when there is a single method
includes the Manual Test Record's test case derivation method0.00081s
when the TestRecord has review comments
includes the expected review comments0.00076s
when the TestRecord has no files
behaves like #serialize when the TestRecord has no files
does not include the :files key0.00075s
when the TestRecord has no review comments
does not include the :review_comments key0.00074s
when the TestRecord doesn't have a test method
does not include the :test_method key0.00078s
when the TestRecord has Repos
includes the serialized version of the attached Repo objects0.00111s
when the TestRecord has not been reviewed
includes the expected review_status field0.00081s
when the TestRecord doesn't have the tester's name
does not include the :owner key0.00081s
when the TestRecord has the tester's name
when there are multiple testers
includes all the testers' names as a single string0.00083s
when there is a single tester
includes the tester's name (as 'owner')0.00080s
when the ID of the Test Record is a String
includes the expected Array of "refs"0.00200s
when the TestRecord doesn't have a description
does not include the :description key0.00082s
when the TestRecord has a SHA1
includes the Test Record's SHA10.00078s
when the ID of the Test Record is an Array
includes the expected Array of "refs"0.00075s
when the TestRecord has a description
includes the Manual Test Record's description0.00075s
when the TestRecord has no Repos
behaves like #serialize when the TestRecord has no Repos
does not include the :repos key0.00078s
when the TestRecord has been reviewed
includes the expected review_status field0.00076s
when the TestRecord has findings
includes the findings0.00074s
when the TestRecord has a test method
when there is a single method
includes the Manual Test Record's test method(s)0.00076s
when there are multiple methods
includes the Manual Test Record's test method(s)0.00073s
when the TestRecord has no findings
does not include the :findings keys0.00076s
Dragnet
has a version number0.00041s
Dragnet::Validators::Fields::SHA1Validator
#valiudate
when the SHA1 is too short
behaves like Dragnet::Validators::Fields::FieldValidator#validate when the validation fails
raises a Dragnet::Errors::ValidationError0.00012s
with a valid SHA1
doesn't raise any errors0.00008s
when the data doesn't have a sha1 key
behaves like Dragnet::Validators::Fields::FieldValidator#validate when the validation fails
raises a Dragnet::Errors::ValidationError0.00009s
when the SHA1 is not a string
behaves like Dragnet::Validators::Fields::FieldValidator#validate when the validation fails
raises a Dragnet::Errors::ValidationError0.00009s
when the SHA1 is too long
behaves like Dragnet::Validators::Fields::FieldValidator#validate when the validation fails
raises a Dragnet::Errors::ValidationError0.00009s
when the SHA1 is not a valid hexadecimal string
behaves like Dragnet::Validators::Fields::FieldValidator#validate when the validation fails
raises a Dragnet::Errors::ValidationError0.00010s
Dragnet::Validators::Entities::RepoValidator
#validate
uses the SHA1Validator class to validate the `sha1` attribute0.00090s
uses the PathValidator class to validate the `path` attribute0.00075s
when the SHA1Validator fails
raises the expected error0.00070s
when the PathValidator fails
raises the expected error0.00072s
when the Repo has files
overwrites the `files` attribute with the files array returned by the validator0.00075s
uses the FilesValidator class to validate the `files` attribute0.00078s
when the FilesValidator fails
raises the expected error0.00075s
Dragnet::Repo
#initialize
without files
does not raise any errors0.00008s
when files is nil
does not rise any errors0.00008s
#validate
when the validation passes
does not raise any errors0.00029s
when the validation fails
raises a Dragnet::Errors::ValidationError0.00033s
Dragnet::Validator
#validate
Logs the files as they are checked0.00292s
when one of the referenced files is not found
adds the file data to the errors array0.00150s
logs the error0.00167s
when one of the given files cannot be read
adds the file data to the errors array0.00128s
logs the error0.00139s
when one of the MTRs has repos
calls validate on the ReposValidator0.00148s
does not raise any errors0.00139s
creates an instance of the ReposValidator0.00243s
when one or more of the files listed in the Repo doesn't exist
adds the file data to the errors array0.00154s
does not raise any errors0.00162s
logs the error0.00165s
when one of the Repos' path doesn't exist
logs the error0.00169s
adds the file data to the errors array0.00150s
does not raise any errors0.00149s
when there is a format error
logs the error0.00152s
adds the file data to the errors array0.00140s
when no files are given
returns an empty array0.00073s
when one of the files is not a valid YAML file
logs the error0.00152s
adds the file data to the errors array0.00136s
Dragnet::MultiRepository
#initialize
initializes an empty repositories list0.00010s
#diff
behaves like Dragnet::BaseRepository#incompatible_repository
raises a Dragnet::Errors::IncompatibleRepositoryError0.00010s
#git
behaves like Dragnet::BaseRepository#incompatible_repository
raises a Dragnet::Errors::IncompatibleRepositoryError0.00013s
#branches_with
behaves like Dragnet::BaseRepository#incompatible_repository
raises a Dragnet::Errors::IncompatibleRepositoryError0.00009s
#branch
behaves like Dragnet::BaseRepository#incompatible_repository
raises a Dragnet::Errors::IncompatibleRepositoryError0.00009s
#head
behaves like Dragnet::BaseRepository#incompatible_repository
raises a Dragnet::Errors::IncompatibleRepositoryError0.00009s
#remote_uri_path
behaves like Dragnet::BaseRepository#incompatible_repository
raises a Dragnet::Errors::IncompatibleRepositoryError0.00008s
#multi?
returns true0.00006s
contract
responds to the same methods as Dragnet::Repository0.00030s
#branches
behaves like Dragnet::BaseRepository#incompatible_repository
raises a Dragnet::Errors::IncompatibleRepositoryError0.00009s
#branches_with_head
behaves like Dragnet::BaseRepository#incompatible_repository
raises a Dragnet::Errors::IncompatibleRepositoryError0.00008s
Dragnet::Validators::Fields::PathValidator
#validate
when the value is nil
behaves like Dragnet::Validators::Fields::FieldValidator#validate when the validation fails
raises a Dragnet::Errors::ValidationError0.00009s
when the value is not a String
behaves like Dragnet::Validators::Fields::FieldValidator#validate when the validation fails
raises a Dragnet::Errors::ValidationError0.00010s
with a valid value
does not raise any errors0.00008s
Dragnet::TestRecord
#reviewed?
when the review_status is 'reviewed'
returns true0.00009s
when the review_status is something else
returns false0.00007s
#passed
when the result is something else
returns false0.00008s
when the result is passed
returns true0.00007s
#validate
Creates a TestRecordValidator object and calls validate on it0.00040s
when the validation fails
raises the ValidationError0.00035s
#initialize
with review_status and reviewstatus
takes review_status and not reviewstatus0.00008s
with reviewcomments
accepts the given review comments0.00007s
with review_comments and reviewcomments
takes review_comments and not reviewcomments0.00006s
with reviewstatus
accepts the given review status0.00007s
with review_status
accepts the given review status0.00007s
with review_comments
accepts the given review comments0.00006s
Meta-data
tc_derivation_method
behaves like a meta-data attribute
when nil is given as argument
sets the attribute to nil0.00009s
when a String is given as argument
sets the attribute to the given value0.00008s
when the argument is not present
leaves the attribute as nil0.00007s
when an Array of Strings is given as argument
sets the attribute to the given value0.00009s
name
behaves like a meta-data attribute
when the argument is not present
leaves the attribute as nil0.00008s
when an Array of Strings is given as argument
sets the attribute to the given value0.00010s
when a String is given as argument
sets the attribute to the given value0.00008s
when nil is given as argument
sets the attribute to nil0.00008s
test_method
behaves like a meta-data attribute
when a String is given as argument
sets the attribute to the given value0.00009s
when nil is given as argument
sets the attribute to nil0.00009s
when an Array of Strings is given as argument
sets the attribute to the given value0.00008s
when the argument is not present
leaves the attribute as nil0.00008s
#findings?
when 'findings' is nil
returns false0.00007s
when 'findings' is en empty string
returns false0.00007s
when 'findings' is something else
returns true0.00007s
when 'findings' has only spaces
returns false0.00007s
when 'findings' is equal to 'no findings'
when 'no findings' is lowercase
returns false0.00007s
when 'no findings' has different capitalization
returns false0.00007s
Dragnet::Explorer
#initialize
when glob_patterns is not an array
turns it into an array0.00015s
parameter checks
when one of the glob patterns is not a string
raises an ArgumentError0.00016s
when the path has an invalid type
raises an ArgumentError0.00014s
when the glob_patterns are missing
raises an ArgumentError0.00015s
when the path is missing
raises an ArgumentError0.00014s
when the glob patterns have an invalid type
raises an ArgumentError0.00015s
#files
when no files are found on the given path
raises a Dragnet::Errors::NoMTRFilesFoundError0.00031s
when the explorer finds files
logs the found MTR files0.00048s
returns the list of found files0.00028s
when two or more glob patterns are given
logs the MTR found in the second glob pattern0.00048s
searches for files using both patterns0.00047s
returns the files returned from both patterns0.00037s
behaves like #files when the explorer finds files
logs the found MTR files0.00059s
Dragnet::Verifiers::TestRecordVerifier
#verify
when the TestRecord doesn't have files nor repositories
does not pass the TestRecord to the ReposVerifier0.00070s
does not pass the TestRecord to the FilesVerifier0.00145s
uses the ChangesVerifier to verify the changes in the repository0.00071s
when the TestRecord passes the changes verification
behaves like #verify when all verifications pass
returns the passed VerificationResult0.00067s
creates a passed VerificationResult0.00068s
behaves like #verify
uses the ResultVerifier to verify the TestRecord's result0.00067s
when the TestRecord fails the changes verification
returns the failed VerificationResult0.00062s
when the TestRecord fails the result verification
does not pass the TestRecord to the FilesVerifier0.00064s
does not pass the TestRecord to the ReposVerifier0.00066s
does not pass the TestRecord to the ChangesVerifier0.00059s
returns the failed VerificationResult0.00056s
when the TestRecord has files
does not pass the TestRecord to the ReposVerifier0.00073s
uses the FilesVerifier to verify the changes to the listed files0.00077s
does not pass the TestRecord to the ChangesVerifier0.00072s
when the TestRecord passes the files verification
behaves like #verify when all verifications pass
creates a passed VerificationResult0.00079s
returns the passed VerificationResult0.00075s
when the TestRecord fails the files verification
returns the failed VerificationResult0.00073s
behaves like #verify
uses the ResultVerifier to verify the TestRecord's result0.00079s
when the TestRecord passes all the verifiers
behaves like #verify when all verifications pass
returns the passed VerificationResult0.00065s
creates a passed VerificationResult0.00069s
behaves like #verify
uses the ResultVerifier to verify the TestRecord's result0.00066s
when the TestRecord has repositories
does not pass the TestRecord to the ChangesVerifier0.00073s
uses the ReposVerifier to verify the changes to the listed repositories0.00083s
does not pass the TestRecord to the FilesVerifier0.00075s
behaves like #verify
uses the ResultVerifier to verify the TestRecord's result0.00079s
when the TestRecord passes the repos verification
behaves like #verify when all verifications pass
returns the passed VerificationResult0.00080s
creates a passed VerificationResult0.00085s
when the TestRecord fails the files verification
returns the failed VerificationResult0.00078s
Dragnet::Validators::Fields::ResultValidator
#validate
when the value of the result field is not valid
behaves like Dragnet::Validators::Fields::FieldValidator#validate when the validation fails
raises a Dragnet::Errors::ValidationError0.00011s
when the result key contains something that is not a string
behaves like Dragnet::Validators::Fields::FieldValidator#validate when the validation fails
raises a Dragnet::Errors::ValidationError0.00009s
with a valid result
does not raise any errors0.00007s
when the given value has odd capitalization
returns the downcase version of the value0.00007s
when the data doesn't have a result key
behaves like Dragnet::Validators::Fields::FieldValidator#validate when the validation fails
raises a Dragnet::Errors::ValidationError0.00009s
Dragnet::Validators::Fields::MetaDataFieldValidator
#validate
when the value is neither a String nor an Array
raises a Dragnet::Errors::ValidationError0.00009s
when value is nil
returns nil0.00006s
does not raise any error0.00006s
when the value is an Array
when the Array is empty
does not raise any errors0.00007s
returns nil0.00007s
when the array has something besides strings
raises a Dragnet::Errors::ValidationError0.00009s
when the array has only strings
returns the same array0.00007s
does not raise any errors0.00007s
when the value is a String
returns an array with the given string0.00007s
does not raise any errors0.00007s
Dragnet::Verifiers::ResultVerifier
#verify
when the result is "failed"
creates the Verification Result with the expected parameters0.00038s
returns the failed VerificationResult0.00030s
when the result is something else
creates the Verification Result with the expected parameters0.00033s
returns the failed VerificationResult0.00031s
when the result is "passed"
returns nil0.00027s
Dragnet::Validators::FilesValidator
#validate
resolves the files in the files key (including glob patterns)0.00047s
when one of the given files doesn't match a file in the repository
raises a Dragnet::Errors::FileNotFoundError0.00041s
when the files have windows-style paths
translates the paths to linux-like paths0.00040s
when a glob pattern is given
returns all files matching the pattern0.00035s
when the files key is not present or has no value
does nothing0.00037s
when the listed files or glob patterns have a / at the beginning
coerces the paths into relative paths0.00051s
Dragnet::Exporters::Serializers::RepoSerializer
#serialize
includes the path to the repo0.00023s
includes the SHA1 of the repo0.00019s
produces a Hash0.00019s
when there are listed files
includes the expected list of files0.00028s
when the repo has no listed files
behaves like #serialize when the Repo has no listed files
does not include the :files key0.00021s
when the list of files is empty
behaves like #serialize when the Repo has no listed files
does not include the :files key0.00024s
Dragnet::Verifier
#verify
prints nothing to STDOUT0.00196s
passes all the Test Records through the TestRecordVerifier0.00224s
when the verification fails for one or more of the MTRs
attaches the passed VerificationResult to the passing MTRs0.00129s
prints nothing to STDOUT0.00106s
attaches the failed VerificationResult to the failed TestRecords0.00134s
logs the failure of the test record(s)0.00125s
logs the passing of all MTRs0.00127s
timestamp values for the passing MTRs
records the started_at timestamp0.00130s
records the finished_at timestamp0.00117s
timestamp values for the failing MTRs
records the started_at timestamp0.00124s
records the finished_at timestamp0.00126s
when the verifications passes for all MTRs
attaches the passed VerificationResult to the passing MTRs0.00110s
logs the passing of all MTRs0.00106s
prints nothing to STDOUT0.00086s
timestamp values for the passing MTRs
records the started_at timestamp0.00095s
records the finished_at timestamp0.00098s
when the verification is skipped for one or more of the MTRs
attaches the skipped VerificationResult to the skipped TestRecords0.00116s
logs the skipping of the test record(s)0.00130s
logs the passing of all MTRs0.00135s
attaches the passed VerificationResult to the passing MTRs0.00123s
prints nothing to STDOUT0.00190s
timestamp values for the passing MTRs
records the finished_at timestamp0.00118s
records the started_at timestamp0.00121s
timestamp values for the skipped MTRs
records the finished_at timestamp0.00120s
records the started_at timestamp0.00119s
Dragnet::CLI::Master
--version
prints the current version of the gem0.34169s
when the -q switch is used
prints nothing0.34168s
Dragnet::Exporters::JSONExporter
#export
generates IDs for each of the Test Records0.00144s
calls serialize as many times as there are Test Records0.00080s
returns the expected JSON string0.00071s
passes each of the given Test Records to the Serializer0.00088s
creates a single instance of the IDGenerator class0.00080s
Generated JSON string
when parsed
produces an Array0.00075s
produces an array with the same number of elements as Test Records there are0.00072s
produces an Array of Hashes0.00071s
Dragnet::Validators::DataValidator
#validate
validates the newly created Test Record0.00041s
symbolizes the data's keys0.00046s
creates the Test Record with the expected data0.00038s
removes newlines at the end of the strings0.00034s
assigns the source file to the newly created Test Record0.00038s
returns the newly created Test Record0.00031s
when the data is not a hash
raises a Dragnet::Errors::YAMLFormatError0.00028s
when the Test Record validation fails
raises a Dragnet::Errors::YAMLFormatError0.00038s
Dragnet::Verifiers::ReposVerifier
#verify
when the Test Record has no 'repos'
returns nil0.00023s
does not raise any errors0.00021s
when the Test Record has 'repos'
Verification
verifies the Repo that has no files with the ChangesVerifier0.00141s
verifies the Repo that has files with the FilesVerifier0.00132s
Proxy TestRecords
creates a proxy TestRecord for the second Repo with the expected parameters0.00125s
creates a proxy TestRecord for the first Repo with the expected parameters0.00129s
Repositories
creates a Repository object for the Repo without files with the expected path0.00127s
creates a Repository object for the Repo with files with the expected path0.00133s
when a Repository for the path already exists
does not create a new Repository for that path0.00133s
when the creation of a repository fails
returns the expected VerificationResult object0.00122s
creates a failed VerificationResult object with the expected status and reason0.00120s
does not raise any errors0.00111s
Inner verifier failures
when the ChangesVerifier fails
behaves like #verify when one of the inner verifiers fails
does not raise any errors0.00120s
returns the VerificationResult returned by the inner verifier0.00120s
when the FilesVerifier fails
behaves like #verify when one of the inner verifiers fails
does not raise any errors0.00119s
returns the VerificationResult returned by the inner verifier0.00115s
Dragnet::Verifiers::ChangesVerifier
#verify
when there are changes in the repository
when the changes are only in MTR files
returns nil0.00069s
when the change include other files
creates a VerificationResult object with the expected parameters0.00084s
returns the failed VerificationResult0.00081s
when there are no changes in the repository
returns nil0.00050s
Dragnet::Exporters::Exporter
#export
raises a NotImplementedError0.00012s
Dragnet::Exporter
#export
writes the output to the target file0.00075s
when one of the target files has an unknown format
raises a Dragnet::Errors::UnknownExportFormatError0.00056s
when targets with multiple formats are given
creates an exporter for the HTML report0.00073s
creates an exporter for the JSON report0.00072s
writes the output to the JSON target0.00074s
writes the output to the HTML target0.00075s
exporters creation (one for each target type)
calls export on the HTML exporter0.00075s
creates an HTML exporter0.00076s
creates a JSON exporter0.00073s
calls export on the JSON exporter0.00073s
when multiple output files with the same format are given
writes the output to all given targets0.00075s
creates ONLY ONE exporter for each format0.00071s
when the output file cannot be written
raises a Dragnet::Errors::UnableToWriteReportError0.00065s
Dragnet::Validators::ReposValidator
#validate
when the Test Record has no 'repos'
does not raise any errors0.00020s
when the Test Record have 'repos'
when the repo has an absolute path
verifies the existence of the given path directly0.00146s
when the repo path doesn't exist
raises a Dragnet::Errors::RepoPathNotFoundError0.00118s
when one of the files listed in a 'repo' doesn't exist
raises a Dragnet::Errors::FileNotFoundError0.00145s
when the path has backslashes and not slashes
transform the slashes and replaces the path string0.00150s
uses the transformed path to do the checking0.00230s
when the repo has a relative path
verifies the existence of the generated path0.00146s
creates a path by joining the workspace path with the path of the repo0.00146s
when the repo path doesn't exist
raises a Dragnet::Errors::RepoPathNotFoundError0.00132s
when the repos have no files
does not perform any validation over files0.00134s
does not raise any errors0.00131s
Dragnet::Exporters::IDGenerator
#id_for
when the Test Record has only one ID
returns the expected string0.00028s
when the Test Record has multiple IDs
returns the expected string0.00030s
Dragnet::CLI::Master
#version
prints the current version of the Gem0.00086s
when the quit options is given
doesn't print anything to the output0.00017s
#check
uses the instance of the Explorer class to get the list of MTR files0.00138s
creates an instance of the Verifier class0.00123s
calls #validate on the validator0.00116s
creates an instance of the Validator class0.00114s
creates an instance of the Explorer class0.00116s
calls #verify on the verifier0.00115s
when the Verifier raises a Dragnet::Errors::IncompatibleRepositoryError
exists with the expected error code0.00130s
prints the expected error to the console0.00129s
when export targets are given
executes the export procedure0.00137s
when the Exporter raises a Dragnet::Errors::IncompatibleRepositoryError
prints the expected error to the console0.00145s
exists with the expected error code0.00142s
when the multi-repo compatibility is disabled
creates an exporter with the expected parameters (including the target files)0.00136s
when the multi-repo compatibility is enabled
creates an exporter with the expected parameters (including the target files)0.00137s
when the Exporter raises an UnableToWriteReportError
prints the expected error to the console0.00147s
exists with the expected error code0.00233s
when the Exporter raises a UnknownExportFormatError
exists with the expected error code0.00143s
prints the expected error to the console0.00144s
when no configuration file is specified
loads the default configuration file0.00117s
when errors are detected in the MTR files
exits with the expected exit code0.00112s
when the repository cannot be created
prints the exception message to the console0.00116s
exists with the expected error code0.00121s
prints the expected error to the console0.00125s
when the Explorer class raises an ArgumentError
prints the exception message to the console0.00113s
prints the expected error to the console0.00110s
exists with the expected error code0.00115s
when the specified configuration file cannot be loaded
exists with the expected error code0.00104s
prints the exception message to the console0.00101s
prints the expected error to the console0.00104s
when there are errors in the MTRs and the verification fails
exists with the expected exit code0.00142s
when a path is specified
uses a Pathname created from the specified path for the Explorer0.00121s
uses a Pathname created from the specified path for the Validator0.00119s
when multi-repo compatibility is enabled
creates a Repository object using a Pathname created with the given path0.00117s
passed down the created repository object to the Verifier0.00118s
when multi-repo compatibility is disabled
passed down the created repository object to the Verifier0.00120s
creates a Repository object using a Pathname created with the given path0.00115s
when the Explorer raises a Dragnet::Errors::NoMTRFilesFoundError
exists with the expected error code0.00117s
prints the exception message to the console0.00117s
prints the expected error to the console0.00115s
when a configuration file is specified
loads the specified configuration file0.00124s
when no path is specified
when none is configured in the configuration file
uses the current working directory as path for the Explorer0.00213s
uses the current working directory as path for the Validator0.00117s
when multi-repo compatibility is disabled
passes down the created repository object to the Verifier0.00118s
creates a repository pointing to the current working directory0.00118s
when multi-repo compatibility is enabled
creates a repository pointing to the current working directory0.00117s
passes down the created repository object to the Verifier0.00117s
when the configuration file contains a path
uses the path from the configuration file for the Explorer0.00122s
uses the path from the configuration file for the Validator0.00116s
when multi-repo compatibility is enabled
creates a repository using the path from the configuration file0.00120s
passes down the created repository to the Verifier0.00124s
when multi-repo compatibility is disabled
creates a repository using the path from the configuration file0.00118s
passes down the created repository to the Verifier0.00122s
when the verification fails for any of the MTR files
exists with the expected exit code0.00148s
when no errors nor issues on the MTRs are found
does not raise an error0.00141s
Dragnet::Validators::Entities::TestRecordValidator
#validate
updates the files field with the Files Validator's return value0.00177s
updates the result field with the Result Validator's return value0.00164s
uses the ID Validator to validate0.00165s
uses the Result Validator to validate0.00164s
uses the Description Validator to validate0.00171s
uses the Files Validator to validate0.00313s
meta-data validation
assigns the value returned by the validator to the 'test_method' attribute0.00205s
assigns the value returned by the validator to the 'name' attribute0.00199s
validates the 'name' attribute0.00196s
validates the 'tc_derivation_method' attribute0.00197s
validates the 'test_method' attribute0.00196s
assigns the value returned by the validator to the 'tc_derivation_method' attribute0.00357s
when the meta-data validation fails
raises the validation error0.00481s
when the MTR has a `files` and a `repos` attribute
fails the validation0.00393s
when the MTR has both a SHA1 and a list of repositories
raises a Dragnet::Errors::ValidationError0.00383s
when the Result validation fails
Raises the validation error0.00434s
when the ID validation fails
Raises the validation error0.00314s
when the MTR has a list of repositories
overwrites the `repos` attribute with the array of repos returned by the validator0.00430s
does not validate the SHA1 attribute0.00442s
uses the ReposValidator to validate the repos0.00831s
when the ReposValidator validation fails
Raises the validation error0.00144s
when the Files validation fails
Raises the validation error0.00160s
when the MTR has a SHA1 but not a list of repositories
uses the SHA1 Validator to validate0.00167s
when the SHA1 validation fails
Raises the validation error0.00140s
when the MTR has neither a `files` nor a `repos` attribute
passes the validation0.00158s
when the MTR has a `files` attribute but no `repos` attribute
passes the validation0.00158s
when the MTR has a `repos` attribute but no `files` attribute
passes the validation0.00157s
when the Description validation fails
Raises the validation error0.00149s