Skip to content

Draft: Adding Webhook specs and Smocker tooling

Sean Gregory requested to merge qa/webhook_specs into master

Description of the test

This MR introduces a test that validates that a WebHook push event successfully sends to an external server.

It introduces the capability of running tests against WebHook integration with an external service that can be queried from the test

Depends on: gitlab-qa!824 (merged)

Webhook events that are tested:

  • push
  • merge request
  • issue
  • note
  • wiki page

Strategy

  • Spin up smocker in a docker container from the test
  • Associate a test project with the server via the hooks api
  • Create events against the test project
  • Validate the state of the external service

Checklist

  • Confirm the test has a testcase: tag linking to an existing test case in the test case project.
  • Note if the test is intended to run in specific scenarios. If a scenario is new, add a link to the MR that adds the new scenario.
  • Follow the end-to-end tests style guide and best practices.
  • Use the appropriate RSpec metadata tag(s).
  • Ensure that a created resource is removed after test execution. A Group resource can be shared between multiple tests. Do not remove it unless it has a unique path. Note that we have a cleanup job that periodically removes groups under gitlab-qa-sandbox-group.
  • Ensure that no transient bugs are hidden accidentally due to the usage of waits and reloads.
  • Verify the tags to ensure it runs on the desired test environments.
  • If this MR has a dependency on another MR, such as a GitLab QA MR, specify the order in which the MRs should be merged.
  • (If applicable) Create a follow-up issue to document the special setup necessary to run the test: ISSUE_LINK
  • If the test requires an admin's personal access token, ensure that the test passes on your local environment with and without the GITLAB_QA_ADMIN_ACCESS_TOKEN provided.
Edited by Sean Gregory

Merge request reports