Skip to content

Commit

Permalink
Merge pull request #635 from antip00/master
Browse files Browse the repository at this point in the history
Adding tests for unified alerts, updating requirements.
  • Loading branch information
Slach authored Oct 3, 2024
2 parents 453760e + 922c475 commit 6c7ab22
Show file tree
Hide file tree
Showing 13 changed files with 499 additions and 58 deletions.
1 change: 1 addition & 0 deletions tests/testflows/regression.py
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ def regression(self, before, after):
Feature(run=load("testflows.tests.automated.data_source_setup", "feature"))
Feature(run=load("testflows.tests.automated.e2e", "feature"))
Feature(run=load("testflows.tests.automated.query_settings", "feature"))
Feature(run=load("testflows.tests.automated.unified_alerts", "feature"))

self.context.grafana_version = "10.4.3"
with Given("I define endpoint with grafana version that contains legacy alerts"):
Expand Down
46 changes: 34 additions & 12 deletions tests/testflows/requirements/requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
* 5 [Adding New Data Source](#adding-new-data-source)
* 5.1 [RQ.SRS.Plugin.DataSourceSetupView](#rqsrsplugindatasourcesetupview)
* 5.2 [RQ.SRS.Plugin.DataSourceSetupView.SaveAndTestButton](#rqsrsplugindatasourcesetupviewsaveandtestbutton)
* 5.3 [RQ.SRS.Plugin.DataSourceSetupView.DefaultValuesToggle](#rqsrsplugindatasourcesetupviewdefaultvaluestoggle)
* 5.4 [RQ.SRS.Plugin.DataSourceSetupView.DefaultValuesSetup](#rqsrsplugindatasourcesetupviewdefaultvaluessetup)
* 6 [Specifying Data Source Name](#specifying-data-source-name)
* 6.1 [RQ.SRS.Plugin.DataSourceSetupView.DataSourceName](#rqsrsplugindatasourcesetupviewdatasourcename)
* 7 [Using Default Data Source](#using-default-data-source)
Expand Down Expand Up @@ -126,11 +128,11 @@
* 38.1 [RQ.SRS.Plugin.Variables](#rqsrspluginvariables)
* 39 [Annotations Setup](#annotations-setup)
* 39.1 [RQ.SRS.Plugin.Annotations](#rqsrspluginannotations)
* 40 [Setaping Alerts](#setaping-alerts)
* 40 [Setting up Alerts](#setting-up-alerts)
* 40.1 [RQ.SRS.Plugin.Alerts](#rqsrspluginalerts)
* 40.2 [RQ.SRS.Plugin.Alerts.AlertSetupPage](#rqsrspluginalertsalertsetuppage)
* 40.3 [RQ.SRS.Plugin.Alerts.RuleType.GrafanaManaged](#rqsrspluginalertsruletypegrafanamanaged)
* 40.4 [RQ.SRS.Plugin.Alerts.RuleType.DataSourceManaged](#rqsrspluginalertsruletypedatasourcemanaged)
* 40.3 [RQ.SRS.Plugin.Alerts.UnifiedAlerts](#rqsrspluginalertsunifiedalerts)
* 40.4 [RQ.SRS.Plugin.Alerts.LegacyAlerts](#rqsrspluginalertslegacyalerts)
* 41 [Functions](#functions)
* 41.1 [RQ.SRS.Plugin.Functions](#rqsrspluginfunctions)
* 41.2 [RQ.SRS.Plugin.Functions.Rate](#rqsrspluginfunctionsrate)
Expand All @@ -151,6 +153,7 @@
* 43.1 [RQ.SRS.Plugin.VersionCompatibility](#rqsrspluginversioncompatibility)



## Revision History

This document is stored in an electronic form using [Git] source control management software
Expand Down Expand Up @@ -222,6 +225,7 @@ This view SHALL contain the following sections:
* `Name`
* `HTTP`
* `Auth toggles`
* `Use default values` toggle
* `Custom HTTP Headers`
* `Additional`

Expand All @@ -233,6 +237,24 @@ version: 1.0
The [Plugin]'s data source setup view SHALL contain a `Save & test` button that SHALL save datasource and check if [ClickHouse]
datasource is connected to [Grafana] correctly.

### RQ.SRS.Plugin.DataSourceSetupView.DefaultValuesToggle
version: 1.0

The [Plugin]'s data source setup view SHALL contain a `default values` toggle that SHALL open
default values setup menu with the following dropdowns:

* `Column timestamp type`
* `Datetime Field`
* `Timestamp (Uint32) Field`
* `Datetime64 Field`
* `Date Field`

### RQ.SRS.Plugin.DataSourceSetupView.DefaultValuesSetup
version: 1.0

The [Plugin]'s data source setup view SHALL contain a default values setup menu
that SHALL specify default values for panels that uses this datasource.

## Specifying Data Source Name

### RQ.SRS.Plugin.DataSourceSetupView.DataSourceName
Expand All @@ -246,7 +268,7 @@ The [Plugin] SHALL support specifying a data source name by using the `Name` tex
version: 1.0

The [Plugin] SHALL support specifying the data source as default by using the `Default` toggle in the data source setup view.
The default data source SHALL be preselected in new pannels.
The default data source SHALL be preselected in new panels.

## Specifying HTTP Connection

Expand Down Expand Up @@ -812,9 +834,9 @@ setuping variables in the `Variables` tab. The [Plugin] SHALL support the follow
version: 1.0

The [Plugin] SHALL support [Grafana] annotations setup for dashboards by clicking gear button and
setuping variables in the `Annotations` tab.
setting up variables in the `Annotations` tab.

## Setaping Alerts
## Setting up Alerts

### RQ.SRS.Plugin.Alerts
version: 1.0
Expand All @@ -827,18 +849,18 @@ version: 1.0

The [Plugin] SHALL allow defining query and alert condition by using query setup interface and raw SQL editor in alert setup page.

### RQ.SRS.Plugin.Alerts.RuleType.GrafanaManaged
### RQ.SRS.Plugin.Alerts.UnifiedAlerts
version: 1.0

The [Plugin] SHALL support `Grafana-managed` rule type by choosing rule type in alert setup page.
This alert SHALL be captured by grafana.
The [Plugin] SHALL support unified alerts defined in `Alerting > Alert rules` page.


### RQ.SRS.Plugin.Alerts.RuleType.DataSourceManaged
### RQ.SRS.Plugin.Alerts.LegacyAlerts
version: 1.0

The [Plugin] SHALL support `Data source-managed` rule type by choosing rule type in alert setup page.
This alert SHALL be captured by data source.
The [Plugin] SHALL support legacy alerts for grafana version less or equal 10.
This Alerts SHALL be defined in panel page for each individual panel.


## Functions

Expand Down
121 changes: 94 additions & 27 deletions tests/testflows/requirements/requirements.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@
'* `Name`\n'
'* `HTTP`\n'
'* `Auth toggles`\n'
'* `Use default values` toggle\n'
'* `Custom HTTP Headers`\n'
'* `Additional`\n'
'\n'
Expand Down Expand Up @@ -133,6 +134,46 @@
num='5.2'
)

RQ_SRS_Plugin_DataSourceSetupView_DefaultValuesToggle = Requirement(
name='RQ.SRS.Plugin.DataSourceSetupView.DefaultValuesToggle',
version='1.0',
priority=None,
group=None,
type=None,
uid=None,
description=(
"The [Plugin]'s data source setup view SHALL contain a `default values` toggle that SHALL open \n"
'default values setup menu with the following dropdowns:\n'
'\n'
'* `Column timestamp type`\n'
'* `Datetime Field`\n'
'* `Timestamp (Uint32) Field`\n'
'* `Datetime64 Field`\n'
'* `Date Field`\n'
'\n'
),
link=None,
level=2,
num='5.3'
)

RQ_SRS_Plugin_DataSourceSetupView_DefaultValuesSetup = Requirement(
name='RQ.SRS.Plugin.DataSourceSetupView.DefaultValuesSetup',
version='1.0',
priority=None,
group=None,
type=None,
uid=None,
description=(
"The [Plugin]'s data source setup view SHALL contain a default values setup menu \n"
'that SHALL specify default values for panels that uses this datasource.\n'
'\n'
),
link=None,
level=2,
num='5.4'
)

RQ_SRS_Plugin_DataSourceSetupView_DataSourceName = Requirement(
name='RQ.SRS.Plugin.DataSourceSetupView.DataSourceName',
version='1.0',
Expand All @@ -158,7 +199,7 @@
uid=None,
description=(
'The [Plugin] SHALL support specifying the data source as default by using the `Default` toggle in the data source setup view.\n'
'The default data source SHALL be preselected in new pannels.\n'
'The default data source SHALL be preselected in new panels.\n'
'\n'
),
link=None,
Expand Down Expand Up @@ -1422,7 +1463,7 @@
uid=None,
description=(
'The [Plugin] SHALL support [Grafana] annotations setup for dashboards by clicking gear button and \n'
'setuping variables in the `Annotations` tab.\n'
'setting up variables in the `Annotations` tab.\n'
'\n'
),
link=None,
Expand Down Expand Up @@ -1463,16 +1504,15 @@
num='40.2'
)

RQ_SRS_Plugin_Alerts_RuleType_GrafanaManaged = Requirement(
name='RQ.SRS.Plugin.Alerts.RuleType.GrafanaManaged',
RQ_SRS_Plugin_Alerts_UnifiedAlerts = Requirement(
name='RQ.SRS.Plugin.Alerts.UnifiedAlerts',
version='1.0',
priority=None,
group=None,
type=None,
uid=None,
description=(
'The [Plugin] SHALL support `Grafana-managed` rule type by choosing rule type in alert setup page. \n'
'This alert SHALL be captured by grafana.\n'
'The [Plugin] SHALL support unified alerts defined in `Alerting > Alert rules` page.\n'
'\n'
'\n'
),
Expand All @@ -1481,16 +1521,17 @@
num='40.3'
)

RQ_SRS_Plugin_Alerts_RuleType_DataSourceManaged = Requirement(
name='RQ.SRS.Plugin.Alerts.RuleType.DataSourceManaged',
RQ_SRS_Plugin_Alerts_LegacyAlerts = Requirement(
name='RQ.SRS.Plugin.Alerts.LegacyAlerts',
version='1.0',
priority=None,
group=None,
type=None,
uid=None,
description=(
'The [Plugin] SHALL support `Data source-managed` rule type by choosing rule type in alert setup page. \n'
'This alert SHALL be captured by data source.\n'
'The [Plugin] SHALL support legacy alerts for grafana version less or equal 10.\n'
'This Alerts SHALL be defined in panel page for each individual panel.\n'
'\n'
'\n'
),
link=None,
Expand Down Expand Up @@ -1854,6 +1895,8 @@
Heading(name='Adding New Data Source', level=1, num='5'),
Heading(name='RQ.SRS.Plugin.DataSourceSetupView', level=2, num='5.1'),
Heading(name='RQ.SRS.Plugin.DataSourceSetupView.SaveAndTestButton', level=2, num='5.2'),
Heading(name='RQ.SRS.Plugin.DataSourceSetupView.DefaultValuesToggle', level=2, num='5.3'),
Heading(name='RQ.SRS.Plugin.DataSourceSetupView.DefaultValuesSetup', level=2, num='5.4'),
Heading(name='Specifying Data Source Name', level=1, num='6'),
Heading(name='RQ.SRS.Plugin.DataSourceSetupView.DataSourceName', level=2, num='6.1'),
Heading(name='Using Default Data Source', level=1, num='7'),
Expand Down Expand Up @@ -1963,11 +2006,11 @@
Heading(name='RQ.SRS.Plugin.Variables', level=2, num='38.1'),
Heading(name='Annotations Setup', level=1, num='39'),
Heading(name='RQ.SRS.Plugin.Annotations', level=2, num='39.1'),
Heading(name='Setaping Alerts', level=1, num='40'),
Heading(name='Setting up Alerts', level=1, num='40'),
Heading(name='RQ.SRS.Plugin.Alerts', level=2, num='40.1'),
Heading(name='RQ.SRS.Plugin.Alerts.AlertSetupPage', level=2, num='40.2'),
Heading(name='RQ.SRS.Plugin.Alerts.RuleType.GrafanaManaged', level=2, num='40.3'),
Heading(name='RQ.SRS.Plugin.Alerts.RuleType.DataSourceManaged', level=2, num='40.4'),
Heading(name='RQ.SRS.Plugin.Alerts.UnifiedAlerts', level=2, num='40.3'),
Heading(name='RQ.SRS.Plugin.Alerts.LegacyAlerts', level=2, num='40.4'),
Heading(name='Functions', level=1, num='41'),
Heading(name='RQ.SRS.Plugin.Functions', level=2, num='41.1'),
Heading(name='RQ.SRS.Plugin.Functions.Rate', level=2, num='41.2'),
Expand All @@ -1994,6 +2037,8 @@
RQ_SRS_Plugin,
RQ_SRS_Plugin_DataSourceSetupView,
RQ_SRS_Plugin_DataSourceSetupView_SaveAndTestButton,
RQ_SRS_Plugin_DataSourceSetupView_DefaultValuesToggle,
RQ_SRS_Plugin_DataSourceSetupView_DefaultValuesSetup,
RQ_SRS_Plugin_DataSourceSetupView_DataSourceName,
RQ_SRS_Plugin_DataSourceSetupView_DefaultDataSource,
RQ_SRS_Plugin_DataSourceSetupView_HTTPConnection,
Expand Down Expand Up @@ -2068,8 +2113,8 @@
RQ_SRS_Plugin_Annotations,
RQ_SRS_Plugin_Alerts,
RQ_SRS_Plugin_Alerts_AlertSetupPage,
RQ_SRS_Plugin_Alerts_RuleType_GrafanaManaged,
RQ_SRS_Plugin_Alerts_RuleType_DataSourceManaged,
RQ_SRS_Plugin_Alerts_UnifiedAlerts,
RQ_SRS_Plugin_Alerts_LegacyAlerts,
RQ_SRS_Plugin_Functions,
RQ_SRS_Plugin_Functions_Rate,
RQ_SRS_Plugin_Functions_Columns,
Expand Down Expand Up @@ -2106,6 +2151,8 @@
* 5 [Adding New Data Source](#adding-new-data-source)
* 5.1 [RQ.SRS.Plugin.DataSourceSetupView](#rqsrsplugindatasourcesetupview)
* 5.2 [RQ.SRS.Plugin.DataSourceSetupView.SaveAndTestButton](#rqsrsplugindatasourcesetupviewsaveandtestbutton)
* 5.3 [RQ.SRS.Plugin.DataSourceSetupView.DefaultValuesToggle](#rqsrsplugindatasourcesetupviewdefaultvaluestoggle)
* 5.4 [RQ.SRS.Plugin.DataSourceSetupView.DefaultValuesSetup](#rqsrsplugindatasourcesetupviewdefaultvaluessetup)
* 6 [Specifying Data Source Name](#specifying-data-source-name)
* 6.1 [RQ.SRS.Plugin.DataSourceSetupView.DataSourceName](#rqsrsplugindatasourcesetupviewdatasourcename)
* 7 [Using Default Data Source](#using-default-data-source)
Expand Down Expand Up @@ -2215,11 +2262,11 @@
* 38.1 [RQ.SRS.Plugin.Variables](#rqsrspluginvariables)
* 39 [Annotations Setup](#annotations-setup)
* 39.1 [RQ.SRS.Plugin.Annotations](#rqsrspluginannotations)
* 40 [Setaping Alerts](#setaping-alerts)
* 40 [Setting up Alerts](#setting-up-alerts)
* 40.1 [RQ.SRS.Plugin.Alerts](#rqsrspluginalerts)
* 40.2 [RQ.SRS.Plugin.Alerts.AlertSetupPage](#rqsrspluginalertsalertsetuppage)
* 40.3 [RQ.SRS.Plugin.Alerts.RuleType.GrafanaManaged](#rqsrspluginalertsruletypegrafanamanaged)
* 40.4 [RQ.SRS.Plugin.Alerts.RuleType.DataSourceManaged](#rqsrspluginalertsruletypedatasourcemanaged)
* 40.3 [RQ.SRS.Plugin.Alerts.UnifiedAlerts](#rqsrspluginalertsunifiedalerts)
* 40.4 [RQ.SRS.Plugin.Alerts.LegacyAlerts](#rqsrspluginalertslegacyalerts)
* 41 [Functions](#functions)
* 41.1 [RQ.SRS.Plugin.Functions](#rqsrspluginfunctions)
* 41.2 [RQ.SRS.Plugin.Functions.Rate](#rqsrspluginfunctionsrate)
Expand All @@ -2240,6 +2287,7 @@
* 43.1 [RQ.SRS.Plugin.VersionCompatibility](#rqsrspluginversioncompatibility)
## Revision History
This document is stored in an electronic form using [Git] source control management software
Expand Down Expand Up @@ -2311,6 +2359,7 @@
* `Name`
* `HTTP`
* `Auth toggles`
* `Use default values` toggle
* `Custom HTTP Headers`
* `Additional`
Expand All @@ -2322,6 +2371,24 @@
The [Plugin]'s data source setup view SHALL contain a `Save & test` button that SHALL save datasource and check if [ClickHouse]
datasource is connected to [Grafana] correctly.
### RQ.SRS.Plugin.DataSourceSetupView.DefaultValuesToggle
version: 1.0
The [Plugin]'s data source setup view SHALL contain a `default values` toggle that SHALL open
default values setup menu with the following dropdowns:
* `Column timestamp type`
* `Datetime Field`
* `Timestamp (Uint32) Field`
* `Datetime64 Field`
* `Date Field`
### RQ.SRS.Plugin.DataSourceSetupView.DefaultValuesSetup
version: 1.0
The [Plugin]'s data source setup view SHALL contain a default values setup menu
that SHALL specify default values for panels that uses this datasource.
## Specifying Data Source Name
### RQ.SRS.Plugin.DataSourceSetupView.DataSourceName
Expand All @@ -2335,7 +2402,7 @@
version: 1.0
The [Plugin] SHALL support specifying the data source as default by using the `Default` toggle in the data source setup view.
The default data source SHALL be preselected in new pannels.
The default data source SHALL be preselected in new panels.
## Specifying HTTP Connection
Expand Down Expand Up @@ -2901,9 +2968,9 @@
version: 1.0
The [Plugin] SHALL support [Grafana] annotations setup for dashboards by clicking gear button and
setuping variables in the `Annotations` tab.
setting up variables in the `Annotations` tab.
## Setaping Alerts
## Setting up Alerts
### RQ.SRS.Plugin.Alerts
version: 1.0
Expand All @@ -2916,18 +2983,18 @@
The [Plugin] SHALL allow defining query and alert condition by using query setup interface and raw SQL editor in alert setup page.
### RQ.SRS.Plugin.Alerts.RuleType.GrafanaManaged
### RQ.SRS.Plugin.Alerts.UnifiedAlerts
version: 1.0
The [Plugin] SHALL support `Grafana-managed` rule type by choosing rule type in alert setup page.
This alert SHALL be captured by grafana.
The [Plugin] SHALL support unified alerts defined in `Alerting > Alert rules` page.
### RQ.SRS.Plugin.Alerts.RuleType.DataSourceManaged
### RQ.SRS.Plugin.Alerts.LegacyAlerts
version: 1.0
The [Plugin] SHALL support `Data source-managed` rule type by choosing rule type in alert setup page.
This alert SHALL be captured by data source.
The [Plugin] SHALL support legacy alerts for grafana version less or equal 10.
This Alerts SHALL be defined in panel page for each individual panel.
## Functions
Expand Down
Loading

0 comments on commit 6c7ab22

Please sign in to comment.