RSpec Code Examples

 

 

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