Age | Commit message (Collapse) | Author |
|
This makes QA page refresh address to be absolute URL since we dropped
`Capybara.app_host`, thus there is no support for relative URLs with
`visit` now.
|
|
Signed-off-by: Rémy Coutable <remy@rymai.me>
|
|
Page::Main::Login to handle actual log-in
Signed-off-by: Rémy Coutable <remy@rymai.me>
|
|
Decouple QA test subject's address from Capybara/RSpec
Closes gitlab-qa#88
See merge request gitlab-org/gitlab-ce!15310
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
In ce3b81b953f we changed Test::Integration::Mattermost#perform to
consume a required positional parameter and pass on the rest of the
arguments to the superclass. There was an error in implementation here
and instead of splatting the files array to produce no additional
arguments, we passed in the default case an empty array.
This had the effect of calling rspec with no test files,
rather than expected default of 'qa/specs/features`
Here we correct that bug, and re-add the :core suite, as that was a poor
deuction in the investagtion for 74d6b8a211.
|
|
In !14818 we added the ability to specify the example groups that should
run via the `-t` (tag) option to rspec. It was assumed that the
inclusion filter generated `{:core => true, :mattermost => true}` would
run examples tagged :core OR :mattermost, when instead it means :core
AND :mattermost.
Here in order to assure at least some tests run, we specify that
the :mattermost tagged examples are the only ones we care about.
|
|
* Adds Runtime::Scenario as a place to record the properties of the
Scenario we're interested in.
* Adds a positional argument to Test::Integration::Mattermost to specify
Runtime::Scenario.mattermost
* Adds Page::Mattermost::{Main,Login} to model the mattermost pages we
need to interact with.
* Adds qa/features/mattermost/login_spec to perform a login via oauth
and ensure we are logged in.
|
|
For added confidence, and because I plan to fiddle with some behaviours
shortly, add spec testing to the newly extracted
QA::Scenario::Entrypoint class.
|
|
|
|
We can currently reduce the number of times we specify the tag of a
given example group by moving them hoisting them up one level to the
containing `feature`
|
|
This was added as part of the previous filtering via RSpec::Config. It
should have been removed previously as part of moving the logic to
specify the tags we wanted in Specs::Runner
|
|
It's adding additional potentially confusing behaviour to derive test
tagging from the file path, as it's not immediately apparent where that
lives when considering the tests in isolation. Instead, just explicitly
tag.
* Remove the tagging of examples based on :file_path
* Explicitly tags scenarios as :core, or :mattermost
|
|
Here we convert Specs::Runner#rspec to use keyword arguments[1] and pass
named parameters rather than a pre-processed array of cli switches.
This allows parameter to cli logic to live just in Specs::Runner.
[1] https://robots.thoughtbot.com/ruby-2-keyword-arguments
|
|
Entrypoint is intended as a base class, so mention that in the comment.
|
|
As suggested by Grzegorz, we can be more declarative in our
configuration of the tags the Entrypoint cares about
Here we add a tags method to the entrypoint class, and use that to
declare the tags an entrypoint is interested in (:core for the existing
Test::Instance, :core and :mattermost for Test::Integration::Mattermost)
We declare everything in specs/features that isn't in
specs/features/mattermost, to have the tag :core, though that clean up
better if we move the integration tests out of specs/features.
|
|
|
|
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
|
|
In doing some experimental testing of enabling the embedded mattermost
we found that the currently generated QA namespace was problematic in that
it used underscores when generating group names. This is invalid for a
mattermost team name, underscores are illegal there.
Here we change to use hyphens as they are legal in team names.
|
|
Make use of a `gitlab-qa-sandbox` group if available
See merge request gitlab-org/gitlab-ce!14682
|
|
|
|
|
|
|
|
|
|
This better separates the concerns of preparing the sandbox namespace
from creating a (sub)group.
|
|
Use the default password from the GDK's root user
Closes gitlab-qa#73
See merge request gitlab-org/gitlab-ce!14701
|
|
[ci skip]
|
|
Resolves three security advisories from bundle-audit
|
|
This will use a top-level group if it's available, or create one if it's
not, then create our `qa_test_*` groups as subgroups of the sandbox
group.
|
|
Add byebug to GitLab QA gem list for debugging
See merge request gitlab-org/gitlab-ce!14675
|
|
|
|
|
|
This allows the test to continue even if the GitLab instance being
tested, or the user being used, had SSH access configured.
|
|
Fix Admin -> License selector for GitLab QA specs
Closes gitlab-qa#68
See merge request gitlab-org/gitlab-ce!14599
|
|
[ci skip]
|
|
Closes gitlab-qa#68
|
|
Fixes gitlab-org/gitlab-qa#66
|
|
|
|
An upcoming update to rubocop-gitlab-security added additional
violations.
|
|
|
|
Configure headless chrome screenshots correctly
See merge request !12746
|
|
Increase GitLab QA screenshots size
See merge request !12748
|
|
|