package org_tangled_test
import (
"bytes"
"testing"
"tangled.org/core/api/org_tangled"
)
func TestCiSubscribePipelineLogsEventRoundTrip(t *testing.T) {
roundTrip := func(want org_tangled.CiSubscribePipelineLogs_Event) org_tangled.CiSubscribePipelineLogs_Event {
t.Helper()
var buf bytes.Buffer
if err := want.Serialize(&buf); err != nil {
t.Fatal(err)
}
var got org_tangled.CiSubscribePipelineLogs_Event
if err := got.Deserialize(&buf); err != nil {
t.Fatal(err)
}
return got
}
kind := "user"
got := roundTrip(org_tangled.CiSubscribePipelineLogs_Event{Control: &org_tangled.CiSubscribePipelineLogs_Control{
Content: "building", Kind: &kind, Step: 2, Time: "2026-08-30T00:00:00Z", Workflow: "ci.yml",
}})
if got.Control == nil || got.Control.Content != "building" || got.Control.Workflow != "ci.yml" || got.Control.Step != 2 {
t.Fatalf("control = %+v", got.Control)
}
got = roundTrip(org_tangled.CiSubscribePipelineLogs_Event{Data: &org_tangled.CiSubscribePipelineLogs_Data{
Content: "hello", Step: 1, Stream: "stdout", Time: "2026-08-30T00:00:00Z", Workflow: "ci.yml",
}})
if got.Data == nil || got.Data.Content != "hello" || got.Data.Stream != "stdout" {
t.Fatalf("data = %+v", got.Data)
}
}