package catalogue import "testing" // A manifest carrying the words design 47 G writes is read whole by the reader release (design 47 G §340, §409): // `version` as MAJOR.MINOR (§368), a `*` emitter in `consumes` (§386), an observer's finding stream (§387) and an // artifact's `needs` (§47, §432). func TestTheReaderReleaseReadsTheManifestWordsGWrites(t *testing.T) { m, err := decodeForTest([]byte(`{"module":"mesh-watcher","version":"1.4",` + `"consumes":["*.finding-written","mesh-conditions.findings-asked"],` + `"streams":[{"name":"mesh-watcher-findings","events":["finding-written","finding-cleared","findings-stated"],"max-age-days":7,"max-mib":16}],` + `"build":{"artifacts":[{"name":"program","kind":"bundle","language":"go","needs":["mesh-grants:program","node-tools:runtime"]}]}}`)) if err != nil { t.Fatalf("a manifest with G's words was refused: %v", err) } if m.Version != "1.4" || m.Consumes[0] != "*.finding-written" || m.Streams[0].Name != "mesh-watcher-findings" || len(m.Build.Artifacts[0].Needs) != 2 || m.Build.Artifacts[0].Needs[0] != "mesh-grants:program" { t.Fatalf("read as %+v", m) } }