mirror of
https://github.com/openobserve/openobserve.git
synced 2026-11-04 08:09:27 +00:00
### **User description**
- Added IngestionConfigPage POM with 20+ methods for page interactions
- Created 20+ comprehensive tests for ingestion configuration (3 P0, 8
P1, 1 P2)
- Tests cover: Navigation, Copy functionality, Configuration content,
Search
- Fixed all hardcoded waitForTimeout() calls with element-based waits
- Fixed search test selector to use .data-sources-recommended-tabs
.q-tab
- All tests passing (46.3s execution time)
___
### **PR Type**
Tests, Enhancement
___
### **Description**
- Added IngestionConfigPage POM for ingestion interactions
- Introduced comprehensive ingestion configuration tests
- Updated PageManager to include new POM
- Tests cover navigation, copy, content, search
___
### Diagram Walkthrough
```mermaid
flowchart LR
A["PageManager"]
B["IngestionConfigPage POM"]
C["Ingestion config tests"]
A -- "imports" --> B
C -- "uses" --> A
```
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>ingestionConfigPage.js</strong><dd><code>Implement
ingestion config page object</code>
</dd></summary>
<hr>
tests/ui-testing/pages/generalPages/ingestionConfigPage.js
<ul><li>Created <code>IngestionConfigPage</code> class<br> <li> Defined
selectors for navigation, tabs, copy, search<br> <li> Implemented
navigation, copy, search, assertion methods<br> <li> Replaced hardcoded
waits with element-based waits</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9643/files#diff-22a47625a9849c4d6b6a0944d864db20d03453666f9cbfaaeb2cf5b57e00d5c5">+147/-0</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Tests</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>page-manager.js</strong><dd><code>Integrate ingestion
config POM</code>
</dd></summary>
<hr>
tests/ui-testing/pages/page-manager.js
<ul><li>Imported <code>IngestionConfigPage</code><br> <li> Added
<code>ingestionConfigPage</code> to <code>PageManager</code>
constructor</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9643/files#diff-565eab8b3c767ae50c9d05e591621d14f66b81af84d6b5ea6efe136c1c3933df">+2/-0</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>ingestion-config.spec.js</strong><dd><code>Add
ingestion configuration tests</code>
</dd></summary>
<hr>
tests/ui-testing/playwright-tests/Ingestion/ingestion-config.spec.js
<ul><li>Added navigation tests for recommended/custom pages<br> <li>
Added copy functionality tests for Fluentd and Prometheus<br> <li> Added
configuration content validation tests<br> <li> Added recommended page
search and filter test</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9643/files#diff-35352597cf8f8ded17cd9c0abac4efb41cb255a1f69f110129a1b0427b4c8870">+159/-0</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
---------
Co-authored-by: Claude <noreply@anthropic.com>
303 lines
6.2 KiB
JSON
303 lines
6.2 KiB
JSON
[
|
|
{
|
|
"path": "/ingestion/custom/logs/curl",
|
|
"label": "Curl",
|
|
"category": "logs"
|
|
},
|
|
{
|
|
"path": "/ingestion/custom/logs/fluentbit",
|
|
"label": "FluentBit",
|
|
"category": "logs"
|
|
},
|
|
{
|
|
"path": "/ingestion/custom/logs/fluentd",
|
|
"label": "Fluentd",
|
|
"category": "logs"
|
|
},
|
|
{
|
|
"path": "/ingestion/custom/logs/filebeat",
|
|
"label": "FileBeat",
|
|
"category": "logs"
|
|
},
|
|
{
|
|
"path": "/ingestion/custom/logs/vector",
|
|
"label": "Vector",
|
|
"category": "logs"
|
|
},
|
|
{
|
|
"path": "/ingestion/custom/logs/syslogng",
|
|
"label": "Syslog-ng",
|
|
"category": "logs"
|
|
},
|
|
{
|
|
"path": "/ingestion/custom/logs/logstash",
|
|
"label": "Logstash",
|
|
"category": "logs"
|
|
},
|
|
{
|
|
"path": "/ingestion/custom/metrics/prometheus",
|
|
"label": "Prometheus",
|
|
"category": "metrics"
|
|
},
|
|
{
|
|
"path": "/ingestion/custom/metrics/otelCollector",
|
|
"label": "OTEL Collector",
|
|
"category": "metrics"
|
|
},
|
|
{
|
|
"path": "/ingestion/custom/metrics/cloudwatch",
|
|
"label": "CloudWatch Metrics",
|
|
"category": "metrics"
|
|
},
|
|
{
|
|
"path": "/ingestion/custom/traces/opentelemetry",
|
|
"label": "OpenTelemetry",
|
|
"category": "traces"
|
|
},
|
|
{
|
|
"path": "/ingestion/databases/postgres",
|
|
"label": "PostgreSQL",
|
|
"category": "databases"
|
|
},
|
|
{
|
|
"path": "/ingestion/databases/mysql",
|
|
"label": "MySQL",
|
|
"category": "databases"
|
|
},
|
|
{
|
|
"path": "/ingestion/databases/mongodb",
|
|
"label": "MongoDB",
|
|
"category": "databases"
|
|
},
|
|
{
|
|
"path": "/ingestion/databases/redis",
|
|
"label": "Redis",
|
|
"category": "databases"
|
|
},
|
|
{
|
|
"path": "/ingestion/databases/cassandra",
|
|
"label": "Cassandra",
|
|
"category": "databases"
|
|
},
|
|
{
|
|
"path": "/ingestion/databases/elasticsearch",
|
|
"label": "Elasticsearch",
|
|
"category": "databases"
|
|
},
|
|
{
|
|
"path": "/ingestion/databases/couchdb",
|
|
"label": "CouchDB",
|
|
"category": "databases"
|
|
},
|
|
{
|
|
"path": "/ingestion/databases/dynamodb",
|
|
"label": "DynamoDB",
|
|
"category": "databases"
|
|
},
|
|
{
|
|
"path": "/ingestion/databases/oracle",
|
|
"label": "Oracle",
|
|
"category": "databases"
|
|
},
|
|
{
|
|
"path": "/ingestion/databases/sqlserver",
|
|
"label": "SQL Server",
|
|
"category": "databases"
|
|
},
|
|
{
|
|
"path": "/ingestion/databases/snowflake",
|
|
"label": "Snowflake",
|
|
"category": "databases"
|
|
},
|
|
{
|
|
"path": "/ingestion/databases/databricks",
|
|
"label": "Databricks",
|
|
"category": "databases"
|
|
},
|
|
{
|
|
"path": "/ingestion/databases/saphana",
|
|
"label": "SAP HANA",
|
|
"category": "databases"
|
|
},
|
|
{
|
|
"path": "/ingestion/databases/aerospike",
|
|
"label": "Aerospike",
|
|
"category": "databases"
|
|
},
|
|
{
|
|
"path": "/ingestion/databases/zookeeper",
|
|
"label": "Zookeeper",
|
|
"category": "databases"
|
|
},
|
|
{
|
|
"path": "/ingestion/servers/nginx",
|
|
"label": "Nginx",
|
|
"category": "servers"
|
|
},
|
|
{
|
|
"path": "/ingestion/servers/apache",
|
|
"label": "Apache",
|
|
"category": "servers"
|
|
},
|
|
{
|
|
"path": "/ingestion/servers/iis",
|
|
"label": "IIS",
|
|
"category": "servers"
|
|
},
|
|
{
|
|
"path": "/ingestion/security/okta",
|
|
"label": "Okta",
|
|
"category": "security"
|
|
},
|
|
{
|
|
"path": "/ingestion/security/office365",
|
|
"label": "Office 365",
|
|
"category": "security"
|
|
},
|
|
{
|
|
"path": "/ingestion/security/googleworkspace",
|
|
"label": "Google Workspace",
|
|
"category": "security"
|
|
},
|
|
{
|
|
"path": "/ingestion/security/jumpcloud",
|
|
"label": "JumpCloud",
|
|
"category": "security"
|
|
},
|
|
{
|
|
"path": "/ingestion/security/openvpn",
|
|
"label": "OpenVPN",
|
|
"category": "security"
|
|
},
|
|
{
|
|
"path": "/ingestion/security/osquery",
|
|
"label": "OSQuery",
|
|
"category": "security"
|
|
},
|
|
{
|
|
"path": "/ingestion/security/falco",
|
|
"label": "Falco",
|
|
"category": "security"
|
|
},
|
|
{
|
|
"path": "/ingestion/devops/jenkins",
|
|
"label": "Jenkins",
|
|
"category": "devops"
|
|
},
|
|
{
|
|
"path": "/ingestion/devops/terraform",
|
|
"label": "Terraform",
|
|
"category": "devops"
|
|
},
|
|
{
|
|
"path": "/ingestion/devops/ansible",
|
|
"label": "Ansible",
|
|
"category": "devops"
|
|
},
|
|
{
|
|
"path": "/ingestion/devops/githubactions",
|
|
"label": "GitHub Actions",
|
|
"category": "devops"
|
|
},
|
|
{
|
|
"path": "/ingestion/networking/netflow",
|
|
"label": "Netflow",
|
|
"category": "networking"
|
|
},
|
|
{
|
|
"path": "/ingestion/messagequeues/kafka",
|
|
"label": "Kafka",
|
|
"category": "messagequeues"
|
|
},
|
|
{
|
|
"path": "/ingestion/messagequeues/rabbitmq",
|
|
"label": "RabbitMQ",
|
|
"category": "messagequeues"
|
|
},
|
|
{
|
|
"path": "/ingestion/messagequeues/nats",
|
|
"label": "NATS",
|
|
"category": "messagequeues"
|
|
},
|
|
{
|
|
"path": "/ingestion/languages/python",
|
|
"label": "Python",
|
|
"category": "languages"
|
|
},
|
|
{
|
|
"path": "/ingestion/languages/nodejs",
|
|
"label": "Node.js",
|
|
"category": "languages"
|
|
},
|
|
{
|
|
"path": "/ingestion/languages/java",
|
|
"label": "Java",
|
|
"category": "languages"
|
|
},
|
|
{
|
|
"path": "/ingestion/languages/go",
|
|
"label": "Go",
|
|
"category": "languages"
|
|
},
|
|
{
|
|
"path": "/ingestion/languages/dotnetlogs",
|
|
"label": ".NET Logs",
|
|
"category": "languages"
|
|
},
|
|
{
|
|
"path": "/ingestion/languages/dotnettracing",
|
|
"label": ".NET Tracing",
|
|
"category": "languages"
|
|
},
|
|
{
|
|
"path": "/ingestion/languages/fastapi",
|
|
"label": "FastAPI",
|
|
"category": "languages"
|
|
},
|
|
{
|
|
"path": "/ingestion/others/airbyte",
|
|
"label": "Airbyte",
|
|
"category": "others"
|
|
},
|
|
{
|
|
"path": "/ingestion/others/airflow",
|
|
"label": "Airflow",
|
|
"category": "others"
|
|
},
|
|
{
|
|
"path": "/ingestion/others/cribl",
|
|
"label": "Cribl",
|
|
"category": "others"
|
|
},
|
|
{
|
|
"path": "/ingestion/others/heroku",
|
|
"label": "Heroku",
|
|
"category": "others"
|
|
},
|
|
{
|
|
"path": "/ingestion/others/vercel",
|
|
"label": "Vercel",
|
|
"category": "others"
|
|
},
|
|
{
|
|
"path": "/ingestion/recommended/kubernetes",
|
|
"label": "Kubernetes",
|
|
"category": "recommended"
|
|
},
|
|
{
|
|
"path": "/ingestion/recommended/gcp",
|
|
"label": "GCP",
|
|
"category": "recommended"
|
|
},
|
|
{
|
|
"path": "/ingestion/recommended/azure",
|
|
"label": "Azure",
|
|
"category": "recommended"
|
|
},
|
|
{
|
|
"path": "/ingestion/recommended/aws",
|
|
"label": "AWS",
|
|
"category": "recommended"
|
|
}
|
|
]
|