Add public local bundle writer
This commit is contained in:
38
pkg/bundle/writer_integration_test.go
Normal file
38
pkg/bundle/writer_integration_test.go
Normal file
@@ -0,0 +1,38 @@
|
||||
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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user