diff options
Diffstat (limited to 'qa/qa.rb')
-rw-r--r-- | qa/qa.rb | 191 |
1 files changed, 88 insertions, 103 deletions
@@ -3,27 +3,6 @@ $:.unshift(lib) unless $:.include?(lib) 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' - autoload :Scenario, 'qa/runtime/scenario' - autoload :Browser, 'qa/runtime/browser' - autoload :Env, File.expand_path('qa/runtime/env', __dir__) - autoload :Address, 'qa/runtime/address' - autoload :API, 'qa/runtime/api' - - module Key - autoload :Base, 'qa/runtime/key/base' - autoload :RSA, 'qa/runtime/key/rsa' - autoload :ECDSA, 'qa/runtime/key/ecdsa' - autoload :ED25519, 'qa/runtime/key/ed25519' - end - end - - ## # GitLab QA fabrication mechanisms # module Factory @@ -50,29 +29,11 @@ module QA end ## - # GitLab QA Scenarios + # Classes describing operations on Git repositories. # - module Scenario - ## - # Support files - # - autoload :Taggable, 'qa/scenario/taggable' - - ## - # Test scenario entrypoints. - # - module Test - autoload :Instance, 'qa/scenario/test/instance' - - module Integration - autoload :LDAP, 'qa/scenario/test/integration/ldap' - autoload :Mattermost, 'qa/scenario/test/integration/mattermost' - end - - module Sanity - autoload :Selectors, 'qa/scenario/test/sanity/selectors' - end - end + module Git + autoload :Location, 'qa/git/location' + autoload :Repository, 'qa/git/repository' end ## @@ -81,101 +42,133 @@ module QA # Needed to execute click-driven-only black-box tests. # module Page + module Admin + module Settings + autoload :Main, 'qa/page/admin/settings/main' + autoload :RepositoryStorage, 'qa/page/admin/settings/repository_storage' + end + end + + ## + # Classes describing components that are used by several pages. + # + module Component + autoload :Dropzone, 'qa/page/component/dropzone' + end + + module Dashboard + autoload :Groups, 'qa/page/dashboard/groups' + autoload :Projects, 'qa/page/dashboard/projects' + end + + module Group + autoload :New, 'qa/page/group/new' + autoload :Show, 'qa/page/group/show' + end + module Main autoload :Login, 'qa/page/main/login' autoload :OAuth, 'qa/page/main/oauth' end - module Settings - autoload :Common, 'qa/page/settings/common' + module Mattermost + autoload :Login, 'qa/page/mattermost/login' + autoload :Main, 'qa/page/mattermost/main' end module Menu - autoload :Main, 'qa/page/menu/main' - autoload :Side, 'qa/page/menu/side' autoload :Admin, 'qa/page/menu/admin' + autoload :Main, 'qa/page/menu/main' autoload :Profile, 'qa/page/menu/profile' + autoload :Side, 'qa/page/menu/side' end - module Dashboard - autoload :Projects, 'qa/page/dashboard/projects' - autoload :Groups, 'qa/page/dashboard/groups' + module MergeRequest + autoload :New, 'qa/page/merge_request/new' + autoload :Show, 'qa/page/merge_request/show' end - module Group - autoload :New, 'qa/page/group/new' - autoload :Show, 'qa/page/group/show' + module Profile + autoload :PersonalAccessTokens, 'qa/page/profile/personal_access_tokens' end module Project + autoload :Activity, 'qa/page/project/activity' autoload :New, 'qa/page/project/new' autoload :Show, 'qa/page/project/show' - autoload :Activity, 'qa/page/project/activity' - module Pipeline - autoload :Index, 'qa/page/project/pipeline/index' - autoload :Show, 'qa/page/project/pipeline/show' + module Issue + autoload :Index, 'qa/page/project/issue/index' + autoload :New, 'qa/page/project/issue/new' + autoload :Show, 'qa/page/project/issue/show' end module Job autoload :Show, 'qa/page/project/job/show' end + module Pipeline + autoload :Index, 'qa/page/project/pipeline/index' + autoload :Show, 'qa/page/project/pipeline/show' + end + module Settings - autoload :Common, 'qa/page/project/settings/common' autoload :Advanced, 'qa/page/project/settings/advanced' - autoload :Main, 'qa/page/project/settings/main' - autoload :Repository, 'qa/page/project/settings/repository' autoload :CICD, 'qa/page/project/settings/ci_cd' + autoload :Common, 'qa/page/project/settings/common' autoload :DeployKeys, 'qa/page/project/settings/deploy_keys' + autoload :Main, 'qa/page/project/settings/main' + autoload :MergeRequest, 'qa/page/project/settings/merge_request' autoload :ProtectedBranches, 'qa/page/project/settings/protected_branches' - autoload :SecretVariables, 'qa/page/project/settings/secret_variables' + autoload :Repository, 'qa/page/project/settings/repository' autoload :Runners, 'qa/page/project/settings/runners' - autoload :MergeRequest, 'qa/page/project/settings/merge_request' - end - - module Issue - autoload :New, 'qa/page/project/issue/new' - autoload :Show, 'qa/page/project/issue/show' - autoload :Index, 'qa/page/project/issue/index' + autoload :SecretVariables, 'qa/page/project/settings/secret_variables' end end - module Profile - autoload :PersonalAccessTokens, 'qa/page/profile/personal_access_tokens' - end - - module MergeRequest - autoload :New, 'qa/page/merge_request/new' - autoload :Show, 'qa/page/merge_request/show' - end - - module Admin - module Settings - autoload :RepositoryStorage, 'qa/page/admin/settings/repository_storage' - autoload :Main, 'qa/page/admin/settings/main' - end + module Settings + autoload :Common, 'qa/page/settings/common' end + end - module Mattermost - autoload :Main, 'qa/page/mattermost/main' - autoload :Login, 'qa/page/mattermost/login' - end + ## + # GitLab QA runtime classes, mostly singletons. + # + module Runtime + autoload :API, 'qa/runtime/api' + autoload :Env, 'qa/runtime/env' + autoload :Namespace, 'qa/runtime/namespace' + autoload :Release, 'qa/runtime/release' + autoload :Scenario, 'qa/runtime/scenario' + autoload :User, 'qa/runtime/user' - ## - # Classes describing components that are used by several pages. - # - module Component - autoload :Dropzone, 'qa/page/component/dropzone' + module Key + autoload :Base, 'qa/runtime/key/base' + autoload :ECDSA, 'qa/runtime/key/ecdsa' + autoload :ED25519, 'qa/runtime/key/ed25519' + autoload :RSA, 'qa/runtime/key/rsa' end end ## - # Classes describing operations on Git repositories. + # GitLab QA Scenarios # - module Git - autoload :Repository, 'qa/git/repository' - autoload :Location, 'qa/git/location' + module Scenario + ## + # Test scenario entrypoints. + # + module Test + autoload :Instance, 'qa/scenario/test/instance' + + module Integration + autoload :LDAP, 'qa/scenario/test/integration/ldap' + autoload :Mattermost, 'qa/scenario/test/integration/mattermost' + end + + module Sanity + autoload :Selectors, 'qa/scenario/test/sanity/selectors' + end + end end ## @@ -186,14 +179,6 @@ module QA autoload :Omnibus, 'qa/service/omnibus' autoload :Runner, 'qa/service/runner' 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! |