gitlab-org--gitlab-foss/qa/qa.rb
Richard Clamp 60e8347c7f Add Test::Integration::Mattermost
Here we add a new entrypoint for the test suite,
Test::Integration::Mattermost.  It is to ensure that mattermost
integration is working when enabling the embedded mattermost of
gitlab-omnibus

It runs all the example groups from Test::Instance, in addition to any
groups tagged :mattermost

* Extracts a common entrypoint class from Test::Instance as
  Scenario::Entrypoint, and uses that as the base for Test::Instance and
  Test::Integration::Mattermost

* RSpec groups defined in `specs/features/mattermost/**_spec.rb` are
  tagged with :mattermost so they can be filtered out of the default
  run.

* Tests tagged :mattermost are filtered out by default, and are
  un-filtered by Test::Integration::Mattermost
2017-10-13 14:04:38 +01:00

101 lines
2.1 KiB
Ruby

$: << File.expand_path(File.dirname(__FILE__))
module QA
##
# GitLab QA runtime classes, mostly singletons.
#
module Runtime
autoload :Release, 'qa/runtime/release'
autoload :User, 'qa/runtime/user'
autoload :Namespace, 'qa/runtime/namespace'
end
##
# GitLab QA Scenarios
#
module Scenario
##
# Support files
#
autoload :Actable, 'qa/scenario/actable'
autoload :Entrypoint, 'qa/scenario/entrypoint'
autoload :Template, 'qa/scenario/template'
##
# Test scenario entrypoints.
#
module Test
autoload :Instance, 'qa/scenario/test/instance'
module Integration
autoload :Mattermost, 'qa/scenario/test/integration/mattermost'
end
end
##
# GitLab instance scenarios.
#
module Gitlab
module Group
autoload :Create, 'qa/scenario/gitlab/group/create'
end
module Project
autoload :Create, 'qa/scenario/gitlab/project/create'
end
module Sandbox
autoload :Prepare, 'qa/scenario/gitlab/sandbox/prepare'
end
end
end
##
# Classes describing structure of GitLab, pages, menus etc.
#
# Needed to execute click-driven-only black-box tests.
#
module Page
autoload :Base, 'qa/page/base'
module Main
autoload :Entry, 'qa/page/main/entry'
autoload :Menu, 'qa/page/main/menu'
end
module Dashboard
autoload :Groups, 'qa/page/dashboard/groups'
end
module Group
autoload :New, 'qa/page/group/new'
autoload :Show, 'qa/page/group/show'
end
module Project
autoload :New, 'qa/page/project/new'
autoload :Show, 'qa/page/project/show'
end
module Admin
autoload :Menu, 'qa/page/admin/menu'
end
end
##
# Classes describing operations on Git repositories.
#
module Git
autoload :Repository, 'qa/git/repository'
end
##
# Classes that make it possible to execute features tests.
#
module Specs
autoload :Config, 'qa/specs/config'
autoload :Runner, 'qa/specs/runner'
end
end
QA::Runtime::Release.extend_autoloads!