summaryrefslogtreecommitdiff
path: root/tests/order.rb
blob: 14aad9be622071c2c6b10d202d4fc43f7d53f385 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class LeapCli::Config::Node
  #
  # returns a list of node names that should be tested before this node.
  # make sure to not return ourselves (please no dependency loops!).
  #
  # NOTE: this method determines the order that nodes are tested in. To specify
  # the order of tests on a particular node, each test can call class method
  # LeapTest.depends_on().
  #
  def test_dependencies
    dependents = LeapCli::Config::ObjectList.new

    # webapp, mx, and soledad depend on couchdb nodes
    if services.include?('webapp') || services.include?('mx') || services.include?('soledad')
      if !services.include?('couchdb')
        dependents.merge! nodes_like_me[:services => 'couchdb']
      end
    end

    dependents.keys.delete_if {|name| self.name == name}
  end
end