mirror of
https://github.com/openobserve/openobserve.git
synced 2026-11-04 08:09:27 +00:00
230 lines
16 KiB
Python
230 lines
16 KiB
Python
import sys
|
|
from pathlib import Path
|
|
|
|
# Add the current directory to sys.path
|
|
current_dir = Path(__file__).parent
|
|
sys.path.append(str(current_dir))
|
|
|
|
from pages.template_page import TemplatePage
|
|
from pages.folder_page import FolderPage
|
|
from pages.dashboard_page import DashboardPage
|
|
from pages.destination_page import DestinationPage
|
|
from pages.alert_page import AlertPage
|
|
from pages.user_page import UserPage
|
|
from pages.enrichment_page import EnrichmentPage
|
|
from pages.function_page import FunctionPage
|
|
from pages.pipeline_page import PipelinePage
|
|
from pages.report_page import ReportPage
|
|
from pages.savedview_page import SavedViewPage
|
|
from pages.serviceaccount_page import ServiceAccountPage
|
|
from pages.search_page import SearchPage
|
|
from pages.alertV2_page import AlertV2Page
|
|
|
|
|
|
# Use environment variable
|
|
def create_objects(session, base_url, user_email, user_password, org_id, stream_name, num_objects):
|
|
"""Create objects in the OpenObserve running instance."""
|
|
|
|
|
|
template_page = TemplatePage(session, base_url, org_id)
|
|
destination_page = DestinationPage(session, base_url, org_id)
|
|
alert_page = AlertPage(session, base_url, org_id)
|
|
folder_page = FolderPage(session, base_url, org_id)
|
|
dashboard_page = DashboardPage(session, base_url, org_id)
|
|
user_page = UserPage(session, base_url, org_id)
|
|
enrichment_page = EnrichmentPage(session, base_url, org_id)
|
|
function_page = FunctionPage(session, base_url, org_id)
|
|
pipeline_page = PipelinePage(session, base_url, org_id)
|
|
report_page = ReportPage(session, base_url, org_id)
|
|
savedview_page = SavedViewPage(session, base_url, org_id)
|
|
serviceaccount_page = ServiceAccountPage(session, base_url, org_id)
|
|
search_page = SearchPage(session, base_url, org_id)
|
|
alertV2_page = AlertV2Page(session, base_url, org_id)
|
|
|
|
for i in range(num_objects):
|
|
|
|
# Create templates
|
|
template_name_webhook = f"template_webhook_{template_page.Unique_value_temp}_{i}"
|
|
template_page.create_template_webhook(session, base_url, user_email, user_password, org_id, template_name_webhook)
|
|
|
|
template_name_email = f"template_email_{template_page.Unique_value_temp}_{i}"
|
|
template_page.create_template_email(session, base_url, user_email, user_password, org_id, template_name_email)
|
|
|
|
# Create destinations
|
|
|
|
destination_name_webhook = f"destination_webhook_{destination_page.Unique_value_destination}_{i}"
|
|
destination_page.create_destination_webhook(session, base_url, org_id, user_email, user_password, template_name_webhook, destination_name_webhook)
|
|
|
|
email_address_admin = f"admin{user_page.Unique_value_user}{i}@gmail.com"
|
|
user_page.create_user_admin(session, base_url, user_email, user_password, org_id, email_address_admin)
|
|
|
|
destination_name_email = f"destination_email_{destination_page.Unique_value_destination}_{i}"
|
|
destination_page.create_destination_email(session, base_url, org_id, user_email, user_password, email_address_admin, template_name_email, destination_name_email)
|
|
|
|
destination_name_pipeline = f"destination_pipeline_{destination_page.Unique_value_destination}_{i}"
|
|
destination_page.create_destination_pipeline(session, base_url, org_id, user_email, user_password, destination_name_pipeline)
|
|
folder_name = f"folder_{folder_page.Unique_value_folder}_{i}"
|
|
folder_id = folder_page.create_folder_dashboard_v2(session, base_url, user_email, user_password, org_id, folder_name)
|
|
|
|
dashboard_name = f"dashboard_{dashboard_page.Unique_value_dashboard}_{i}"
|
|
dashboard_id = dashboard_page.create_dashboard(session, base_url, user_email, user_password, org_id, stream_name, folder_id, dashboard_name)
|
|
|
|
enrichment_name = f"enrichment_{enrichment_page.Unique_value_enrichment}_{i}"
|
|
enrichment_page.create_enrichment(session, base_url, user_email, user_password, org_id, enrichment_name)
|
|
|
|
function_name = f"function_{function_page.Unique_value_function}_{i}"
|
|
function_page.create_function(session, base_url, user_email, user_password, org_id, function_name)
|
|
|
|
# Only one realtime pipeline may claim a source stream, so give each its own.
|
|
realTime_pipeline_name = f"realTime_pipeline_{pipeline_page.Unique_value_pipeline}_{i}"
|
|
pipeline_page.create_realTime_pipeline(session, base_url, user_email, user_password, org_id, f"{stream_name}_rt_{i}", realTime_pipeline_name)
|
|
|
|
scheduled_pipeline_name = f"scheduled_pipeline_{pipeline_page.Unique_value_pipeline}_{i}"
|
|
pipeline_page.create_scheduled_pipeline(session, base_url, user_email, user_password, org_id, stream_name, scheduled_pipeline_name)
|
|
|
|
scheduled_report_name = f"scheduled_report_{report_page.Unique_value_report}_{i}"
|
|
report_page.create_scheduled_report(session, base_url, user_email, user_password, org_id, dashboard_id, folder_id, scheduled_report_name)
|
|
|
|
cached_report_name = f"cached_report_{report_page.Unique_value_report}_{i}"
|
|
report_page.create_cached_report(session, base_url, user_email, user_password, org_id, dashboard_id, folder_id, cached_report_name)
|
|
|
|
savedview_name = f"savedview_{savedview_page.Unique_value_savedview}_{i}"
|
|
savedview_page.create_savedView(session, base_url, user_email, user_password, org_id, stream_name, savedview_name)
|
|
|
|
email_address_serviceaccount = f"serviceaccount{user_page.Unique_value_user}{i}@gmail.com"
|
|
serviceaccount_page.create_service_account(session, base_url, user_email, user_password, org_id, email_address_serviceaccount)
|
|
|
|
# Create alerts
|
|
alert_webhook = f"standard_{alert_page.Unique_value_alert}_{i}"
|
|
alert_page.create_standard_alert(session, base_url, user_email, user_password, org_id, stream_name, template_name_webhook, destination_name_webhook, alert_webhook)
|
|
|
|
alert_email = f"alert_email_{alert_page.Unique_value_alert}_{i}"
|
|
alert_page.create_standard_alert(session, base_url, user_email, user_password, org_id, stream_name, template_name_email, destination_name_email, alert_email)
|
|
|
|
alert_cron = f"alert_cron_{alert_page.Unique_value_alert}_{i}"
|
|
alert_page.create_standard_alert_cron(session, base_url, user_email, user_password, org_id, stream_name, template_name_email, destination_name_email, alert_cron)
|
|
|
|
alert_real_time = f"alert_real_time_{alert_page.Unique_value_alert}_{i}"
|
|
alert_page.create_real_time_alert(session, base_url, user_email, user_password, org_id, stream_name, template_name_webhook, destination_name_webhook, alert_real_time)
|
|
|
|
alert_sql = f"alert_sql_{alert_page.Unique_value_alert}_{i}"
|
|
alert_page.create_standard_alert_sql(session, base_url, user_email, user_password, org_id, stream_name, template_name_webhook, destination_name_webhook, alert_sql)
|
|
|
|
# Create search
|
|
search_page.search_partition_logs_query_2_hours_stream(session, base_url, user_email, user_password, org_id, stream_name)
|
|
search_page.search_cache_logs_query_2_hours_stream(session, base_url, user_email, user_password, org_id, stream_name)
|
|
search_page.search_histogram_logs_query_2_hours_stream(session, base_url, user_email, user_password, org_id, stream_name)
|
|
|
|
# Test cases for Version 2 API
|
|
# Create templates
|
|
template_v2_webhook = f"template_webhook_{template_page.Unique_value_temp}_{i}v2"
|
|
template_page.create_template_webhook(session, base_url, user_email, user_password, org_id, template_v2_webhook)
|
|
# Create destinations
|
|
destination_v2_webhook = f"destination_webhook_{destination_page.Unique_value_destination}_{i}v2"
|
|
destination_page.create_destination_webhook(session, base_url, org_id, user_email, user_password, template_v2_webhook, destination_v2_webhook)
|
|
# Create folder
|
|
folder_v2_name = f"folder_{folder_page.Unique_value_folder}_{i}v2"
|
|
folder_id = folder_page.create_folder_alert_v2(session, base_url, user_email, user_password, org_id, folder_v2_name)
|
|
# Create alert
|
|
alert_v2_name = f"alert_{alertV2_page.Unique_value_alert}_{i}v2"
|
|
alertV2_page.create_scheduled_sql_alert(session, base_url, user_email, user_password, org_id, stream_name, destination_v2_webhook, folder_id, alert_v2_name)
|
|
alert_v2_name_no_trigger = f"alert_{alertV2_page.Unique_value_alert}_{i}v2_no_trigger"
|
|
alertV2_page.create_scheduled_sql_alert_vrl_no_trigger(session, base_url, user_email, user_password, org_id, stream_name, destination_v2_webhook, folder_id, alert_v2_name_no_trigger)
|
|
alert_v2_name_trigger = f"alert_{alertV2_page.Unique_value_alert}_{i}v2_trigger"
|
|
alertV2_page.create_scheduled_sql_alert_vrl_trigger(session, base_url, user_email, user_password, org_id, stream_name, destination_v2_webhook, folder_id, alert_v2_name_trigger)
|
|
|
|
|
|
# Created all objects successfully by admin user
|
|
|
|
# Create templates
|
|
|
|
template_admin_webhook = f"template_webhook_{template_page.Unique_value_temp}_{i}admin"
|
|
template_page.create_template_webhook(session, base_url, email_address_admin, "Complexpass#123", org_id, template_admin_webhook)
|
|
|
|
template_admin_email = f"template_email_{template_page.Unique_value_temp}_{i}admin"
|
|
template_page.create_template_email(session, base_url, email_address_admin, "Complexpass#123", org_id, template_admin_email)
|
|
|
|
# Create destinations
|
|
|
|
destination_admin_webhook = f"destination_webhook_{destination_page.Unique_value_destination}_{i}admin"
|
|
destination_page.create_destination_webhook(session, base_url, org_id, email_address_admin, "Complexpass#123", template_admin_webhook, destination_admin_webhook)
|
|
|
|
email_admin = f"aduser{user_page.Unique_value_user}{i}@gmail.com"
|
|
user_page.create_user_admin(session, base_url, email_address_admin, "Complexpass#123", org_id, email_admin)
|
|
|
|
destination_admin_email = f"destination_email_{destination_page.Unique_value_destination}_{i}admin"
|
|
destination_page.create_destination_email(session, base_url, org_id, email_address_admin, "Complexpass#123", email_admin, template_admin_email, destination_admin_email)
|
|
|
|
destination_admin_pipeline = f"destination_pipeline_{destination_page.Unique_value_destination}_{i}admin"
|
|
destination_page.create_destination_pipeline(session, base_url, org_id, email_address_admin, "Complexpass#123", destination_admin_pipeline)
|
|
|
|
folder_admin = f"folder_{folder_page.Unique_value_folder}_{i}admin"
|
|
folder_id = folder_page.create_folder_dashboard_v2(session, base_url, email_address_admin, "Complexpass#123", org_id, folder_admin)
|
|
|
|
dashboard_admin = f"dashboard_{dashboard_page.Unique_value_dashboard}_{i}admin"
|
|
dashboard_id = dashboard_page.create_dashboard(session, base_url, email_address_admin, "Complexpass#123", org_id, stream_name, folder_id, dashboard_admin)
|
|
|
|
enrichment_admin = f"enrichment_{enrichment_page.Unique_value_enrichment}_{i}admin"
|
|
enrichment_page.create_enrichment(session, base_url, email_address_admin, "Complexpass#123", org_id, enrichment_admin)
|
|
|
|
function_admin = f"function_{function_page.Unique_value_function}_{i}admin"
|
|
function_page.create_function(session, base_url, email_address_admin, "Complexpass#123", org_id, function_admin)
|
|
|
|
realTime_pipeline_admin = f"realTime_pipeline_{pipeline_page.Unique_value_pipeline}_{i}admin"
|
|
pipeline_page.create_realTime_pipeline(session, base_url, email_address_admin, "Complexpass#123", org_id, f"{stream_name}_rt_{i}admin", realTime_pipeline_admin)
|
|
|
|
scheduled_pipeline_admin = f"scheduled_pipeline_{pipeline_page.Unique_value_pipeline}_{i}admin"
|
|
pipeline_page.create_scheduled_pipeline(session, base_url, email_address_admin, "Complexpass#123", org_id, stream_name, scheduled_pipeline_admin)
|
|
|
|
scheduled_report_admin = f"scheduled_report_{report_page.Unique_value_report}_{i}admin"
|
|
report_page.create_scheduled_report(session, base_url, email_address_admin, "Complexpass#123", org_id, dashboard_id, folder_id, scheduled_report_admin)
|
|
|
|
cached_report_admin = f"cached_report_{report_page.Unique_value_report}_{i}admin"
|
|
report_page.create_cached_report(session, base_url, email_address_admin, "Complexpass#123", org_id, dashboard_id, folder_id, cached_report_admin)
|
|
|
|
savedview_admin = f"savedview_{savedview_page.Unique_value_savedview}_{i}admin"
|
|
savedview_page.create_savedView(session, base_url, email_address_admin, "Complexpass#123", org_id, stream_name, savedview_admin)
|
|
|
|
email_address_serviceaccount_admin = f"serviceaccount_admin{user_page.Unique_value_user}{i}@gmail.com"
|
|
serviceaccount_page.create_service_account(session, base_url, email_address_admin, "Complexpass#123", org_id, email_address_serviceaccount_admin)
|
|
|
|
# Create alerts
|
|
alert_webhook_admin = f"alert_webhook_{alert_page.Unique_value_alert}_{i}admin"
|
|
alert_page.create_standard_alert(session, base_url, email_address_admin, "Complexpass#123", org_id, stream_name, template_name_webhook, destination_name_webhook, alert_webhook_admin)
|
|
|
|
alert_email_admin = f"alert_email_{alert_page.Unique_value_alert}_{i}admin"
|
|
alert_page.create_standard_alert(session, base_url, email_address_admin, "Complexpass#123", org_id, stream_name, template_name_email, destination_name_email, alert_email_admin)
|
|
|
|
alert_cron_admin = f"alert_cron_{alert_page.Unique_value_alert}_{i}admin"
|
|
alert_page.create_standard_alert_cron(session, base_url, email_address_admin, "Complexpass#123", org_id, stream_name, template_name_email, destination_name_email, alert_cron_admin)
|
|
|
|
alert_real_time_admin = f"alert_real_time_{alert_page.Unique_value_alert}_{i}admin"
|
|
alert_page.create_real_time_alert(session, base_url, email_address_admin, "Complexpass#123", org_id, stream_name, template_name_webhook, destination_name_webhook, alert_real_time_admin)
|
|
|
|
alert_sql_admin = f"alert_sql_{alert_page.Unique_value_alert}_{i}admin"
|
|
alert_page.create_standard_alert_sql(session, base_url, email_address_admin, "Complexpass#123", org_id, stream_name, template_name_webhook, destination_name_webhook, alert_sql_admin)
|
|
|
|
# Create search
|
|
search_page.search_partition_logs_query_2_hours_stream(session, base_url, email_address_admin, "Complexpass#123", org_id, stream_name)
|
|
search_page.search_cache_logs_query_2_hours_stream(session, base_url, email_address_admin, "Complexpass#123", org_id, stream_name)
|
|
search_page.search_histogram_logs_query_2_hours_stream(session, base_url, email_address_admin, "Complexpass#123", org_id, stream_name)
|
|
|
|
|
|
# Test cases for Version 2 API
|
|
# Create templates
|
|
template_v2_webhook = f"template_webhook_{template_page.Unique_value_temp}_{i}adminv2"
|
|
template_page.create_template_webhook(session, base_url, email_address_admin, "Complexpass#123", org_id, template_v2_webhook)
|
|
# Create destinations
|
|
destination_v2_webhook = f"destination_webhook_{destination_page.Unique_value_destination}_{i}adminv2"
|
|
destination_page.create_destination_webhook(session, base_url, org_id, email_address_admin, "Complexpass#123", template_v2_webhook, destination_v2_webhook)
|
|
# Create folder
|
|
folder_v2_name = f"folder_{folder_page.Unique_value_folder}_{i}adminv2"
|
|
folder_id = folder_page.create_folder_alert_v2(session, base_url, email_address_admin, "Complexpass#123", org_id, folder_v2_name)
|
|
# Create alert
|
|
alert_v2_name = f"alert_{alertV2_page.Unique_value_alert}_{i}adminv2"
|
|
alertV2_page.create_scheduled_sql_alert(session, base_url, email_address_admin, "Complexpass#123", org_id, stream_name, destination_v2_webhook, folder_id, alert_v2_name)
|
|
alert_v2_name_no_trigger = f"alert_{alertV2_page.Unique_value_alert}_{i}adminv2_no_trigger"
|
|
alertV2_page.create_scheduled_sql_alert_vrl_no_trigger(session, base_url, email_address_admin, "Complexpass#123", org_id, stream_name, destination_v2_webhook, folder_id, alert_v2_name_no_trigger)
|
|
alert_v2_name_trigger = f"alert_{alertV2_page.Unique_value_alert}_{i}adminv2_trigger"
|
|
alertV2_page.create_scheduled_sql_alert_vrl_trigger(session, base_url, email_address_admin, "Complexpass#123", org_id, stream_name, destination_v2_webhook, folder_id, alert_v2_name_trigger)
|
|
|