package bundle_test import ( "bytes" "context" "os" "path/filepath" "testing" "gitea.maximumdirect.net/eric/distributor/internal/app" "gitea.maximumdirect.net/eric/distributor/pkg/bundle" ) func TestWriteBundleOutputValidatesThroughDistributor(t *testing.T) { sourceRoot := t.TempDir() outputRoot := filepath.Join(t.TempDir(), "bundle") if err := os.WriteFile(filepath.Join(sourceRoot, "report.md"), []byte("# Report\n"), 0o600); err != nil { t.Fatalf("write source: %v", err) } if _, err := bundle.WriteBundle(bundle.WriteBundleOptions{ Root: outputRoot, ID: "reports.distributor", Files: []bundle.BundleFile{ {SourcePath: filepath.Join(sourceRoot, "report.md"), Path: "report.md"}, }, }); err != nil { t.Fatalf("WriteBundle() error = %v", err) } var stdout bytes.Buffer if err := app.Validate(context.Background(), app.ValidateOptions{Path: outputRoot, Stdout: &stdout}); err != nil { t.Fatalf("app.Validate() error = %v", err) } if got, want := stdout.String(), "Validated 1 bundle(s)\n"; got != want { t.Fatalf("stdout = %q, want %q", got, want) } }