39 lines
1.1 KiB
Go
39 lines
1.1 KiB
Go
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)
|
|
}
|
|
}
|