summaryrefslogtreecommitdiff
path: root/qa/qa/scenario/entrypoint.rb
blob: 33cb2696f8f391a3ac0b82387829378af42a7bc2 (plain)
1
2
3
4
5
6
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
33
34
35
36
module QA
  module Scenario
    ##
    # Base class for running the suite against any GitLab instance,
    # including staging and on-premises installation.
    #
    class Entrypoint < Template
      def self.tags(*tags)
        @tags = tags
      end

      def self.get_tags
        @tags
      end

      def perform(address, *files)
        Specs::Config.perform do |specs|
          specs.address = address
        end

        ##
        # Perform before hooks, which are different for CE and EE
        #
        Runtime::Release.perform_before_hooks

        Specs::Runner.perform do |specs|
          specs.rspec(
            tty: true,
            tags: self.class.get_tags,
            files: files.any? ? files : 'qa/specs/features'
          )
        end
      end
    end
  end
end