vcr (version 0.5.4)

vcr_configure: Global Configuration Options

Description

Configurable options that define vcr's default behavior.

Usage

vcr_configure(...)

vcr_configure_reset()

vcr_configuration()

vcr_config_defaults()

Arguments

...

configuration settings used to override defaults. See below for a complete list of valid arguments.

Configurable settings

vcr options

File locations

  • dir Cassette directory

  • write_disk_path (character) path to write files to for any requests that write responses to disk. by default this parameter is NULL. For testing a package, you'll probably want this path to be in your tests/ directory, perhaps next to your cassettes directory, e.g., where your cassettes are in tests/fixtures, your files from requests that write to disk are in tests/files. If you want to ignore these files in your installed package, add them to .Rinstignore. If you want these files ignored on build then add them to .Rbuildignore (though if you do, tests that depend on these files probably will not work because they won't be found; so you'll likely have to skip the associated tests as well).

Contexts

  • turned_off (logical) VCR is turned on by default. Default: FALSE

  • allow_unused_http_interactions (logical) Default: TRUE

  • allow_http_connections_when_no_cassette (logical) Determines how vcr treats HTTP requests that are made when no vcr cassette is in use. When TRUE, requests made when there is no vcr cassette in use will be allowed. When FALSE (default), an UnhandledHTTPRequestError error will be raised for any HTTP request made when there is no cassette in use

Filtering

  • ignore_hosts (character) Vector of hosts to ignore. e.g., localhost, or google.com. These hosts are ignored and real HTTP requests allowed to go through

  • ignore_localhost (logical) Default: FALSE

  • ignore_request List of requests to ignore. NOT USED RIGHT NOW, sorry

  • filter_sensitive_data named list of values to replace. Format is:

    list(thing_to_replace_it_with = thing_to_replace)
    

We replace all instances of thing_to_replace with thing_to_replace_it_with. Before recording (writing to a cassette) we do the replacement and then when reading from the cassette we do the reverse replacement to get back to the real data. Before record replacement happens in internal function write_interactions(), while before playback replacement happens in internal function YAML$deserialize_path()

Errors

  • verbose_errors Do you want more verbose errors or less verbose errors when cassette recording/usage fails? Default is FALSE, that is, less verbose errors. If TRUE, error messages will include more details about what went wrong and suggest possible solutions. For testing in an interactive R session, if verbose_errors=FALSE, you can run vcr_last_error() to get the full error. If in non-interactive mode, which most users will be in when running the entire test suite for a package, you can set an environment variable (VCR_VERBOSE_ERRORS) to toggle this setting (e.g., Sys.setenv(VCR_VERBOSE_ERRORS=TRUE); devtools::test())

Internals

  • cassettes (list) don't use

  • linked_context (logical) linked context

  • uri_parser the uri parser, default: crul::url_parse()

Logging

  • log (logical) should we log important vcr things? Default: FALSE

  • log_opts (list) Additional logging options:

    • 'file' either "console" or a file path to log to

    • 'log_prefix' default: "Cassette". We insert the cassette name after that prefix, then the rest of the message.

    • More to come...

Cassette Options

These settings can be configured globally, using vcr_configure(), or locally, using either use_cassette() or insert_cassette(). Global settings are applied to all cassettes but are overridden by settings defined locally for individuall cassettes.

  • record (character) One of 'all', 'none', 'new_episodes', or 'once'. See recording

  • match_requests_on vector of matchers. Default: (method, uri) See request-matching for details.

  • serialize_with: (character) only option is "yaml"

  • persist_with (character) only option is "FileSystem"

  • preserve_exact_body_bytes (logical) preserve exact body bytes for

  • re_record_interval (numeric) When given, the cassette will be re-recorded at the given interval, in seconds.

  • clean_outdated_http_interactions (logical) Should outdated interactions be recorded back to file. Default: FALSE

Examples

Run this code
# NOT RUN {
vcr_configure(dir = tempdir())
vcr_configure(dir = tempdir(), record = "all")
vcr_configuration()
vcr_config_defaults()
vcr_configure(dir = tempdir(), ignore_hosts = "google.com")
vcr_configure(dir = tempdir(), ignore_localhost = TRUE)


# logging
vcr_configure(dir = tempdir(), log = TRUE,
  log_opts = list(file = file.path(tempdir(), "vcr.log")))
vcr_configure(dir = tempdir(), log = TRUE, log_opts = list(file = "console"))
vcr_configure(dir = tempdir(), log = TRUE,
 log_opts = list(
   file = file.path(tempdir(), "vcr.log"),
   log_prefix = "foobar"
))
vcr_configure(dir = tempdir(), log = FALSE)

# filter sensitive data
vcr_configure(dir = tempdir(),
  filter_sensitive_data = list(foo = "<bar>")
)
vcr_configure(dir = tempdir(),
  filter_sensitive_data = list(foo = "<bar>", hello = "<world>")
)
# }

Run the code above in your browser using DataCamp Workspace