Chore: Propagate context for data source provisioning (#40235)

* context all the things

* apply feedback

* rollback some alerting changes

* rollback some alerting changes #2

* more rollbacks

* more rollbacks #2

* more rollbacks #3

* more rollbacks #4

* fix integration test

* add missing context

* add missing and remove incorrect dispatch
This commit is contained in:
Will Browne
2021-10-18 16:06:19 +01:00
committed by GitHub
parent ec0fcbbf4b
commit e4297006f6
22 changed files with 129 additions and 112 deletions

View File

@@ -4,6 +4,7 @@
package sqlstore
import (
"context"
"errors"
"strconv"
"testing"
@@ -35,7 +36,7 @@ func TestDataAccess(t *testing.T) {
initDatasource := func(sqlStore *SQLStore) *models.DataSource {
cmd := defaultAddDatasourceCommand
err := sqlStore.AddDataSource(&cmd)
err := sqlStore.AddDataSource(context.Background(), &cmd)
require.NoError(t, err)
query := models.GetDataSourcesQuery{OrgId: 10}
@@ -50,7 +51,7 @@ func TestDataAccess(t *testing.T) {
t.Run("Can add datasource", func(t *testing.T) {
sqlStore := InitTestDB(t)
err := sqlStore.AddDataSource(&models.AddDataSourceCommand{
err := sqlStore.AddDataSource(context.Background(), &models.AddDataSourceCommand{
OrgId: 10,
Name: "laban",
Type: models.DS_GRAPHITE,
@@ -85,9 +86,9 @@ func TestDataAccess(t *testing.T) {
cmd2 := defaultAddDatasourceCommand
cmd1.Uid = "test"
cmd2.Uid = "test"
err := sqlStore.AddDataSource(&cmd1)
err := sqlStore.AddDataSource(context.Background(), &cmd1)
require.NoError(t, err)
err = sqlStore.AddDataSource(&cmd2)
err = sqlStore.AddDataSource(context.Background(), &cmd2)
require.Error(t, err)
require.IsType(t, models.ErrDataSourceUidExists, err)
})
@@ -101,7 +102,7 @@ func TestDataAccess(t *testing.T) {
return nil
})
err := sqlStore.AddDataSource(&defaultAddDatasourceCommand)
err := sqlStore.AddDataSource(context.Background(), &defaultAddDatasourceCommand)
require.NoError(t, err)
require.Eventually(t, func() bool {
@@ -127,7 +128,7 @@ func TestDataAccess(t *testing.T) {
cmd := defaultUpdateDatasourceCommand
cmd.Id = ds.Id
cmd.Version = ds.Version
err := sqlStore.UpdateDataSource(&cmd)
err := sqlStore.UpdateDataSource(context.Background(), &cmd)
require.NoError(t, err)
})
@@ -138,11 +139,11 @@ func TestDataAccess(t *testing.T) {
cmd := defaultUpdateDatasourceCommand
cmd.Id = ds.Id
err := sqlStore.UpdateDataSource(&cmd)
err := sqlStore.UpdateDataSource(context.Background(), &cmd)
require.NoError(t, err)
query := models.GetDataSourceQuery{Id: ds.Id, OrgId: 10}
err = sqlStore.GetDataSource(&query)
err = sqlStore.GetDataSource(context.Background(), &query)
require.NoError(t, err)
require.Equal(t, ds.Uid, query.Result.Uid)
})
@@ -163,10 +164,10 @@ func TestDataAccess(t *testing.T) {
// Make a copy as UpdateDataSource modifies it
cmd2 := cmd
err := sqlStore.UpdateDataSource(&cmd)
err := sqlStore.UpdateDataSource(context.Background(), &cmd)
require.NoError(t, err)
err = sqlStore.UpdateDataSource(&cmd2)
err = sqlStore.UpdateDataSource(context.Background(), &cmd2)
require.Error(t, err)
})
@@ -183,7 +184,7 @@ func TestDataAccess(t *testing.T) {
Url: "http://test",
}
err := sqlStore.UpdateDataSource(cmd)
err := sqlStore.UpdateDataSource(context.Background(), cmd)
require.NoError(t, err)
})
@@ -201,7 +202,7 @@ func TestDataAccess(t *testing.T) {
Version: 90000,
}
err := sqlStore.UpdateDataSource(cmd)
err := sqlStore.UpdateDataSource(context.Background(), cmd)
require.NoError(t, err)
})
})
@@ -211,7 +212,7 @@ func TestDataAccess(t *testing.T) {
sqlStore := InitTestDB(t)
ds := initDatasource(sqlStore)
err := sqlStore.DeleteDataSource(&models.DeleteDataSourceCommand{ID: ds.Id, OrgID: ds.OrgId})
err := sqlStore.DeleteDataSource(context.Background(), &models.DeleteDataSourceCommand{ID: ds.Id, OrgID: ds.OrgId})
require.NoError(t, err)
query := models.GetDataSourcesQuery{OrgId: 10}
@@ -225,7 +226,7 @@ func TestDataAccess(t *testing.T) {
sqlStore := InitTestDB(t)
ds := initDatasource(sqlStore)
err := sqlStore.DeleteDataSource(&models.DeleteDataSourceCommand{ID: ds.Id, OrgID: 123123})
err := sqlStore.DeleteDataSource(context.Background(), &models.DeleteDataSourceCommand{ID: ds.Id, OrgID: 123123})
require.NoError(t, err)
query := models.GetDataSourcesQuery{OrgId: 10}
err = sqlStore.GetDataSources(&query)
@@ -245,7 +246,7 @@ func TestDataAccess(t *testing.T) {
return nil
})
err := sqlStore.DeleteDataSource(&models.DeleteDataSourceCommand{ID: ds.Id, UID: "nisse-uid", Name: "nisse", OrgID: 123123})
err := sqlStore.DeleteDataSource(context.Background(), &models.DeleteDataSourceCommand{ID: ds.Id, UID: "nisse-uid", Name: "nisse", OrgID: 123123})
require.NoError(t, err)
require.Eventually(t, func() bool {
@@ -263,7 +264,7 @@ func TestDataAccess(t *testing.T) {
ds := initDatasource(sqlStore)
query := models.GetDataSourcesQuery{OrgId: 10}
err := sqlStore.DeleteDataSource(&models.DeleteDataSourceCommand{Name: ds.Name, OrgID: ds.OrgId})
err := sqlStore.DeleteDataSource(context.Background(), &models.DeleteDataSourceCommand{Name: ds.Name, OrgID: ds.OrgId})
require.NoError(t, err)
err = sqlStore.GetDataSources(&query)
@@ -277,7 +278,7 @@ func TestDataAccess(t *testing.T) {
sqlStore := InitTestDB(t)
datasourceLimit := 6
for i := 0; i < datasourceLimit+1; i++ {
err := sqlStore.AddDataSource(&models.AddDataSourceCommand{
err := sqlStore.AddDataSource(context.Background(), &models.AddDataSourceCommand{
OrgId: 10,
Name: "laban" + strconv.Itoa(i),
Type: models.DS_GRAPHITE,
@@ -300,7 +301,7 @@ func TestDataAccess(t *testing.T) {
sqlStore := InitTestDB(t)
numberOfDatasource := 5100
for i := 0; i < numberOfDatasource; i++ {
err := sqlStore.AddDataSource(&models.AddDataSourceCommand{
err := sqlStore.AddDataSource(context.Background(), &models.AddDataSourceCommand{
OrgId: 10,
Name: "laban" + strconv.Itoa(i),
Type: models.DS_GRAPHITE,
@@ -323,7 +324,7 @@ func TestDataAccess(t *testing.T) {
sqlStore := InitTestDB(t)
numberOfDatasource := 5100
for i := 0; i < numberOfDatasource; i++ {
err := sqlStore.AddDataSource(&models.AddDataSourceCommand{
err := sqlStore.AddDataSource(context.Background(), &models.AddDataSourceCommand{
OrgId: 10,
Name: "laban" + strconv.Itoa(i),
Type: models.DS_GRAPHITE,
@@ -347,7 +348,7 @@ func TestDataAccess(t *testing.T) {
t.Run("Only returns datasources of specified type", func(t *testing.T) {
sqlStore := InitTestDB(t)
err := sqlStore.AddDataSource(&models.AddDataSourceCommand{
err := sqlStore.AddDataSource(context.Background(), &models.AddDataSourceCommand{
OrgId: 10,
Name: "Elasticsearch",
Type: models.DS_ES,
@@ -358,7 +359,7 @@ func TestDataAccess(t *testing.T) {
})
require.NoError(t, err)
err = sqlStore.AddDataSource(&models.AddDataSourceCommand{
err = sqlStore.AddDataSource(context.Background(), &models.AddDataSourceCommand{
OrgId: 10,
Name: "Graphite",
Type: models.DS_GRAPHITE,
@@ -403,7 +404,7 @@ func TestGetDefaultDataSource(t *testing.T) {
Url: "http://test",
}
err := sqlStore.AddDataSource(&cmd)
err := sqlStore.AddDataSource(context.Background(), &cmd)
require.NoError(t, err)
query := models.GetDefaultDataSourceQuery{OrgId: 10}
@@ -424,7 +425,7 @@ func TestGetDefaultDataSource(t *testing.T) {
IsDefault: true,
}
err := sqlStore.AddDataSource(&cmd)
err := sqlStore.AddDataSource(context.Background(), &cmd)
require.NoError(t, err)
query := models.GetDefaultDataSourceQuery{OrgId: 10}