Class: Pinspec::Verify::Verifier

Inherits:
Object
  • Object
show all
Defined in:
lib/pinspec/verify/verifier.rb

Defined Under Namespace

Classes: Outcome

Constant Summary collapse

CONFIGS =
%i[isolated hostile neighbored].freeze
HOSTILE_TZ_CANDIDATES =
["Etc/GMT+8", "Etc/GMT-6"].freeze
DIAGNOSES =
[
  [/WebMock::NetConnectNotAllowedError|VCR::Errors/, :unpinnable_http],
  [/captured with TZ=/, :tz_dependent],
  [/uninitialized constant PinspecSerializer|PinspecSerializer.*NoMethodError/, :pinspec_internal],
  [/RecordNotUnique|has already been taken/, :seed_collision],
  [/DatabaseCleaner/, :db_cleaner_strategy],
  [/cannot load such file -- (rails_helper|spec_helper)/, :spec_helper_missing],
  [/LoadError|cannot load such file/, :rails_helper_variance]
].freeze

Instance Method Summary collapse

Constructor Details

#initialize(app_root:, spec_path:, env: {}, level: :isolated, captured_tz: Runner::Sandbox::FORCED_ENV.fetch("TZ")) ⇒ Verifier

Returns a new instance of Verifier.



33
34
35
36
37
38
39
40
# File 'lib/pinspec/verify/verifier.rb', line 33

def initialize(app_root:, spec_path:, env: {}, level: :isolated,
               captured_tz: Runner::Sandbox::FORCED_ENV.fetch("TZ"))
  @app_root = app_root
  @spec_path = spec_path
  @env = env
  @level = level
  @captured_tz = captured_tz
end

Instance Method Details

#configsObject



42
43
44
# File 'lib/pinspec/verify/verifier.rb', line 42

def configs
  @level == :full ? CONFIGS : [:isolated]
end

#verifyObject



46
47
48
# File 'lib/pinspec/verify/verifier.rb', line 46

def verify
  configs.map { |config| run(config) }
end