RSpec Code Examples

 

 

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