From 86881397a33dc8429fa22010bcac910838e2e671 Mon Sep 17 00:00:00 2001 From: c8y3 <25362953+c8y3@users.noreply.github.com> Date: Wed, 3 Jan 2024 13:18:24 +0100 Subject: [PATCH] Added missing files with python end to end tests --- .gitignore | 2 ++ validation/end_to_end/requirements.txt | 1 + validation/end_to_end/test_end_to_end.py | 29 ++++++++++++++++++++++++ validation/graylog_control | 15 ------------ 4 files changed, 32 insertions(+), 15 deletions(-) create mode 100644 validation/end_to_end/requirements.txt create mode 100644 validation/end_to_end/test_end_to_end.py delete mode 100755 validation/graylog_control diff --git a/.gitignore b/.gitignore index 240ba56..97915a5 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,8 @@ # For backend tests in python /validation/__pycache__/ /validation/venv/ +/validation/end_to_end/__pycache__/ +/validation/end_to_end/venv/ # IDE .idea diff --git a/validation/end_to_end/requirements.txt b/validation/end_to_end/requirements.txt new file mode 100644 index 0000000..562b1bb --- /dev/null +++ b/validation/end_to_end/requirements.txt @@ -0,0 +1 @@ +pytest-playwright~=0.4 diff --git a/validation/end_to_end/test_end_to_end.py b/validation/end_to_end/test_end_to_end.py new file mode 100644 index 0000000..285e76d --- /dev/null +++ b/validation/end_to_end/test_end_to_end.py @@ -0,0 +1,29 @@ +from pytest import fixture +from graylog import Graylog + +from playwright.sync_api import Page, expect + + +@fixture(scope="function", autouse=True) +def before_each_after_each(page: Page): + graylog = Graylog('../../runtime') + graylog.start() + graylog.configure_telemetry() + + page.goto('http://127.0.0.1:9000/') + # note: could also be: getByRole('textbox', { name: 'Username' }) + page.get_by_label('Username').fill('admin') + page.get_by_label('Password').fill('admin') + page.get_by_role('button', name='Sign in').click() + + yield + graylog.stop() + +def test_plugin_logging_alert_should_be_registered_issue_50(page: Page): + page.get_by_role('button', name='System').click() + page.get_by_role('menuitem', name='Configurations').click() + page.get_by_role('button', name='Plugins').click() + + # note: could also be: await expect(page.getByText('Logging Alert')).toBeVisible(); + expect(page.get_by_role('button', name='Logging')).to_have_text('Logging Alert') + diff --git a/validation/graylog_control b/validation/graylog_control deleted file mode 100755 index c473535..0000000 --- a/validation/graylog_control +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/python3 - -from argparse import ArgumentParser -from graylog import Graylog - -parser = ArgumentParser() -parser.add_argument('command', choices=['start', 'stop']) - -arguments = parser.parse_args() - -graylog = Graylog() -if arguments.command == 'start': - graylog.start() -if arguments.command == 'stop': - graylog.stop()