RSpec Code Examples

 

 

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