mirror of
https://github.com/openobserve/openobserve.git
synced 2026-11-05 16:10:43 +00:00
4c080dfd5fdd17cb0e01ddcbb95e6900172e138e
25
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
d1d643814e |
test: enhance cleanup patterns for orphaned test data (#10232)
### **User description**
## Summary
- Add URL enrichment tables cleanup support via new
`/api/{org}/enrichment_tables/status` endpoint
- Add cleanup patterns for orphaned streams, functions, pipelines, and
enrichment tables
- Skip data ingestion when running cleanup.spec.js alone (optimization
for cleanup-only runs)
## Changes
### URL Enrichment Tables (apiCleanup.js)
- `fetchUrlEnrichmentTables()` - Fetches URL-based tables from status
API
- `cleanupUrlEnrichmentTables(patterns)` - Cleans up tables showing "NaN
MB" in UI
### New Cleanup Patterns (cleanup.spec.js)
**Streams:**
- `e2e_apostrophe_*` - Bug #9475 apostrophe test streams
- `e2e_traces_pipeline_test`
- `e2e_traces_<timestamp>_<suffix>`
**Functions:**
- `vrl_func_*` - Pipeline VRL function tests
- `vrl_traces_func_*` - Traces VRL function tests
- `vrl_metrics_func_*` - Metrics VRL function tests
**Pipelines:**
- `metrics-pipeline-*`
- `traces-pipeline-*`
- `condition-pipeline-*`
- `metrics-condition-pipeline-*`
**URL Enrichment Tables:**
- `schema_mismatch_*`, `schema_view_*`, `url_404_*`, `url_lifecycle_*`
- `invalid_url_*`, `cancel_test_*`, `toggle_test_*`, `edit_form_*`
### Global Setup Optimization (global-setup.js)
- Auto-detect cleanup-only runs via `process.argv`
- Skip logs, metrics, and traces ingestion for cleanup runs
## Test plan
- [ ] Run cleanup.spec.js standalone and verify no data ingestion occurs
- [ ] Verify orphaned test data is cleaned up correctly
___
### **PR Type**
Enhancement, Tests
___
### **Description**
- Add URL enrichment tables cleanup methods
- Extend cleanup.spec.js with new regex patterns
- Invoke cleanupUrlEnrichmentTables in tests
- Skip data ingestion on cleanup-only runs
___
<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>apiCleanup.js</strong><dd><code>Add URL enrichment
tables cleanup</code>
</dd></summary>
<hr>
tests/ui-testing/pages/apiCleanup.js
<ul><li>Added fetchUrlEnrichmentTables method<br> <li> Added
cleanupUrlEnrichmentTables method<br> <li> Handled fetch and delete
errors</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10232/files#diff-537fe76c0d8e26e81c5f77c83bd0ee35daaa973822105c809bf83171a26b33c5">+79/-0</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>global-setup.js</strong><dd><code>Skip ingestion in
cleanup-only runs</code>
</dd></summary>
<hr>
tests/ui-testing/playwright-tests/utils/global-setup.js
<ul><li>Introduced isCleanupOnly flag<br> <li> Skipped data ingestion
for cleanup-only runs<br> <li> Retained conditional ingestion logic</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10232/files#diff-06323dad7214f86b41b62e121e716eeea0054bc4d950c6bcf4a0efe53894acc8">+20/-14</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Tests</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>cleanup.spec.js</strong><dd><code>Extend cleanup test
patterns and URL tables</code>
</dd></summary>
<hr>
tests/ui-testing/playwright-tests/cleanup.spec.js
<ul><li>Updated pipeline cleanup regex patterns<br> <li> Extended
function cleanup patterns<br> <li> Modified enrichment tables
patterns<br> <li> Added cleanupUrlEnrichmentTables invocation</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10232/files#diff-c214275a512fa285a7e4f2ab61dfcb42d71a0436b0e4241f94d7b45693587983">+27/-4</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
e145c355b9 |
test: add variable dependency test cases (#10200)
### **PR Type**
Enhancement, Tests
___
### **Description**
- Add helper to change variable and monitor dependencies
- Refactor dependency tests to use helper function
- Migrate variable-helpers.js to ES module exports
- Enable dependency tests in CI workflow
___
<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>dashboard-variables-scoped.js</strong><dd><code>Add
changeVariableValueAndMonitorDependencies helper</code>
</dd></summary>
<hr>
tests/ui-testing/pages/dashboardPages/dashboard-variables-scoped.js
<ul><li>Added <code>changeVariableValueAndMonitorDependencies</code>
method<br> <li> Dynamically import and use
<code>monitorVariableAPICalls</code><br> <li> Sequence dropdown
interaction and API monitoring<br> <li> Error handling for missing
options and load failures</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10200/files#diff-86abb9f90fabd982dedfdd9a21a052a47b6984edc7bd29a51ee104c8c473aec4">+101/-0</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Tests</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>dashboard-variables-dependency.spec.js</strong><dd><code>Refactor
tests to use new dependency helper</code>
</dd></summary>
<hr>
tests/ui-testing/playwright-tests/Dashboards/dashboard-variables-dependency.spec.js
<ul><li>Replaced manual API monitor and dropdown logic with helper<br>
<li> Updated <code>expectedAPICalls</code> and assertion on
<code>result.success</code><br> <li> Skipped unstable error state test
(<code>test.skip</code>)<br> <li> Extended timeouts and stabilized
selectors</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10200/files#diff-ad5a7685fbf4477a81657949b7dd4aa4ada6e66a4576d0c61bacb388095d0b52">+53/-157</a></td>
</tr>
</table></td></tr><tr><td><strong>Refactoring</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>variable-helpers.js</strong><dd><code>Migrate
variable-helpers to ES module</code>
</dd></summary>
<hr>
tests/ui-testing/playwright-tests/utils/variable-helpers.js
<ul><li>Converted CommonJS require to ES <code>import</code><br> <li>
Removed <code>module.exports</code> in favor of named exports</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10200/files#diff-2e2771d2582ab60dfcbaeef480226887677e58b881edbb244e0ffa4396ffbb5c">+1/-15</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Configuration
changes</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>playwright.yml</strong><dd><code>Enable dependency
tests in CI workflow</code>
</dd></summary>
<hr>
.github/workflows/playwright.yml
<ul><li>Uncommented <code>Dashboards-Variables-Dependency</code>
testfolder<br> <li> Enabled dependency spec in CI Chrome job</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10200/files#diff-7afcd2d8f7b49bda74843f209eefb7b2da45f7e7803bf2e4bd636699b76aa2d3">+6/-6</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
1390c6ace4 |
test: dashboard variables test case (#9973)
### **PR Type** Tests, Enhancement ___ ### **Description** - Simplify `handleSaveVariable` in VariableSettings.vue - Extend scoped variable API with `dependsOnField` - Enhance dependency loading tests with explicit waits - Refactor refresh, URL-sync and null-handling tests ___ <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><details><summary>2 files</summary><table> <tr> <td><strong>VariableSettings.vue</strong><dd><code>Simplify and document variable save flow</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9973/files#diff-3d55b5c7a758c836df096cb320a0ac3ba4586bc025d9e69c180e6a0b668ed940">+11/-11</a> </td> </tr> <tr> <td><strong>dashboard-variables-scoped.js</strong><dd><code>Add `dependsOnField` and multi-dependency field map support</code></dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9973/files#diff-86abb9f90fabd982dedfdd9a21a052a47b6984edc7bd29a51ee104c8c473aec4">+20/-5</a> </td> </tr> </table></details></td></tr><tr><td><strong>Tests</strong></td><td><details><summary>5 files</summary><table> <tr> <td><strong>dashboard-variables-dependency.spec.js</strong><dd><code>Add waits and `dependsOnField` to dependency tests</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9973/files#diff-ad5a7685fbf4477a81657949b7dd4aa4ada6e66a4576d0c61bacb388095d0b52">+492/-59</a></td> </tr> <tr> <td><strong>dashboard-variables-refresh.spec.js</strong><dd><code>Introduce `changeVariableValue` helper and refactor refresh tests</code></dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9973/files#diff-8e82d40d2eda995a2915569d16456a9fd7d605017ed5868a28ee409e53646027">+283/-127</a></td> </tr> <tr> <td><strong>dashboard-variables-url-sync.spec.js</strong><dd><code>Rename tests to `var-` prefix and add stability waits</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9973/files#diff-709abba02dfd42b1be6d3838b162b544a2b97ba204dd179c37d462f0921ff14b">+178/-72</a></td> </tr> <tr> <td><strong>dashboard-variables-null-handling.spec.js</strong><dd><code>Rewrite null-handling test with simplified dependency logic</code></dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9973/files#diff-e42ab503059a687ceb4fa2edeed0888a47591e0a61680c10448eaf68b4e6bbd8">+143/-124</a></td> </tr> <tr> <td><strong>variable-helpers.js</strong><dd><code>Import and use `monitorVariableAPICalls` in refresh tests</code></dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9973/files#diff-2e2771d2582ab60dfcbaeef480226887677e58b881edbb244e0ffa4396ffbb5c">+25/-7</a> </td> </tr> </table></details></td></tr><tr><td><strong>Additional files</strong></td><td><details><summary>11 files</summary><table> <tr> <td><strong>playwright.yml</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9973/files#diff-7afcd2d8f7b49bda74843f209eefb7b2da45f7e7803bf2e4bd636699b76aa2d3">+185/-165</a></td> </tr> <tr> <td><strong>dashboard-list.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9973/files#diff-59cd31661ce4f41cef3fe0c42068784ea636a62817982cb3c5e1aed16880c980">+10/-0</a> </td> </tr> <tr> <td><strong>dashboard-settings.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9973/files#diff-1a07f3f14dacb06180bc02437804d175886aeacda98f5b0ef507a274e5ddd485">+10/-0</a> </td> </tr> <tr> <td><strong>DATA-TEST-IMPLEMENTATION-STATUS.md</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9973/files#diff-6d3e802eb6998d51e3c2b06fd4812937f6c0a8b00ba0b751c34256be97af4179">+225/-0</a> </td> </tr> <tr> <td><strong>REQUIRED-DATA-TEST-ATTRIBUTES.md</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9973/files#diff-0be35bf150e6b5a82dd319ced586af5655ab9e11d14e8232aadd9d81618b1e80">+607/-0</a> </td> </tr> <tr> <td><strong>TEST-EXECUTION-REPORT.md</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9973/files#diff-7dccae95f65fa4b86695c0d4b916def1fefe05a771064ada2b68df85781baae5">+373/-0</a> </td> </tr> <tr> <td><strong>TEST-EXECUTION-SUMMARY.md</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9973/files#diff-10955400873e51c4ffa1f95dcaf45775b503c67dd4accfca4ab309946687eb1f">+321/-0</a> </td> </tr> <tr> <td><strong>VARIABLES-TEST-GUIDE.md</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9973/files#diff-80d83f3dca90fda9b2c1015c538b97642bfaf1f966fb58bd633d7d8d51ea3307">+545/-0</a> </td> </tr> <tr> <td><strong>VARIABLES-VALIDATION-CHECKLIST.md</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9973/files#diff-c91da9d64610d003b0b6ff76cff5b8bb808d53af4c2f769956eace235ec11387">+416/-0</a> </td> </tr> <tr> <td><strong>dashboard-variables-creation-scopes.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9973/files#diff-878775b83972fb1f04f1d4df7bc0bbec364fbcbacda6fbd081423673e4ea4b05">+19/-49</a> </td> </tr> <tr> <td><strong>dashboard-variables-panel-level.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9973/files#diff-a4f3068a8d69478dafa0bc1bfb7f51cf98a6980ecc62ae78ba46a617f8e227fd">+1/-2</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ --------- Co-authored-by: ktx-akshay <akshay.patil@kiara.tech> |
||
|
|
195fb4e419 |
test: traces tests (#9650)
### **User description** Trace data ingestion utility (trace-ingestion.js) that generates OTLP-compliant distributed traces with various scenarios (success, database errors, auth errors, 404s) Reusable test helper utilities following DRY principles from logs tests 6 test spec files with P0/P1/P2 prioritization covering critical paths, core functionality, and edge cases Enhanced page object with 50+ new selectors and methods for trace interactions Global setup integration to ingest 20 test traces before test execution ___ ### **PR Type** Tests ___ ### **Description** - Extend `TracesPage` with selectors and helper methods - Add global setup trace ingestion utility - Introduce Playwright test suites for Traces: - Service Maps, Advanced Filtering, Trace Details - Error Filtering, Query Editor, Search ___ <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><details><summary>2 files</summary><table> <tr> <td><strong>tracesPage.js</strong><dd><code>Extend TracesPage with selectors and helpers</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9650/files#diff-b21e724124188921fea3b88d62aef68acd31e385e1b04d3f23565f3f9e059bb3">+253/-6</a> </td> </tr> <tr> <td><strong>trace-ingestion.js</strong><dd><code>Implement trace ingestion utility</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9650/files#diff-83e4c6bffd71f42bc78f33487b04cd1613e94c6375b706274e6841efffd8dd52">+331/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Tests</strong></td><td><details><summary>7 files</summary><table> <tr> <td><strong>serviceMaps.spec.js</strong><dd><code>Add service maps view tests</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9650/files#diff-b16eddc62227ec356faceb5c640413311d5b569747084b138bacf08427d022ca">+182/-0</a> </td> </tr> <tr> <td><strong>traceAdvancedFiltering.spec.js</strong><dd><code>Add advanced filtering test scenarios</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9650/files#diff-3bbb700e0ea018647160af79231dc606f176fcb7e0be1164b69aeed91fc9026a">+360/-0</a> </td> </tr> <tr> <td><strong>traceDetails.spec.js</strong><dd><code>Add trace details functionality tests</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9650/files#diff-b01297d7b1f713590213d42937b05c25621d12d30dd0e4144fb861db15b15810">+198/-0</a> </td> </tr> <tr> <td><strong>traceErrorFilter.spec.js</strong><dd><code>Add error filtering test suite</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9650/files#diff-7ed3a7e2fbc68ea2786a3fee2f83d3ee33ce2ac45830e9253aeebd94d63441c2">+284/-0</a> </td> </tr> <tr> <td><strong>traceQueryEditor.spec.js</strong><dd><code>Add query editor interaction tests</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9650/files#diff-0f3a8bffbd91aabd267920147a03425566a8a7c2dd74795ff15aed23a87dcead">+263/-0</a> </td> </tr> <tr> <td><strong>tracesSearch.spec.js</strong><dd><code>Add basic traces search and navigation tests</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9650/files#diff-75c29494bb340e63aa8cf76bdcff572d9e860c9b4a7fa8ba3510ebc86ccdda60">+298/-0</a> </td> </tr> <tr> <td><strong>trace-test-helpers.js</strong><dd><code>Add trace test helper utilities</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9650/files#diff-12fffc3c28d1b21cd02f87065767fcb9655ef22e2210093daaf6a67ad01f406f">+328/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Configuration changes</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>global-setup.js</strong><dd><code>Integrate trace ingestion in global setup</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9650/files#diff-06323dad7214f86b41b62e121e716eeea0054bc4d950c6bcf4a0efe53894acc8">+6/-0</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> |
||
|
|
9dbbe99417 | metrics test | ||
|
|
694da3fd38 | metrics tests | ||
|
|
b1718061cf |
fix(security): address code review security issues in metrics-ingestion.js
Fixed 3 security/quality issues identified in code review:
1. **High Priority - Hardcoded Credentials Removed:**
- Removed hardcoded password fallback 'Complexpass#123'
- Now requires ZO_ROOT_USER_EMAIL and ZO_ROOT_USER_PASSWORD env vars
- Throws explicit error if credentials not provided
- Prevents accidental credential exposure
2. **High Priority - External Endpoint Exposure Fixed:**
- Removed hardcoded external API endpoint
- Removed hardcoded email address
- All external config now requires environment variables:
- METRICS_EXTERNAL_ENDPOINT
- METRICS_EXTERNAL_USERNAME
- METRICS_EXTERNAL_PASSWORD
- METRICS_EXTERNAL_ORG_ID
- METRICS_EXTERNAL_STREAM
3. **Medium Priority - Async setInterval Fixed:**
- Replaced setInterval with async callback with while loop
- Prevents overlapping executions in ingestContinuously()
- Uses explicit await between iterations
- Cleaner control flow and error handling
All changes maintain backward compatibility for tests that properly
use environment variables.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
||
|
|
0ef423c4e2 | test metrics | ||
|
|
703af6eb0e | metrics test | ||
|
|
3589c78667 | fix: migration cors issue (#10048) | ||
|
|
b3f79b6727 |
test: add bug regression tests to RegressionSet suite (#9899)
### **User description** Added automated tests for 4 verified bug fixes to the regression test suite: Bug Tests Added: - Bug #8349 (P1): SQL _timestamp alias rejection validation - Bug #7468 (P1): Multi-stream ellipsis with tooltip display - Bug #9475 (P1): Apostrophes/special characters without truncation - Bug #9877 (P0): Auto refresh time range updates Changes: - Added 3 bug tests to logs-regression.spec.js (#8349, #9475, #9877) - Added 1 bug test to streams-regression.spec.js (#7468) - Added 7 new POM methods to logsPage.js for stream display and tooltip handling - Removed duplicate tests from original locations (logspage.spec.js, logsqueries.spec.js) Test Results: - All 4 tests passing in sequential execution (3.4m total) - Bug #8349: 26s | Bug #7468: 56s | Bug #9475: 53s | Bug #9877: 40s POM Improvements: - getStreamDisplayElement(), expectStreamDisplayVisible() - getStreamDisplayText(), getStreamDisplayStyles() - hoverStreamDisplay(), isTooltipVisible(), getTooltipText() - Increased getLogsTableContent() timeout to 30s GitHub Issues: - https://github.com/openobserve/openobserve/issues/8349 - https://github.com/openobserve/openobserve/issues/7468 - https://github.com/openobserve/openobserve/issues/9475 - https://github.com/openobserve/openobserve/issues/9877 🤖 Generated with Claude Code ___ ### **PR Type** Tests ___ ### **Description** - Added regression tests for four bug fixes - Enhanced logsPage.js with stream POM methods - Cleaned up whitespace in log spec files - Increased table locator timeout in logsPage.js ___ ### Diagram Walkthrough ```mermaid flowchart LR POM["logsPage.js POM enhancements"] LogsReg["logs-regression.spec.js tests"] StreamsReg["streams-regression.spec.js tests"] POM -- "used in tests" --> LogsReg POM -- "used in tests" --> StreamsReg ``` <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>logsPage.js</strong><dd><code>Add multi-stream POM and tooltip methods</code> </dd></summary> <hr> tests/ui-testing/pages/logsPages/logsPage.js <ul><li>Increased <code>getLogsTableContent</code> timeout to 30s<br> <li> Added stream display methods for multi-stream tests<br> <li> Implemented tooltip helper methods</ul> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/9899/files#diff-8045b343491d8943869c1af74cdafab204dc49c02a70294417e73f47d35e0b59">+46/-1</a> </td> </tr> </table></td></tr><tr><td><strong>Formatting</strong></td><td><table> <tr> <td> <details> <summary><strong>logspage.spec.js</strong><dd><code>Whitespace cleanup in logspage spec</code> </dd></summary> <hr> tests/ui-testing/playwright-tests/Logs/logspage.spec.js - Removed extraneous whitespace </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/9899/files#diff-b1a64252adae01c5e8f7e758e3c820f5476260f60c44a4a57b4f15a05a59a85a">+1/-1</a> </td> </tr> <tr> <td> <details> <summary><strong>logsqueries.spec.js</strong><dd><code>Whitespace cleanup in logsqueries spec</code> </dd></summary> <hr> tests/ui-testing/playwright-tests/Logs/logsqueries.spec.js - Removed extraneous whitespace </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/9899/files#diff-c2055f6cef1580b15c5f94f5c8c2e496a6e921332b48bad943bb7c0630846a65">+16/-16</a> </td> </tr> </table></td></tr><tr><td><strong>Tests</strong></td><td><table> <tr> <td> <details> <summary><strong>logs-regression.spec.js</strong><dd><code>Add logs regression tests for bugs</code> </dd></summary> <hr> tests/ui-testing/playwright-tests/RegressionSet/logs-regression.spec.js <ul><li>Added test for SQL <code>_timestamp</code> alias rejection<br> <li> Added apostrophes display regression tests<br> <li> Added auto-refresh time range regression test</ul> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/9899/files#diff-99da86ede55fa5f2e3d3fbef897ba7aaa5a7db702a0135f66ac4c888fc7311b6">+355/-0</a> </td> </tr> <tr> <td> <details> <summary><strong>streams-regression.spec.js</strong><dd><code>Add multi-stream ellipsis tooltip tests</code> </dd></summary> <hr> tests/ui-testing/playwright-tests/RegressionSet/streams-regression.spec.js <ul><li>Added regression test for multi-stream ellipsis tooltip (Bug #7468)<br> <li> Implemented helper functions for stream ingestion</ul> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/9899/files#diff-1c2aad49737186272645ea4cf0f7e3080e28d0c4d8585b3d07edc1889368591d">+166/-0</a> </td> </tr> </table></td></tr></tr></tbody></table> </details> ___ --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Shrinath Rao <shnath@openobserve.ai> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> |
||
|
|
296a2bc992 |
feat: dashboard variable handling for tabs and panels (#9693)
### **User description** - https://github.com/openobserve/openobserve/issues/6505 - https://github.com/openobserve/openobserve/issues/9196 Design at: https://github.com/openobserve/designs/blob/main/dashboards/variable-scoping/variable-scoping-design.md ___ ### **PR Type** Enhancement, Tests ___ ### **Description** - Introduce `useVariablesManager` for scoped variables - Manages global, tab, panel scopes with lazy loading - Builds and validates dependency graph, detects cycles - Commits live changes on refresh, syncs with URL - Extend `variablesDependencyUtils.ts` with scoped graph - Export `buildScopedDependencyGraph`, `detectCyclesInScopedGraph` - Make `extractVariableNames` optional filter - Update PanelContainer tests - Mock services, test refresh/delete/move/duplicate logic - Cover view-only, theme, error, emission scenarios - Enhance VariablesValueSelector tests - Wait for async init, test multi-select, search, streaming handlers - Add manager mode, add-button, edge-case scenarios ___ ### Diagram Walkthrough ```mermaid flowchart LR A["Variable Config"] --> B["expandVariablesForScopes"] B --> C["buildScopedDependencyGraph"] C --> D["initialize state (global/tabs/panels)"] D --> E["lazy load on visibility & dependency"] E --> F["commitAll on Refresh"] F --> G["Panels consume committed state"] ``` <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><details><summary>2 files</summary><table> <tr> <td><strong>useVariablesManager.ts</strong><dd><code>Add variables manager composable for scoped loading</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-95f6bdeb96f8454bdff53bb60cafe6851b0cda450591813dd4dfb2038c4f3d50">+1124/-0</a></td> </tr> <tr> <td><strong>variablesDependencyUtils.ts</strong><dd><code>Implement scoped dependency graph & cycle detection</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-58a77094b6971705fb63bde853a79e17b4e2e85240694c4017aada1d01cf1fb4">+280/-4</a> </td> </tr> </table></details></td></tr><tr><td><strong>Tests</strong></td><td><details><summary>3 files</summary><table> <tr> <td><strong>PanelContainer.spec.ts</strong><dd><code>Extend PanelContainer tests for panel actions</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-d74ba5293a041ca029d5e9b8fec08d187e51a099451ab0372747d3ec175559a9">+925/-10</a></td> </tr> <tr> <td><strong>VariablesValueSelector.spec.ts</strong><dd><code>Enhance VariablesValueSelector async & streaming tests</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-9f234d5a15777d62cf8cd6cc9f0d68fbc0419a87ef58fbdb11de8c46ed6d17cb">+716/-26</a></td> </tr> <tr> <td><strong>usePanelDataLoader.spec.ts</strong><dd><code>Ensure variable readiness in panel data loader tests</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-f8306bde2ca2b3902674ef12091f2867c7e8b13d4d59d39d4d4152704326c09a">+53/-3</a> </td> </tr> </table></details></td></tr><tr><td><strong>Additional files</strong></td><td><details><summary>68 files</summary><table> <tr> <td><strong>playwright.yml</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-7afcd2d8f7b49bda74843f209eefb7b2da45f7e7803bf2e4bd636699b76aa2d3">+15/-2</a> </td> </tr> <tr> <td><strong>mod.rs</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-cbf3fe971525ba58892400391dfd7dac7e43d6049d6b4f5a9840ad104ebc5e08">+6/-0</a> </td> </tr> <tr> <td><strong>dashboard-panel-actions.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-d29713fdcc11cbc93bda29da5261da389226cd718e4292a1c2cd96629f573a80">+2/-2</a> </td> </tr> <tr> <td><strong>dashboard-settings.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-1a07f3f14dacb06180bc02437804d175886aeacda98f5b0ef507a274e5ddd485">+51/-11</a> </td> </tr> <tr> <td><strong>dashboard-variables-scoped.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-86abb9f90fabd982dedfdd9a21a052a47b6984edc7bd29a51ee104c8c473aec4">+682/-0</a> </td> </tr> <tr> <td><strong>dashboard-variables.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-67d38d39bb67f4a0cbfa473ee81ad50b1fffebc40c635417e58905f3c865a6e2">+1/-1</a> </td> </tr> <tr> <td><strong>page-manager.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-565eab8b3c767ae50c9d05e591621d14f66b81af84d6b5ea6efe136c1c3933df">+2/-0</a> </td> </tr> <tr> <td><strong>custom-charts.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-e67e40336061645d2e29d009538f198c4afb5d674a63ed0bff66530caa3eae95">[link]</a> </td> </tr> <tr> <td><strong>dashbaord-tableJson</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-fe87bf86d1d91df383be2c8c118169e2a18b976ddb4bbff5fb2cc70c76381662">[link]</a> </td> </tr> <tr> <td><strong>dashboard-chartJson.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-187b68c3a07b9fe52b36379098172a4a8445f46a2da054af62c8c2deb372b590">[link]</a> </td> </tr> <tr> <td><strong>dashboard-filter.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-0b36e0f7bb97e53ba43466ae6666f04e2b3015f5760243493a058ad3df6fbef9">[link]</a> </td> </tr> <tr> <td><strong>dashboard-folder.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-808be84f3e76f1a69eb26e1acfc7c0bbc504445dc2dcf83475d474d0cad47ff2">[link]</a> </td> </tr> <tr> <td><strong>dashboard-general-setting.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-60a678bb3767da174e18e3453190d5b526687094a1c34144c59b5b3797edde56">[link]</a> </td> </tr> <tr> <td><strong>dashboard-geoMap.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-37446976600456902ad3287acddef8dd8cb0e6819606a423b6711145d08cded0">[link]</a> </td> </tr> <tr> <td><strong>dashboard-html-chart.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-5b258fd2098659bd4445a432b9aaca79b1e1295bc45f20e82408498cf2b4696a">[link]</a> </td> </tr> <tr> <td><strong>dashboard-import.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-19a69660b4842f0e2872aaefcb2a539ed25761b42daa804cfb8426d5a7cda567">[link]</a> </td> </tr> <tr> <td><strong>dashboard-maps.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-18dc153e8132b3c446cdbf5bac7140ecb7629029d021f006d5d76a0e966eacfe">[link]</a> </td> </tr> <tr> <td><strong>dashboard-multi-y-axis.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-2c0ab4d43c3e915a4e00f2a729234e7c1c975a7a8bc9483fff2ba0a4660f0f83">[link]</a> </td> </tr> <tr> <td><strong>dashboard-streaming.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-7181101483e2bb5a3d086f87546287e47debe10a4b4343707c3feaf95bbb255d">[link]</a> </td> </tr> <tr> <td><strong>dashboard-tabs-setting.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-188e3e1e0adfb6431a70ca6f26e6a5db58be330d3de15b9c559e390cbf601147">[link]</a> </td> </tr> <tr> <td><strong>dashboard-transpose.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-6b7619b9de4f7daa67bd35028c25f13ad3620635538a7203f1095b35ddf013d1">[link]</a> </td> </tr> <tr> <td><strong>dashboard-variables-creation-scopes.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-878775b83972fb1f04f1d4df7bc0bbec364fbcbacda6fbd081423673e4ea4b05">+958/-0</a> </td> </tr> <tr> <td><strong>dashboard-variables-dependency.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-ad5a7685fbf4477a81657949b7dd4aa4ada6e66a4576d0c61bacb388095d0b52">+590/-0</a> </td> </tr> <tr> <td><strong>dashboard-variables-global.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-f3750bde6fb0d471ec65d81b9d5a5a5b15d79ca900782959a0ff856a5156f5be">+600/-0</a> </td> </tr> <tr> <td><strong>dashboard-variables-null-handling.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-e42ab503059a687ceb4fa2edeed0888a47591e0a61680c10448eaf68b4e6bbd8">+133/-0</a> </td> </tr> <tr> <td><strong>dashboard-variables-panel-level.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-a4f3068a8d69478dafa0bc1bfb7f51cf98a6980ecc62ae78ba46a617f8e227fd">+712/-0</a> </td> </tr> <tr> <td><strong>dashboard-variables-refresh.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-8e82d40d2eda995a2915569d16456a9fd7d605017ed5868a28ee409e53646027">+605/-0</a> </td> </tr> <tr> <td><strong>dashboard-variables-setting.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-1c6dd312b59d03b6cef1e15784451e5a5ffb3ed4682dec017e9834de8094fbdd">+3/-3</a> </td> </tr> <tr> <td><strong>dashboard-variables-tab-level.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-b1f20469fa2e12dc68ede8ae381f60e2717489947ca693dd8a519fc03f195d48">+684/-0</a> </td> </tr> <tr> <td><strong>dashboard-variables-url-sync.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-709abba02dfd42b1be6d3838b162b544a2b97ba204dd179c37d462f0921ff14b">+599/-0</a> </td> </tr> <tr> <td><strong>dashboard.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-1403f96be575d5ae4215674b2b1c53c2503ddb1b35a3f4e0aefcf391b1cea1be">[link]</a> </td> </tr> <tr> <td><strong>dashboard2.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-657bb65c00477679ef10c9f79582468cf4f632589469e2c1da7da13979d71f8e">[link]</a> </td> </tr> <tr> <td><strong>dashboardtype.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-1827c80e7bf807fa4be90c240ee9546392558c98d8785f3a39a889adced4241a">[link]</a> </td> </tr> <tr> <td><strong>maxquery.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-68ad92cdbe3b024f7146090b46fb3fca0d91e5864afe490a12f807ddefa29726">[link]</a> </td> </tr> <tr> <td><strong>dashCreation.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-0f865c438e06691b660a9d4a2448c7c94e6f5172c6a0615eb2a905fa276db575">[link]</a> </td> </tr> <tr> <td><strong>dashIngestion.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-f324562b6f8143a8f780b29edc21e7cf969ff3ccc043e4f73aa4c32e48f7d06b">[link]</a> </td> </tr> <tr> <td><strong>dashLogin.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-ba1d380a34ddae6c351de0f325d26ed3e0715c33c88d9e2f39177b696f3b66ef">[link]</a> </td> </tr> <tr> <td><strong>visualization-vrl.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-935ba0de56260b2b735a350ada52a9d07cff34b79f0b137a384ed47cf80075d6">[link]</a> </td> </tr> <tr> <td><strong>visualize.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-28874b05126e014a74c04029ea47a8797f936827a0b7196bd543b91f7389d0c1">[link]</a> </td> </tr> <tr> <td><strong>variable-helpers.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-2e2771d2582ab60dfcbaeef480226887677e58b881edbb244e0ffa4396ffbb5c">+427/-0</a> </td> </tr> <tr> <td><strong>PanelContainer.vue</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-414737cba6064461f7026e0b016afcb9620bd5bb29c4708fc170dee789dbcd4d">+35/-7</a> </td> </tr> <tr> <td><strong>PanelSchemaRenderer.vue</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-e5376e7e77bf3aaf6590c2522d8c2dbffcc95a8006ae0d6dc0040a37825367d6">+11/-2</a> </td> </tr> <tr> <td><strong>VariablesValueSelector.vue</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-5c6e3bcb87cb64f25bf8157a541604b7a4904c1282acf662cab5d76a5be6bd56">+844/-193</a></td> </tr> <tr> <td><strong>CustomHTMLEditor.vue</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-66cb3b43f79787a9b8d99b8c1d0f2f89aacd82055ff9ddbd4a4e5c96ec6b61ca">+10/-0</a> </td> </tr> <tr> <td><strong>CustomMarkdownEditor.vue</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-6f1e425e1dc7a287070fbad1713679c729dc7ee61fa3b31781ed6b285ae3d279">+10/-0</a> </td> </tr> <tr> <td><strong>DrilldownPopUp.vue</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-9fdb8c9d3953179dbd311c7e4d2250683af9b51e7706122a505c5c6a708c2a55">+45/-7</a> </td> </tr> <tr> <td><strong>HTMLRenderer.spec.ts</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-128fd699e9ae1552077c27185db37871b57e0002558f89377ec64b4e29e1d7f7">+6/-5</a> </td> </tr> <tr> <td><strong>HTMLRenderer.vue</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-9184ad98d56a2466a3cd9917dc2a15238023df9eafb2ca6d1b7488877ff47194">+13/-1</a> </td> </tr> <tr> <td><strong>MarkdownRenderer.spec.ts</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-63eed3fbb6882be90c70e833f9f64e9e8c6511e4c40162aa5c1a7662fc79469d">+6/-5</a> </td> </tr> <tr> <td><strong>MarkdownRenderer.vue</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-8a4f13edce033462affe8585dd8f128ab333a52a0a59e097ce7db949e042b56b">+13/-1</a> </td> </tr> <tr> <td><strong>AddSettingVariable.vue</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-e622f54c1f7629ee67d29ed2fc87008d07eb9246767a05435cc42c3c17ce459a">+560/-80</a></td> </tr> <tr> <td><strong>VariableCustomValueSelector.vue</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-ecfbb27a97242a9fd854f63f83f7af07bb4ddaaf1f465542ad7f74ec6b1f327e">+20/-1</a> </td> </tr> <tr> <td><strong>VariableQueryValueSelector.spec.ts</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-7e096d825438fc75baab2ef87cb4a04ae7ac1206e5021b71ce42cedd0984e064">+11/-1</a> </td> </tr> <tr> <td><strong>VariableQueryValueSelector.vue</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-2cca760c14e835bd1845485fb5517a60f71a6dc23626a6381c8559b82476f5f4">+39/-10</a> </td> </tr> <tr> <td><strong>VariableSettings.vue</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-3d55b5c7a758c836df096cb320a0ac3ba4586bc025d9e69c180e6a0b668ed940">+132/-9</a> </td> </tr> <tr> <td><strong>ViewPanel.vue</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-e7b26fbbfe7ae57f50377c0f002155df17109ea54708b0f134dd2005356b2930">+82/-3</a> </td> </tr> <tr> <td><strong>usePanelDataLoader.ts</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-5a42e9493a7bcd722b88e61fd38883c4f61001bc9cafa399f65f8eafda3aace9">+61/-11</a> </td> </tr> <tr> <td><strong>useVariablesManager.spec.ts</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-a8440d3f1bc2c5d8a96a4ce8bc5fe8f5a14872fdab4ad5037674f55f07d6d2ae">+633/-0</a> </td> </tr> <tr> <td><strong>commons.ts</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-17cb74f8142984fc46bbfecdeaacccc118fd5d4ab7f040a55695caaa309d104f">+40/-0</a> </td> </tr> <tr> <td><strong>variablesScopeUtils.ts</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-51e0200d0cd001418ab2708878120830d849b912a3b16a7da37dea1432a12407">+33/-0</a> </td> </tr> <tr> <td><strong>variablesUtils.spec.ts</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-769aea99ac476a78b01cb3bb4221b0a0f0d5fa99f3dbc8c77022088ed8024f1b">+3/-2</a> </td> </tr> <tr> <td><strong>variablesUtils.ts</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-64086381f002e7ab774bf802bda51a31c14a0f2ff890b02df2037962345f78ae">+176/-40</a></td> </tr> <tr> <td><strong>RenderDashboardCharts.vue</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-313f7c69102161242c893c863c50f1f1cd1fc19b68b5c99bf840b4b5c72f0f2e">+357/-61</a></td> </tr> <tr> <td><strong>ViewDashboard.vue</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-052badb6758aff09ceaf1645869b9ba96125e6a0ea21abb01a8ee0a40d6467f3">+187/-62</a></td> </tr> <tr> <td><strong>AddPanel.spec.ts</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-5565bef51b35f1e9c8167eab0a22dc61c1d697dca45fe31f46cc8e5e9020ca74">+8/-8</a> </td> </tr> <tr> <td><strong>AddPanel.vue</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-c9632db1ad95af95aba10161bcbc7c5608318919f228637bdafae3f3a31267e8">+609/-54</a></td> </tr> <tr> <td><strong>DashboardFiltersOption.spec.ts</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-d3e73ec3d32f9068b22b3697ba8a23e3100285b7c92cc86f7d7e88477bb29bba">+26/-12</a> </td> </tr> <tr> <td><strong>DashboardFiltersOption.vue</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9693/files#diff-1309de92cc43f54536fef3d92db8c11cc666ef63bc40d4d9ca3fdaed85a94d92">+36/-2</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ --------- Co-authored-by: Kirtan Thakkar <kirtan@kiara.tech> Co-authored-by: ktx-riya <riya.kukadiya@kiara.tech> |
||
|
|
24b024a502 |
test: automation for bugs fixes (#9678)
### **User description** ## Summary Refactored the logs regression test suite to follow the Page Object Model (POM) pattern by centralizing all locators in the logsPage.js POM file and updating test files to use these locators instead of hardcoded selectors. ## Testing All 10 regression tests passing: - ✅ Absolute time error validation - ✅ Stream switching with saved views (#9388) - ✅ Field values with SUBQUERY/CTE/GROUP BY (#7751) - ✅ Pagination count after search (#8868) - ✅ Alert graph color display (#9311) - ✅ Histogram query from history (#8180) - ✅ Timestamp field in quick mode (#8180) - ✅ Source field display logic (#8180) Test execution: 10/10 passed in 7.2 minutes ___ ### **PR Type** Tests, Enhancement ___ ### **Description** - Refactor logs regression tests to Page Object Model - Centralize all locators in `logsPage.js` - Add new POM locators for regression tests - Add regression tests for bug #7751 (subquery, CTE, GROUP BY) - Add regression tests for bug #8868 (pagination count update) - Add regression test for bug #9311 (alert graph color) - Add regression tests for bug #8180 (histogram, timestamp, source field) ___ ### Diagram Walkthrough ```mermaid flowchart LR A["logsPage.js: New POM locators"] --> B["logs-regression.spec.js: Bug regression tests"] ``` <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>logsPage.js</strong><dd><code>Add POM locators for regression tests</code> </dd></summary> <hr> tests/ui-testing/pages/logsPages/logsPage.js <ul><li>Added alert-related selectors (<code>alertsMenuItem</code>, <code>alertGraph</code>, <code>alertChart</code>)<br> <li> Added query history selectors (<code>queryHistoryButton</code>, <code>historyPanel</code>)<br> <li> Added table and pagination selectors (<code>tableBottom</code>, <code>tableBodyRow</code>, <br><code>tableHeaders</code>)<br> <li> Added dynamic field selector functions (<code>fieldExpandButton</code>, <br><code>subfieldAddButton</code>, etc.)<br> <li> Added streams search, error indicators, timestamp detail selectors</ul> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/9678/files#diff-8045b343491d8943869c1af74cdafab204dc49c02a70294417e73f47d35e0b59">+29/-0</a> </td> </tr> </table></td></tr><tr><td><strong>Tests</strong></td><td><table> <tr> <td> <details> <summary><strong>logs-regression.spec.js</strong><dd><code>Add regression tests for major log search bugs</code> </dd></summary> <hr> tests/ui-testing/playwright-tests/RegressionSet/logs-regression.spec.js <ul><li>Added tests for bug #7751: subquery, CTE, GROUP BY field expansion<br> <li> Added test for bug #8868: pagination count after filtering<br> <li> Added test for bug #9311: full alert graph color rendering<br> <li> Added tests for bug #8180: histogram query, timestamp in quick mode, <br>source field logic</ul> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/9678/files#diff-99da86ede55fa5f2e3d3fbef897ba7aaa5a7db702a0135f66ac4c888fc7311b6">+538/-0</a> </td> </tr> </table></td></tr></tr></tbody></table> </details> ___ --------- Co-authored-by: Claude <noreply@anthropic.com> |
||
|
|
660dfbabaf |
test: Dashboard Joins and Nested Functions e2e tests (#9685)
### **PR Type**
Tests, Enhancement
---
### **Description**
This PR adds comprehensive E2E tests for Dashboard Joins and Dashboard
Functions features, along with supporting page object helpers.
#### Key Changes:
- **Dashboard Joins Tests**: 8 consolidated multi-panel tests covering
INNER/LEFT/RIGHT joins, conditions, aggregations, field selection,
filters, dynamic operations, persistence, and error handling
- **Dashboard Functions Tests**: 2 multi-panel tests covering basic
(COUNT, COUNT-DISTINCT, AVG, SUM) and advanced (Multiple Y-axis, MIN,
MAX) aggregation functions
- **New `JoinHelper` class**: Provides methods for configuring join
types, streams, conditions, and operators
- **Enhanced `ChartTypeSelector`**: Added Y-axis function configuration
methods and stream selection with retry mechanism
- **Org Context Fix**: Navigate directly to dashboards with
`org_identifier` parameter to ensure correct API context
---
### **Test Coverage**
#### Dashboard Joins Tests (`dashboard-join.spec.js`) - 8 Tests
| # | Test Name | Panels | Coverage | Tags |
|---|-----------|--------|----------|------|
| 1 | Core Join Types - INNER, LEFT, RIGHT | 3 | INNER JOIN (11 rows),
LEFT JOIN (12 rows), RIGHT JOIN (5 rows) | `@dashboard-joins`, `@smoke`,
`@P0` |
| 2 | Join Conditions & Multi-Join | 3 | Multiple AND conditions, 3-way
join, OR conditions | `@dashboard-joins`, `@dashboard-joins-conditions`,
`@P1` |
| 3 | Aggregation Functions | 4 | Basic aggregation, SUM-like grouping,
AVG-like grouping, COUNT grouping | `@dashboard-joins`,
`@dashboard-joins-aggregation`, `@P1` |
| 4 | Field Selection | 4 | response_time_ms, country, bytes, request_id
fields | `@dashboard-joins`, `@dashboard-joins-fields`, `@P2` |
| 5 | Filters & Edge Cases | 6 | Join with filter, LEFT JOIN with NULLs,
session duration, not-equal (!=), greater-than (>), self-join |
`@dashboard-joins`, `@dashboard-joins-filters`, `@P2` |
| 6 | Dynamic Join Operations & UI Validation | 1 | Add/remove joins,
change join types, modify conditions | `@dashboard-joins`,
`@dashboard-joins-dynamic`, `@P2` |
| 7 | Persistence - Save and Reload Dashboard | 1 | Save panel, navigate
away, reload, verify join config persisted | `@dashboard-joins`,
`@dashboard-joins-persistence`, `@P2` |
| 8 | Error Handling & Recovery | 1 | Incomplete join handling, recovery
from invalid state | `@dashboard-joins`, `@dashboard-joins-errors`,
`@P3` |
#### Dashboard Functions Tests (`dashboard-nested-functions.spec.js`) -
2 Tests
| # | Test Name | Panels | Coverage | Tags |
|---|-----------|--------|----------|------|
| 1 | Basic Aggregation Functions | 4 | COUNT, COUNT-DISTINCT, AVG, SUM
functions | `@dashboard-functions`, `@dashboard-functions-basic`, `@P1`
|
| 2 | Advanced Aggregation Functions | 2 | Multiple Y-axis (COUNT + SUM
+ AVG), MIN + MAX functions | `@dashboard-functions`,
`@dashboard-functions-advanced`, `@P2` |
---
### **New Page Object Methods**
#### `JoinHelper` (`dashboard-joins.js`)
| Method | Description |
|--------|-------------|
| `addJoin()` | Open add join popup |
| `selectJoinType(type)` | Select INNER/LEFT/RIGHT/FULL/CROSS join |
| `selectJoinStream(streamName)` | Select stream to join with |
| `selectLeftField(field)` | Select left side join field |
| `selectRightField(field)` | Select right side join field |
| `selectOperator(operator)` | Select =, !=, <, >, <=, >= operator |
| `addCondition()` | Add another join condition |
| `saveJoin()` | Save join configuration |
| `removeJoin(index)` | Remove a join by index |
| `verifyJoinChipVisible(stream, index)` | Verify join chip displays
correctly |
#### `ChartTypeSelector` (`dashboard-chart.js`)
| Method | Description |
|--------|-------------|
| `selectStream(name, retries)` | Select stream with retry mechanism |
| `configureYAxisFunction(alias, func)` | Configure Y-axis aggregation
function |
| `verifyYAxisLabel(alias, func)` | Verify Y-axis label shows function |
| `openYAxisFunctionPopup(alias)` | Open Y-axis configuration popup |
| `selectFunction(name)` | Select aggregation function from dropdown |
#### `DashboardPanelActions` (`dashboard-panel-actions.js`)
| Method | Description |
|--------|-------------|
| `addNextPanel()` | Add another panel after saving |
| `getTableRowCount()` | Get count of data rows in table |
| `verifyChartRenders(expect)` | Verify chart/table renders |
| `savePanel()` | Save panel with networkidle wait |
---
### **Test Data**
Test data files located in `test-data/` directory:
- `joins/test_app_users.json` - 5 user records
- `joins/test_web_requests.json` - 12 web request records
- `joins/test_sessions.json` - 8 session records
- `dashboard-functions/test_records.json` - 7 records with user_name and
score fields
---
### **Fixes Included**
| Issue | Fix |
|-------|-----|
| Org context mismatch on remote environments | Navigate to
`/web/dashboards?org_identifier=${ORGNAME}` |
| Streams not appearing in dropdown | Page reload after dashboard
creation to refresh stream list |
| Save panel race condition | Added `waitForLoadState("networkidle")`
after save click |
| Stream selection timing | Retry mechanism with debug logging |
| Test 5 timeout | Increased to 5 minutes for 6-panel test |
---
<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><details><summary>5
files</summary><table>
<tr>
<td><strong>dashboard-chart.js</strong><dd><code>Enhance stream
selection and add Y-axis function methods</code> </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9685/files#diff-573a312576fce62d8e14f2bbb5f9b7d9a552d746304dce3d79862edddd24de76">+106/-14</a></td>
</tr>
<tr>
<td><strong>dashboard-create.js</strong><dd><code>Add smart panel
addition for empty and existing dashboards</code></dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9685/files#diff-c3c5add2b934580a91a79bb580634b70e2376b0452113008a0911102db3863e2">+25/-1</a>
</td>
</tr>
<tr>
<td><strong>dashboard-joins.js</strong><dd><code>New JoinHelper for
configuring and validating joins</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9685/files#diff-f88eb0cf951ec45e97befde5c83a2c187bb46db3f6cb27bc0cb88d48c5f45b78">+351/-0</a>
</td>
</tr>
<tr>
<td><strong>dashboard-panel-actions.js</strong><dd><code>Add next-panel,
row count and chart render verifications</code> </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9685/files#diff-d29713fdcc11cbc93bda29da5261da389226cd718e4292a1c2cd96629f573a80">+76/-1</a>
</td>
</tr>
<tr>
<td><strong>global-setup.js</strong><dd><code>Include org_identifier in
login navigation URL</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9685/files#diff-06323dad7214f86b41b62e121e716eeea0054bc4d950c6bcf4a0efe53894acc8">+4/-3</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Tests</strong></td><td><details><summary>6
files</summary><table>
<tr>
<td><strong>dashboard-join.spec.js</strong><dd><code>Consolidated
dashboard joins feature E2E tests</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9685/files#diff-552f4ba6f199ade20dbab2c54b8573422fd644587ed1575262a7aa34f8041174">+1160/-0</a></td>
</tr>
<tr>
<td><strong>dashboard-nested-functions.spec.js</strong><dd><code>Multi-panel
dashboard functions E2E tests</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9685/files#diff-d2a9855da60f5fd3820832815036c368a680e2885033ad1a7a2bcbd060e2a750">+372/-0</a>
</td>
</tr>
<tr>
<td><strong>test_records.json</strong><dd><code>Add test data for
dashboard functions tests</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9685/files#diff-3a09d97f4091ae2f4dc97ebc14199c5d94efb878a6ebfa7da686cad5450ddda0">+7/-0</a>
</td>
</tr>
<tr>
<td><strong>test_app_users.json</strong><dd><code>Add user data for
dashboard joins tests</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9685/files#diff-7c5af3decd88c4f9031fd83282844872f4a0a65eea2b51a46aac849aa4a5c129">+7/-0</a>
</td>
</tr>
<tr>
<td><strong>test_sessions.json</strong><dd><code>Add session data for
dashboard joins tests</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9685/files#diff-836e072600882ffa58662a4867ac17d2ce799dd338daac585203ccaa01275e3c">+10/-0</a>
</td>
</tr>
<tr>
<td><strong>test_web_requests.json</strong><dd><code>Add web request
data for dashboard joins tests</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9685/files#diff-1c4b00b1929e9a01de1cb8129161c49dc1563a5dde1c4b5e770a307245155382">+14/-0</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Configuration
changes</strong></td><td><details><summary>1 files</summary><table>
<tr>
<td><strong>cleanup.spec.js</strong><dd><code>Extend cleanup regex for
join and function test streams</code> </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9685/files#diff-c214275a512fa285a7e4f2ab61dfcb42d71a0436b0e4241f94d7b45693587983">+8/-1</a>
</td>
</tr>
</table></details></td></tr></tbody></table>
</details>
---
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
|
||
|
|
e96db6332b |
test(dashboard): fix flaky tests in deployed environment (#9511)
### **User description** …riables ___ ### **PR Type** Tests, Enhancement ___ ### **Description** - Refine chart-render wait logic with class checks - Integrate values-stream helper in variable dropdown - Standardize relative time ranges to 30m - Improve streaming test with API wait loops ___ <details> <summary><h3> File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Formatting</strong></td><td><details><summary>2 files</summary><table> <tr> <td><strong>apiCleanup.js</strong><dd><code>Remove extraneous newline at EOF</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9511/files#diff-537fe76c0d8e26e81c5f77c83bd0ee35daaa973822105c809bf83171a26b33c5">+1/-1</a> </td> </tr> <tr> <td><strong>cleanup.spec.js</strong><dd><code>Remove trailing blank line</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9511/files#diff-c214275a512fa285a7e4f2ab61dfcb42d71a0436b0e4241f94d7b45693587983">+1/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Enhancement</strong></td><td><details><summary>4 files</summary><table> <tr> <td><strong>dashboard-panel-actions.js</strong><dd><code>Refine waitForChartToRender class checks</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9511/files#diff-d29713fdcc11cbc93bda29da5261da389226cd718e4292a1c2cd96629f573a80">+27/-10</a> </td> </tr> <tr> <td><strong>dashboard-variables.js</strong><dd><code>Add stream helper and input typing delay</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9511/files#diff-67d38d39bb67f4a0cbfa473ee81ad50b1fffebc40c635417e58905f3c865a6e2">+18/-3</a> </td> </tr> <tr> <td><strong>dashboard-streaming.spec.js</strong><dd><code>Add API wait loops in streaming test</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9511/files#diff-92f44296937f53cb448371d1c61510c8c910fbecab83b02b8e89490d5832be19">+36/-4</a> </td> </tr> <tr> <td><strong>streaming-helpers.js</strong><dd><code>Implement waitForValuesStreamComplete utility</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9511/files#diff-ba793998d7c077815ee18543001a519b7d45a9236990b60d256124a4b30d48cb">+65/-1</a> </td> </tr> </table></details></td></tr><tr><td><strong>Tests</strong></td><td><details><summary>6 files</summary><table> <tr> <td><strong>dashboard-geoMap.spec.js</strong><dd><code>Update time range to 30m</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9511/files#diff-6ae8394cd6b915e6d55a179cf6c7dc32992b8ebbd5d9aac177c0cbd1b9f351b3">+1/-1</a> </td> </tr> <tr> <td><strong>dashboard-html-chart.spec.js</strong><dd><code>Set html chart time to 30m</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9511/files#diff-02c503aa87193168f5aa83c8105c376ea0c4dc45e6c7bd6f255b693bf7ebc462">+1/-1</a> </td> </tr> <tr> <td><strong>dashboard-multi-y-axis.spec.js</strong><dd><code>Update multi-y-axis time to 30m</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9511/files#diff-e90516a105c0b17c8e04c18e2b67ac10af213dbdd208fa4414cdcb7e377e6ee5">+2/-2</a> </td> </tr> <tr> <td><strong>dashboard-transpose.spec.js</strong><dd><code>Change transpose time range to 30m</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9511/files#diff-da631007cea76a4bc59e4acd1195b59ae4131cd5208d21a9c1f94d3913911dc4">+1/-1</a> </td> </tr> <tr> <td><strong>dashboard.spec.js</strong><dd><code>Adjust gauge and table time ranges to 15m</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9511/files#diff-d0fa0042783dc109334b05266edce228bad97adcb568dd1e447920596238e9b4">+5/-5</a> </td> </tr> <tr> <td><strong>dashboard2.spec.js</strong><dd><code>Standardize dashboard2 time to 30m</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9511/files#diff-8c9189e9e3950fff987c45ee8116d89f15f8fdec5baad209bef6f5858f3b3045">+7/-7</a> </td> </tr> </table></details></td></tr><tr><td><strong>Configuration changes</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>playwright.yml</strong><dd><code>Fix typo in run_files list</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9511/files#diff-7afcd2d8f7b49bda74843f209eefb7b2da45f7e7803bf2e4bd636699b76aa2d3">+1/-0</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ --------- Co-authored-by: ktx-abhay <abhay.padamani@kiara.tech> |
||
|
|
138808f6a7 |
test: add regression tests for bugs fixes (#9630)
…#9308, #9193, #9117) Added comprehensive E2E regression test suite for critical UI bugs: P0 Tests: - #9337: Query expand icon not working after stream explorer navigation - #9388: Stream switching shows wrong table fields (BLOCKER) P1 Tests: - #9455-1: Download empty results notification (CSV + JSON) - #9455-2: Download validation without stream selection - #9308: OpenAPI button redirect from Help menu - #9193: Enrichment table color contrast in light mode - #9117: SQL mode conversion with pipe operators Test Results: 7/7 passing (100%) - Follows OpenObserve test patterns and page object model - Proper tagging (@P0/@P1, feature tags, @regressionBugs) - Comprehensive logging with testLogger - All tests run independently in parallel Files: - tests/ui-testing/playwright-tests/RegressionSet/ui-regression.spec.js --------- Co-authored-by: Claude <noreply@anthropic.com> |
||
|
|
45231df7b4 |
test: refactor and optimize enrichment table tests (#9629)
This commit improves the enrichment table test suite with significant performance gains and code quality improvements. ## Performance Improvements - **58% faster execution**: 3.3m → 1.4m - Moved logs data ingestion from beforeEach to only tests that need it (2 of 9 tests) - Removed unnecessary navigation calls after file uploads - Cleaned up excessive debug logging ## Test Fixes - Fixed button selector strategy using position-based nth() approach - Fixed search method - standardized on searchEnrichmentTableInList() - Fixed disabled field verification using Playwright's toBeDisabled() - Fixed delete confirmation dialog selector specificity - Increased authentication timeout from 5s to 15s for first test in suite ## Code Quality Improvements - Added helper function setupLogsData() for tests requiring logs - Added missing tags to 6 tests for better filtering - Standardized cleanup patterns across all tests - Improved code comments explaining test flow - Consistent use of "already on list" pattern ## Test Coverage - 9 total tests covering: 1. Upload with exploration 2. Upload with VRL processing 3. CSV validation error 4. Name field validation error 5. Append functionality 6. Cancel workflow 7. Search/filter 8. Edit mode 9. Delete confirmation All 9 tests passing with improved reliability and maintainability. Files modified: - tests/ui-testing/pages/generalPages/enrichmentPage.js - tests/ui-testing/playwright-tests/GeneralTests/enrichment.spec.js - tests/ui-testing/playwright-tests/utils/enhanced-baseFixtures.js Co-authored-by: Claude <noreply@anthropic.com> |
||
|
|
2b5eafcb86 |
test(dashboard): improve stability of flaky tests (#9139)
…tests --------- Co-authored-by: Shrinath Rao <shnath@openobserve.ai> |
||
|
|
f61b715a1e |
test: Cleanup Mechanism and ENV Runs for e2e tests (#8839)
### **PR Type** Enhancement, Tests ___ ### **Description** - Add robust alerts cleanup utilities - Improve UI flows and resiliency - Support deployed env testing delays - Add CI cleanup and health checks ___ ### Diagram Walkthrough ```mermaid flowchart LR UI["Playwright UI flows hardened"] API["APICleanup cascade (Alerts→Folders→Destinations→Templates)"] CI["CI workflow targets deployed env"] Delay["Configurable test step delay"] Data["Global ingestion more robust"] UI -- "uses" --> API CI -- "runs cleanup.spec" --> API CI -- "health checks + env vars" --> Data Delay -- "slows page ops" --> UI Data -- "ingest logs with parsing" --> UI ``` <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><details><summary>7 files</summary><table> <tr> <td><strong>alertDestinationsPage.js</strong><dd><code>Add search, cascade-safe delete, bulk prefix cleanup</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8839/files#diff-57e5c53b4ef998b3d8708149620ff94dcc46807927f1a3a9e9f28ed3ebe25b0a">+178/-0</a> </td> </tr> <tr> <td><strong>alertTemplatesPage.js</strong><dd><code>Add template search, in-use handling, prefix cleanup</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8839/files#diff-f4ebd248b2140051e74dbbbd1aabe344f01c80704ce5857e9c28a04350e018f3">+177/-2</a> </td> </tr> <tr> <td><strong>alertsPage.js</strong><dd><code>Harden alert actions, bulk deletion, search across folders</code></dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8839/files#diff-79ee01d6d7f145f19207b93b87143b545a1188cfc6a82bc8c45fecfbf68f8a1d">+280/-9</a> </td> </tr> <tr> <td><strong>apiCleanup.js</strong><dd><code>New API-based cascade cleanup utility</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8839/files#diff-537fe76c0d8e26e81c5f77c83bd0ee35daaa973822105c809bf83171a26b33c5">+399/-0</a> </td> </tr> <tr> <td><strong>page-manager.js</strong><dd><code>Wire APICleanup into PageManager</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8839/files#diff-565eab8b3c767ae50c9d05e591621d14f66b81af84d6b5ea6efe136c1c3933df">+4/-0</a> </td> </tr> <tr> <td><strong>baseFixtures.js</strong><dd><code>Add configurable test step delay hooks</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8839/files#diff-c4c5ee7fbb248d1ab14d3d4e33ffb9626f9aab74c9e0207fcfc08051c8c3c7ee">+46/-0</a> </td> </tr> <tr> <td><strong>global-setup.js</strong><dd><code>Harden login and ingestion with diagnostics</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8839/files#diff-06323dad7214f86b41b62e121e716eeea0054bc4d950c6bcf4a0efe53894acc8">+61/-22</a> </td> </tr> </table></details></td></tr><tr><td><strong>Bug fix</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>commonActions.js</strong><dd><code>Fix ingestion URLs to use org variable</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8839/files#diff-4d726dd2bdb34b2c90a31798ff49b6df5bc952bd049b7c38bebb18b6db0076e2">+4/-4</a> </td> </tr> </table></details></td></tr><tr><td><strong>Tests</strong></td><td><details><summary>4 files</summary><table> <tr> <td><strong>alerts-e2e-flow.spec.js</strong><dd><code>Pre-move folder cleanup and stabilization</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8839/files#diff-32972e38c1fe0e8bb887f9f254b3130916a36f96ea924f9987493d44efefeab9">+13/-3</a> </td> </tr> <tr> <td><strong>alerts-import.spec.js</strong><dd><code>Use dedicated invalid import test data</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8839/files#diff-62b6ec4818685eacc0a934d68aaadfd73b512ef4f4be25fcd5135b97c2844912">+1/-1</a> </td> </tr> <tr> <td><strong>cleanup.spec.js</strong><dd><code>New pre-test API cleanup spec</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8839/files#diff-c214275a512fa285a7e4f2ab61dfcb42d71a0436b0e4241f94d7b45693587983">+29/-0</a> </td> </tr> <tr> <td><strong>invalid-alert.json</strong><dd><code>Add invalid alert sample for import tests</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8839/files#diff-c695f71048e9393a45d3e3e3e415696559fecf3ba85712e7c3f366092f53f424">+24/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Configuration changes</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>playwright.yml</strong><dd><code>Target deployed env; add cleanup job and health checks</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8839/files#diff-7afcd2d8f7b49bda74843f209eefb7b2da45f7e7803bf2e4bd636699b76aa2d3">+123/-65</a></td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ |
||
|
|
261aea6929 |
test: playwright upload artifact error fixes (#8190)
### **PR Type**
Tests, Enhancement
___
### **Description**
- Add conditional artifact upload guards
- Make report artifact names matrix-aware
- Preserve stream name test comment clarity
___
### Diagram Walkthrough
```mermaid
flowchart LR
tests["Playwright tests"] -- "produce reports/coverage" --> outputs["Reports & Coverage"]
outputs -- "conditional check" --> uploadPR["Upload Playwright Report"]
outputs -- "conditional check" --> uploadCov["Upload Coverage Report"]
matrix["Matrix folder name"] -- "used in name" --> uploadPR
```
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Documentation</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>streamname.spec.js</strong><dd><code>Comment clarity
for ingestion loop</code>
</dd></summary>
<hr>
tests/ui-testing/playwright-tests/Streams/streamname.spec.js
- Fix comment wording to singular
- No functional code changes
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8190/files#diff-49828efdc034005c097422deadc8b892bb1e54942d024e40d640fd10c5aa2793">+1/-1</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Enhancement</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>playwright.yml</strong><dd><code>Conditional artifact
uploads and better naming</code>
</dd></summary>
<hr>
.github/workflows/playwright.yml
<ul><li>Add hashFiles guard for report upload<br> <li> Rename report
artifact to include matrix folder<br> <li> Add guard for coverage report
upload<br> <li> Add explicit step name for report upload</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8190/files#diff-7afcd2d8f7b49bda74843f209eefb7b2da45f7e7803bf2e4bd636699b76aa2d3">+5/-3</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
e2ad15f0c0 |
test: Framework rework Playwright e2e tests (#8118)
### **PR Type** Tests, Enhancement ___ ### **Description** - Migrate sanity tests to enhanced framework - Add robust SanityPage page-object methods - Introduce logging and wait helpers - Refactor service account tests setup ___ ### Diagram Walkthrough ```mermaid flowchart LR Specs["Playwright specs (sanity, serviceAccount)"] Utils["Enhanced test utils (fixtures, logger, waits)"] Pages["New page objects (SanityPage, etc.)"] Archives["Old specs archived (_old)"] Specs -- "use" --> Utils Specs -- "call" --> Pages Legacy["Legacy inline flows"] -- "moved to" --> Archives Legacy -- "replaced by" --> Pages ``` <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><details><summary>1 files</summary><table> <tr> <td><strong>sanityPage.js</strong><dd><code>New Sanity page object with robust flows</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-a0ac0217ef875311dc536edb97deda19927a64e73cede62123b97cbe7df113b8">+669/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Tests</strong></td><td><details><summary>2 files</summary><table> <tr> <td><strong>sanity.spec.js</strong><dd><code>Refactor to enhanced fixtures and page object</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-89290ca55858ff744863278ee9381e32276c37a6c0718fb3f9dcba71a6451d91">+159/-442</a></td> </tr> <tr> <td><strong>serviceAccount.spec.js</strong><dd><code>Migrate service account tests to enhanced setup</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-270e1e217b97afe4d451df3a48a0bfb14db453241adf1b7388342292707d5bb1">+114/-36</a></td> </tr> </table></details></td></tr><tr><td><strong>Miscellaneous</strong></td><td><details><summary>2 files</summary><table> <tr> <td><strong>sanity.spec_old.js</strong><dd><code>Archive legacy sanity spec implementation</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-51cb8e6cd5047c3d1ace254fa770ae74a3c13aa97e93315132dede6c4a84739a">+498/-0</a> </td> </tr> <tr> <td><strong>sanity2.spec_old.js</strong><dd><code>Archive legacy sanity2 spec with helpers</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-0e189adff26af46cfcc03f014d522c6a37ac268f7ad3e1a3ace1267bd64161e3">[link]</a> </td> </tr> </table></details></td></tr><tr><td><strong>Additional files</strong></td><td><details><summary>31 files</summary><table> <tr> <td><strong>playwright.yml</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-7afcd2d8f7b49bda74843f209eefb7b2da45f7e7803bf2e4bd636699b76aa2d3">+7/-8</a> </td> </tr> <tr> <td><strong>package.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-a41ba7975823b7b2dc071285391f835fbefd33bfffeb5aa2fba3ae15425cc64f">+2/-1</a> </td> </tr> <tr> <td><strong>changeOrgPage.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-1061a261a5b7ae8ffd6c4b48e382bb262289aacca97207aa15f00053b822038b">+224/-0</a> </td> </tr> <tr> <td><strong>enrichmentPage.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-98a7e60352ddf3be23cf70170559e637ef448c189cd9414448e9afff897c3019">+507/-0</a> </td> </tr> <tr> <td><strong>schemaLoadPage.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-6f0791c152c7a17e60e0167d52c4032edc6384553b69b9a94b81e380e98dd1d3">+265/-0</a> </td> </tr> <tr> <td><strong>schemaPage.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-1c0c0fc2fdbebae8c8aa7bef5ba92d31dee65238272581453e6f2b9a3f135468">+397/-0</a> </td> </tr> <tr> <td><strong>userPage.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-bba64431d6702ebcfd265dd690f81d8c06a285fb09016c4823ed3490403ed777">+26/-7</a> </td> </tr> <tr> <td><strong>iamPage.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-e537da3c3eaa929da94df90ba76b3b17f08792c9de268de899d310d13740efcf">+13/-5</a> </td> </tr> <tr> <td><strong>page-manager.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-565eab8b3c767ae50c9d05e591621d14f66b81af84d6b5ea6efe136c1c3933df">+11/-1</a> </td> </tr> <tr> <td><strong>pipelinesPage.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-d5f2771fd1139c174c46d09a9ab2da0ea4588b853e2b87e4728322d072542f49">+9/-0</a> </td> </tr> <tr> <td><strong>reportsPage.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-bc6b666f3862dce898d9ca68d036f317305b3f3d063d6eda423f2d864d36be0f">+8/-2</a> </td> </tr> <tr> <td><strong>changeOrg.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-d5557230e5f003c7c0129aab00855dc94501cc12a06b1f7814ff85d9fe389f47">+188/-149</a></td> </tr> <tr> <td><strong>enrichment.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-f52a06db75e7593aee95da4e0b255cb0001aa6c2b416d30358858e2f39b0cdcd">+106/-319</a></td> </tr> <tr> <td><strong>schema.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-72dd04280e3c77242b982bd7853ffa447428c0f9419c37a71d867ec7cd28d4b8">+121/-265</a></td> </tr> <tr> <td><strong>schemaload.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-5184069ec159ab301454535a5f45967635972e108095b82401ba96cb92856c5b">+114/-184</a></td> </tr> <tr> <td><strong>usersOrg.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-0bf40521e88d2cf427617e49affa14d4ebe469b6da4ea4aeef4fe3e246eb24c7">+177/-77</a></td> </tr> <tr> <td><strong>enhanced-baseFixtures.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-3657cfe42414b97b6676be58109d3c3f92e8ba2f52bb09840b65ac9f9c889997">+137/-0</a> </td> </tr> <tr> <td><strong>framework-test.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-d3d8309ee6bdfb8edd0e39b4f8d2008ffe07775f130882a60b0509b29ae1a15d">+33/-0</a> </td> </tr> <tr> <td><strong>global-setup.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-06323dad7214f86b41b62e121e716eeea0054bc4d950c6bcf4a0efe53894acc8">+147/-0</a> </td> </tr> <tr> <td><strong>global-teardown.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-f3a6f320a6dd08450cf34d96f07847b9324fff8415f768963252ce0e1e35315e">+30/-0</a> </td> </tr> <tr> <td><strong>slack-reporter.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-29fdf4df416fe8e9965be16bc0419787175c227c385ac37560da40dc935328f5">+162/-0</a> </td> </tr> <tr> <td><strong>test-logger.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-9ad67a2a3dbfce3994655b30eb07c0a1b795ce0dc10ae9785481f9472394ce5e">+202/-0</a> </td> </tr> <tr> <td><strong>wait-helpers.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-fdf1e3fd5f38875694acd5e3f0a140ed89326ce8a2910f07b18d1004fd5d2165">+331/-0</a> </td> </tr> <tr> <td><strong>playwright.config.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-91cb9615068914b2e4f5d66fcbed50d3e9771ea2d882f8e8048bbe54eab3c414">+19/-7</a> </td> </tr> <tr> <td><strong>changeOrg.spec_old.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-1a658a67b111f3f391520406aed0a66793d0e91c3157dca683a6e3603ff37bc6">+239/-0</a> </td> </tr> <tr> <td><strong>enrichment.spec_old.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-92bb2446bdc69b0b0a88ea39a9ae169f5266e6021df70ea50149f0c624f1b7f9">+325/-0</a> </td> </tr> <tr> <td><strong>sanity2_consolidated.spec_old.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-59079f7e0748f2f8d484ea6537936f8bfc488793799fa118c5f92c710645e175">+76/-0</a> </td> </tr> <tr> <td><strong>schema.spec_old.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-61f5d68bba432d1c3c14d155e24088dd5849e90df5f4e636bf79c6477947105e">+275/-0</a> </td> </tr> <tr> <td><strong>schemaload.spec_old.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-f230c8cf8362435b93ca2346369054471f362221d4209308616eb256970f8c8e">+188/-0</a> </td> </tr> <tr> <td><strong>serviceAccount.spec_old.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-fed6804e49039a3e8ad282d4db4ddf9da8afc954bdb4c4dbc0cdeccbe1f3f1c0">+138/-0</a> </td> </tr> <tr> <td><strong>usersOrg.spec_old.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-e7b7c318f5ca80a33d8351d60134f6ff3983d89e76e517eb0d8e94ca9b30fac9">+211/-0</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Neha P <144308844+neha00290@users.noreply.github.com> Co-authored-by: ktx-akshay <akshay.patil@kiara.tech> |
||
|
|
9fa1e57801 |
test: Folder movement (#7537)
### **User description** … the path for these in the spec file ___ ### **PR Type** Tests ___ ### **Description** - Remove legacy `alertsPage.js` page object - Update screenshot path in dashboard spec - Reflect dashboard folder restructure in tests ___ ### **Changes diagram** ```mermaid flowchart LR A["alertsPage.js removed"] -- "cleanup" --> B["dashboard spec path updated"] ``` ___ ### **Changes walkthrough** 📝 <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Tests</strong></td><td><table> <tr> <td> <details> <summary><strong>alertsPage.js</strong><dd><code>Delete legacy alertsPage file</code> </dd></summary> <hr> tests/ui-testing/pages/alertsPage.js - Entire file deleted - Remove outdated alerts page object </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7537/files#diff-c5fc79c6d2dcc83e20d69c46fdcf69449dade50c3e7cd5bf65d88369f5083cce">+0/-207</a> </td> </tr> </table></td></tr><tr><td><strong>Configuration changes</strong></td><td><table> <tr> <td> <details> <summary><strong>dashboardtype.spec.js</strong><dd><code>Update chart screenshot path</code> </dd></summary> <hr> tests/ui-testing/playwright-tests/dashboards/dashboardtype.spec.js <li>Updated screenshot path string<br> <li> Point to new <code>dashboards/dashboard-snaps</code> folder </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/7537/files#diff-40ee9b1480e11efe6a8fcbdd9c28e2881ef564783b43e12aaa86f2b3cc7d8bc6">+1/-1</a> </td> </tr> </table></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> |
||
|
|
cb81c7c7ed |
test: pending pom and modified existing test file (#7459)
### **PR Type** Tests, Enhancement ___ ### **Description** - Add `data-test` attributes to dashboard components for reliable selectors - Refactor Playwright tests to Page Object Model structure - Convert dashboard, logs, visualize specs to use reusable POM classes - Introduce panel configs page object for panel settings ___ ### **Changes diagram** ```mermaid flowchart LR A["Vue components (`data-test` hooks)"] --> B["Page Object Model classes"] B --> C["Refactored Playwright tests"] ``` ___ ### **Changes walkthrough** 📝 <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Configuration changes</strong></td><td><details><summary>2 files</summary><table> <tr> <td><strong>PanelLayoutSettings.vue</strong><dd><code>Add `data-test` hooks to settings inputs/buttons</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-c9ba85de5d831d5d661bbc41366b93430d0459a64b38989b6e6c4b0ce23591a9">+3/-0</a> </td> </tr> <tr> <td><strong>ExportDashboard.vue</strong><dd><code>Add `data-test` attribute to export button</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-f474d1a47791a2e4a79be607aff5c932bbb980ea264297e0fdeb123e84f2b704">+1/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Tests</strong></td><td><details><summary>3 files</summary><table> <tr> <td><strong>dashboard.spec.js</strong><dd><code>Refactor dashboard spec to Page Object Model</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-d0fa0042783dc109334b05266edce228bad97adcb568dd1e447920596238e9b4">+564/-1013</a></td> </tr> <tr> <td><strong>visualize.spec.js</strong><dd><code>Refactor visualize spec with POM classes</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-d144f23552ec150db375c89e52c3a53ede9ff3fa5dcd6092694fbe0a308d22ec">+380/-284</a></td> </tr> <tr> <td><strong>dashboard-multi-y-axis.spec.js</strong><dd><code>Update multi Y-axis tests to use POM</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-e90516a105c0b17c8e04c18e2b67ac10af213dbdd208fa4414cdcb7e377e6ee5">+38/-47</a> </td> </tr> </table></details></td></tr><tr><td><strong>Enhancement</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>dashboard-panel-configs.js</strong><dd><code>Add panel configs page object stub</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-f9ea2c35d253aa0c99b5c165f575a883ee898f981dc0a451502e230f03a0995c">+3/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Additional files</strong></td><td><details><summary>29 files</summary><table> <tr> <td><strong>playwright.yml</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-7afcd2d8f7b49bda74843f209eefb7b2da45f7e7803bf2e4bd636699b76aa2d3">+24/-30</a> </td> </tr> <tr> <td><strong>dashboard-chart.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-573a312576fce62d8e14f2bbb5f9b7d9a552d746304dce3d79862edddd24de76">+27/-61</a> </td> </tr> <tr> <td><strong>dashboard-create.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-c3c5add2b934580a91a79bb580634b70e2376b0452113008a0911102db3863e2">+48/-13</a> </td> </tr> <tr> <td><strong>dashboard-drilldown.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-d89e91ffb0de2f6f1499ebfe5d9f5072e5e7bc7b166e2e4991b4a51dde1f708f">+84/-0</a> </td> </tr> <tr> <td><strong>dashboard-filter.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-cc4b5c84fa9084ee18943e000284fe9fbdaed9605503109d90a00a95871940a2">+217/-0</a> </td> </tr> <tr> <td><strong>dashboard-folder.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-2c20ba97d8e487482cb8fafab72dc6ac96b8a8935ca7e16383afb6173372082e">+17/-7</a> </td> </tr> <tr> <td><strong>dashboard-list.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-59cd31661ce4f41cef3fe0c42068784ea636a62817982cb3c5e1aed16880c980">+50/-10</a> </td> </tr> <tr> <td><strong>dashboard-panel-actions.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-d29713fdcc11cbc93bda29da5261da389226cd718e4292a1c2cd96629f573a80">+7/-0</a> </td> </tr> <tr> <td><strong>dashboard-panel-edit.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-ea18ab21ebeaac575078abcbc4f986502578ec39e2c9cb86437c821d0dabc9b5">+79/-1</a> </td> </tr> <tr> <td><strong>dashboard-refresh.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-aab6b522710463c41744173c6a7dce2946364d5c15610edd7a6343f126f468ff">+33/-5</a> </td> </tr> <tr> <td><strong>dashboard-settings.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-1a07f3f14dacb06180bc02437804d175886aeacda98f5b0ef507a274e5ddd485">+323/-26</a></td> </tr> <tr> <td><strong>dashboard-share-export.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-4daa5b1100c694371286cd39d1145ace5fb16497d44214b17a0ac03050526617">+25/-0</a> </td> </tr> <tr> <td><strong>dashboard-variables.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-67d38d39bb67f4a0cbfa473ee81ad50b1fffebc40c635417e58905f3c865a6e2">+8/-1</a> </td> </tr> <tr> <td><strong>dashboard.import.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-5ebf681abb1567a1dede4b6763e199eb5db437c36c7b3829de98da60f27715e0">+37/-0</a> </td> </tr> <tr> <td><strong>visualise.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-c14ac1db3e4aa86190d7525e8e38c410bcbbae7f46b01890e74937cc11be67e6">+225/-0</a> </td> </tr> <tr> <td><strong>custom-charts.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-bb0672bd78ba9a59df96a08374f5fd77f52a47792ad409921fd25457bcf0a9e2">+49/-87</a> </td> </tr> <tr> <td><strong>dashboard-filter.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-c48a796836a25b90a9f94af58273ea9fd1b36248ca8689075c3d48be77de1468">+459/-948</a></td> </tr> <tr> <td><strong>dashboard-folder.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-bdb8f953e350e378f4196ea1b74fa60961dbe7e87ea34b77e551e77983ab0360">+7/-7</a> </td> </tr> <tr> <td><strong>dashboard-general-setting.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-ef759468f0819a05fc8db111b83188c56d602c015c126e1b656f4206f50f880c">+74/-176</a></td> </tr> <tr> <td><strong>dashboard-geoMap.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-6ae8394cd6b915e6d55a179cf6c7dc32992b8ebbd5d9aac177c0cbd1b9f351b3">+7/-3</a> </td> </tr> <tr> <td><strong>dashboard-import.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-4d23d07530d81a854e1e5f91ffbdcbbf5ff33eecf73a1e13819e3194b324a930">+204/-175</a></td> </tr> <tr> <td><strong>dashboard-tabs-setting.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-a532f52076aa0cae0a5fce5ac4dcf1738ffc98e5e9a5bfbd24ca0ad1b0cd4891">+172/-230</a></td> </tr> <tr> <td><strong>dashboard-transpose.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-da631007cea76a4bc59e4acd1195b59ae4131cd5208d21a9c1f94d3913911dc4">+139/-470</a></td> </tr> <tr> <td><strong>dashboard-variables-setting.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-1a76f44cf5e01a03b14f502bd9d624d17a48801996df4dbfb82b17fd52e83c64">+457/-654</a></td> </tr> <tr> <td><strong>dashboard2.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-8c9189e9e3950fff987c45ee8116d89f15f8fdec5baad209bef6f5858f3b3045">+334/-661</a></td> </tr> <tr> <td><strong>dashboardtype.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-40ee9b1480e11efe6a8fcbdd9c28e2881ef564783b43e12aaa86f2b3cc7d8bc6">+59/-218</a></td> </tr> <tr> <td><strong>visualization-vrl.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-4bfe28b08994ca0333edbe51bc99d3ddf05525387e90932d88681028e1947db4">+183/-252</a></td> </tr> <tr> <td><strong>dashCreation.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-c8615e0571a101473f8b2972a760e365fb5ac511b2ba3c07ab8b87017c9d3d4e">+4/-4</a> </td> </tr> <tr> <td><strong>dashLogin.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/7459/files#diff-05fc8386227811efbdfd6440e6f72f013001033a45d7fc80f986f73b04dfeb88">+1/-5</a> </td> </tr> </table></details></td></tr></tr></tbody></table> ___ > <details> <summary> Need help?</summary><li>Type <code>/help how to ...</code> in the comments thread for any questions about PR-Agent usage.</li><li>Check out the <a href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a> for more information.</li></details> |
||
|
|
dbd6c1017b | test(dashboard): add geomap and map test cases (#6722) | ||
|
|
73b49ea686 |
test: dashboard filter testcases (#6284)
Co-authored-by: ktx-kirtan <124270523+ktx-kirtan@users.noreply.github.com> Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> Co-authored-by: Kirtan Thakkar <kirtan@kiara.tech> |