mesh-delivery-sdk: its package artifact leaves paths out for the module's whole directory, as the manifest validator requires (V1; issue 1966)

Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
This commit is contained in:
2026-11-05 17:32:54 +01:00
parent 436347d712
commit 947d0b82eb
2 changed files with 37 additions and 3 deletions
+37
View File
@@ -0,0 +1,37 @@
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)
}
}
}
}
-3
View File
@@ -7,9 +7,6 @@
"name": "go-sdk",
"kind": "package",
"language": "go",
"paths": [
"."
],
"series": "0.1"
}
]