Class: Overseer::TestingControl::Rails::ResetsController

Inherits:
ApplicationController show all
Defined in:
app/controllers/overseer/testing_control/rails/resets_controller.rb

Instance Method Summary collapse

Instance Method Details

#update ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'app/controllers/overseer/testing_control/rails/resets_controller.rb', line 7

def update
  require_empty_body!
  if configuration.reset_strategy == 'runtime-restart'
    raise ProtocolFailure.new(
      status: :conflict,
      code: 'reset-requires-restart',
      title: 'Runtime restart required',
      detail: 'The test runner must recreate this isolated runtime to reset it.',
      retryable: true
    )
  end

  unless configuration.reset_handler.call == true
    raise ConfigurationError, 'The product reset handler did not confirm a successful reset'
  end

  configuration.clear_stores!
  render_data(
    :reset,
    {
      'resetAt' => ProtocolV3.timestamp,
      'strategy' => 'in-process',
      'sinksCleared' => true
    }
  )
end