diff options
| author | Aleksandr Nogikh <nogikh@google.com> | 2025-07-11 13:17:34 +0200 |
|---|---|---|
| committer | Aleksandr Nogikh <nogikh@google.com> | 2025-07-14 11:30:46 +0000 |
| commit | 76718eb73e3d1e2a43363d80ab15366706b6491f (patch) | |
| tree | 4d8008f2b7fcfb674e7f8c9562c9cc3643aea50f /syz-cluster/pkg/controller | |
| parent | 0bfc1202cebeedf826d470296424f85dee4fe842 (diff) | |
syz-cluster: generate web dashboard URLs for reports
Take web dashboard URL from the config and use it to generate links for
logs, reproducers, etc.
Diffstat (limited to 'syz-cluster/pkg/controller')
| -rw-r--r-- | syz-cluster/pkg/controller/api_test.go | 20 | ||||
| -rw-r--r-- | syz-cluster/pkg/controller/testutil.go | 26 |
2 files changed, 29 insertions, 17 deletions
diff --git a/syz-cluster/pkg/controller/api_test.go b/syz-cluster/pkg/controller/api_test.go index 621be5686..c086f31ce 100644 --- a/syz-cluster/pkg/controller/api_test.go +++ b/syz-cluster/pkg/controller/api_test.go @@ -16,14 +16,14 @@ import ( func TestAPIGetSeries(t *testing.T) { env, ctx := app.TestEnvironment(t) client := TestServer(t, env) - seriesID, sessionID := UploadTestSeries(t, ctx, client, testSeries) + ids := UploadTestSeries(t, ctx, client, testSeries) - ret, err := client.GetSessionSeries(ctx, sessionID) + ret, err := client.GetSessionSeries(ctx, ids.SessionID) assert.NoError(t, err) ret.ID = "" assert.Equal(t, testSeries, ret) - ret, err = client.GetSeries(ctx, seriesID) + ret, err = client.GetSeries(ctx, ids.SeriesID) assert.NoError(t, err) ret.ID = "" assert.Equal(t, testSeries, ret) @@ -47,10 +47,10 @@ func TestAPISaveFinding(t *testing.T) { env, ctx := app.TestEnvironment(t) client := TestServer(t, env) - _, sessionID := UploadTestSeries(t, ctx, client, testSeries) + ids := UploadTestSeries(t, ctx, client, testSeries) buildResp := UploadTestBuild(t, ctx, client, testBuild) err := client.UploadTestResult(ctx, &api.TestResult{ - SessionID: sessionID, + SessionID: ids.SessionID, BaseBuildID: buildResp.ID, TestName: "test", Result: api.TestRunning, @@ -60,7 +60,7 @@ func TestAPISaveFinding(t *testing.T) { t.Run("not existing test", func(t *testing.T) { err = client.UploadFinding(ctx, &api.NewFinding{ - SessionID: sessionID, + SessionID: ids.SessionID, TestName: "unknown test", }) assert.Error(t, err) @@ -68,7 +68,7 @@ func TestAPISaveFinding(t *testing.T) { t.Run("must succeed", func(t *testing.T) { finding := &api.NewFinding{ - SessionID: sessionID, + SessionID: ids.SessionID, TestName: "test", Report: []byte("report"), Log: []byte("log"), @@ -88,17 +88,17 @@ func TestAPIUploadTestArtifacts(t *testing.T) { env, ctx := app.TestEnvironment(t) client := TestServer(t, env) - _, sessionID := UploadTestSeries(t, ctx, client, testSeries) + ids := UploadTestSeries(t, ctx, client, testSeries) buildResp := UploadTestBuild(t, ctx, client, testBuild) err := client.UploadTestResult(ctx, &api.TestResult{ - SessionID: sessionID, + SessionID: ids.SessionID, BaseBuildID: buildResp.ID, TestName: "test", Result: api.TestRunning, Log: []byte("some log"), }) assert.NoError(t, err) - err = client.UploadTestArtifacts(ctx, sessionID, "test", bytes.NewReader([]byte("artifacts content"))) + err = client.UploadTestArtifacts(ctx, ids.SessionID, "test", bytes.NewReader([]byte("artifacts content"))) assert.NoError(t, err) } diff --git a/syz-cluster/pkg/controller/testutil.go b/syz-cluster/pkg/controller/testutil.go index f4d813e2f..0a72914c7 100644 --- a/syz-cluster/pkg/controller/testutil.go +++ b/syz-cluster/pkg/controller/testutil.go @@ -16,16 +16,24 @@ import ( "github.com/stretchr/testify/assert" ) +type EntityIDs struct { + SeriesID string + SessionID string +} + // UploadTestSeries returns a (series ID, session ID) tuple. func UploadTestSeries(t *testing.T, ctx context.Context, - client *api.Client, series *api.Series) (string, string) { + client *api.Client, series *api.Series) EntityIDs { retSeries, err := client.UploadSeries(ctx, series) assert.NoError(t, err) retSession, err := client.UploadSession(ctx, &api.NewSession{ ExtID: series.ExtID, }) assert.NoError(t, err) - return retSeries.ID, retSession.ID + return EntityIDs{ + SeriesID: retSeries.ID, + SessionID: retSession.ID, + } } func UploadTestBuild(t *testing.T, ctx context.Context, client *api.Client, @@ -76,18 +84,21 @@ func DummyFindings() []*api.NewFinding { Title: fmt.Sprintf("finding %d", i), TestName: "test", Report: []byte(fmt.Sprintf("report %d", i)), + Log: []byte(fmt.Sprintf("log %d", i)), + SyzRepro: []byte(fmt.Sprintf("log %d", i)), + CRepro: []byte(fmt.Sprintf("log %d", i)), }) } return findings } func FakeSeriesWithFindings(t *testing.T, ctx context.Context, env *app.AppEnvironment, - client *api.Client, series *api.Series) { - _, sessionID := UploadTestSeries(t, ctx, client, series) + client *api.Client, series *api.Series) EntityIDs { + ids := UploadTestSeries(t, ctx, client, series) baseBuild := UploadTestBuild(t, ctx, client, DummyBuild()) patchedBuild := UploadTestBuild(t, ctx, client, DummyBuild()) err := client.UploadTestResult(ctx, &api.TestResult{ - SessionID: sessionID, + SessionID: ids.SessionID, BaseBuildID: baseBuild.ID, PatchedBuildID: patchedBuild.ID, TestName: "test", @@ -97,11 +108,12 @@ func FakeSeriesWithFindings(t *testing.T, ctx context.Context, env *app.AppEnvir findings := DummyFindings() for _, finding := range findings { - finding.SessionID = sessionID + finding.SessionID = ids.SessionID err = client.UploadFinding(ctx, finding) assert.NoError(t, err) } - MarkSessionFinished(t, env, sessionID) + MarkSessionFinished(t, env, ids.SessionID) + return ids } func MarkSessionFinished(t *testing.T, env *app.AppEnvironment, sessionID string) { |
