diff --git a/grafana-plugin/package.json b/grafana-plugin/package.json index 2474ab4722..b90163977d 100644 --- a/grafana-plugin/package.json +++ b/grafana-plugin/package.json @@ -24,7 +24,7 @@ "test:e2e:watch": "yarn test:e2e --ui", "test:e2e-expensive:watch": "yarn test:e2e-expensive --ui", "test:e2e:gen": "yarn playwright codegen http://localhost:3000", - "e2e-show-report": "yarn playwright show-report", + "e2e-show-report": "yarn playwright show-report --port 31000", "generate-types": "cd ./src/network/oncall-api/types-generator && yarn generate", "watch": "NODE_ENV=development webpack -w -c ./webpack.config.ts --env development", "sign": "npx --yes @grafana/sign-plugin@latest", diff --git a/grafana-plugin/pkg/plugin/sync.go b/grafana-plugin/pkg/plugin/sync.go index 249a10f532..72a1c6f636 100644 --- a/grafana-plugin/pkg/plugin/sync.go +++ b/grafana-plugin/pkg/plugin/sync.go @@ -8,6 +8,7 @@ import ( "errors" "fmt" "github.com/grafana/grafana-plugin-sdk-go/backend/log" + "io" "net/http" "net/url" "strconv" @@ -83,7 +84,7 @@ func (a *App) doSync(ctx context.Context, forceSend bool) { var cacheAlreadyLocked *SyncCacheAlreadyLocked if errors.As(err, &cacheAlreadyLocked) { log.DefaultLogger.Info("Skipping sync", "message", err) - } else { + } else if err != nil { log.DefaultLogger.Error("Error making sync request", "error", err) } }() @@ -175,6 +176,17 @@ func (a *App) makeSyncRequest(ctx context.Context, forceSend bool) error { } defer res.Body.Close() + if res.StatusCode != http.StatusOK { + bodyBytes, err := io.ReadAll(res.Body) + if err != nil { + log.DefaultLogger.Error("failed to read response body", "error", err, "status", res.StatusCode) + } else { + log.DefaultLogger.Error("sync not ok", "status", res.StatusCode, "message", string(bodyBytes)) + } + } else { + log.DefaultLogger.Info("sync ok", "status", res.StatusCode) + } + a.lastOnCallSync = onCallSync return nil } diff --git a/grafana-plugin/playwright.config.ts b/grafana-plugin/playwright.config.ts index 21b75543da..a0aa9d6bb1 100644 --- a/grafana-plugin/playwright.config.ts +++ b/grafana-plugin/playwright.config.ts @@ -27,7 +27,16 @@ export default defineConfig({ /* Maximum time all the tests can run for. */ globalTimeout: 20 * 60 * 1_000, // 20 minutes - reporter: [['html', { open: IS_CI ? 'never' : 'always' }]], + reporter: [ + [ + 'html', + { + open: IS_CI ? 'never' : 'always', + port: 31000, // explicitly specify a port for k8s port forwarding to avoid clashes with Incident and IRM + }, + ], + ['list', { printSteps: true }], + ], /* Maximum time one test can run for. */ timeout: 60_000,