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_divergent_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 divergence errors, with the corresponding descriptive reason for ignore.

Array< Hash<Symbol, Object> >



18
19
20
# File 'lib/hybrid_platforms_conductor/common_config_dsl/idempotence_tests.rb', line 18

def ignored_divergent_tasks
  @ignored_divergent_tasks
end

#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_divergent_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



49
50
51
52
53
54
# File 'lib/hybrid_platforms_conductor/common_config_dsl/idempotence_tests.rb', line 49

def ignore_divergent_tasks(tasks_to_ignore)
  @ignored_divergent_tasks << {
    ignored_tasks: tasks_to_ignore,
    nodes_selectors_stack: current_nodes_selectors_stack,
  }
end

#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



38
39
40
41
42
43
# File 'lib/hybrid_platforms_conductor/common_config_dsl/idempotence_tests.rb', line 38

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



21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/hybrid_platforms_conductor/common_config_dsl/idempotence_tests.rb', line 21

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 = []
  # 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 divergence errors, with the corresponding descriptive reason for ignore.
  # Array< Hash<Symbol, Object> >
  @ignored_divergent_tasks = []
end