Files
mesh-delivery/sdk/manifest_test.go
T

38 lines
968 B
Go

package sdk
import (
"encoding/json"
"os"
"testing"
)
// The module's one package artifact is the module's whole directory, which it says by leaving `paths` out: the manifest
// validator refuses the word "." as a path (a package artifact naming one directory).
func TestThePackageArtifactNamesNoPathForTheWholeDirectory(t *testing.T) {
raw, err := os.ReadFile("module.json")
if err != nil {
t.Fatal(err)
}
var m struct {
Build struct {
Artifacts []struct {
Name string `json:"name"`
Paths []string `json:"paths"`
} `json:"artifacts"`
} `json:"build"`
}
if err := json.Unmarshal(raw, &m); err != nil {
t.Fatal(err)
}
if len(m.Build.Artifacts) != 1 {
t.Fatalf("artifacts are %+v: one", m.Build.Artifacts)
}
for _, a := range m.Build.Artifacts {
for _, p := range a.Paths {
if p == "." || p == "" {
t.Errorf("artifact %s names %q as a path: leave `paths` out for the module's whole directory", a.Name, p)
}
}
}
}