Module: HybridPlatformsConductor::CommonConfigDsl::IdempotenceTests

Defined in:
lib/hybrid_platforms_conductor/common_config_dsl/idempotence_tests.rb

Overview

Config DSL configuring idempotence testing (used by different test plugins)

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#ignored_idempotence_tasksObject (readonly)

List of ignored tasks info. Each info has the following properties:

  • nodes_selectors_stack (Array<Object>): Stack of nodes selectors impacted by this rule

  • ignored_tasks (Hash<String, String>): List of task names for which we ignore idempotence errors, with the corresponding descriptive reason for ignore.

Array< Hash<Symbol, Object> >



12
13
14
# File 'lib/hybrid_platforms_conductor/common_config_dsl/idempotence_tests.rb', line 12

def ignored_idempotence_tasks
  @ignored_idempotence_tasks
end

Instance Method Details

#ignore_idempotence_tasks(tasks_to_ignore) ⇒ Object

Ignore idempotence errors on a set of tasks

Parameters
  • tasks_to_ignore (Hash<String, String>): Set of tasks to ignore, along with the reason



27
28
29
30
31
32
# File 'lib/hybrid_platforms_conductor/common_config_dsl/idempotence_tests.rb', line 27

def ignore_idempotence_tasks(tasks_to_ignore)
  @ignored_idempotence_tasks << {
    ignored_tasks: tasks_to_ignore,
    nodes_selectors_stack: current_nodes_selectors_stack,
  }
end

#init_idempotence_testsObject

Initialize the DSL



15
16
17
18
19
20
21
# File 'lib/hybrid_platforms_conductor/common_config_dsl/idempotence_tests.rb', line 15

def init_idempotence_tests
  # List of ignored tasks info. Each info has the following properties:
  # * *nodes_selectors_stack* (Array<Object>): Stack of nodes selectors impacted by this rule
  # * *ignored_tasks* (Hash<String, String>): List of task names for which we ignore idempotence errors, with the corresponding descriptive reason for ignore.
  # Array< Hash<Symbol, Object> >
  @ignored_idempotence_tasks = []
end