MCPcopy
hub / github.com/cli/cli / TestInjectLocalMetadata

Function TestInjectLocalMetadata

internal/skills/frontmatter/frontmatter_test.go:161–205  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

159}
160
161func TestInjectLocalMetadata(t *testing.T) {
162 tests := []struct {
163 name string
164 content string
165 wantContains []string
166 wantNotContain []string
167 }{
168 {
169 name: "strips all github keys and injects local-path",
170 content: heredoc.Doc(`
171 ---
172 name: my-skill
173 metadata:
174 github-owner: old
175 github-repo: old
176 github-ref: v1.0.0
177 github-sha: abc123
178 github-tree-sha: tree456
179 github-pinned: v1.0.0
180 github-path: skills/my-skill
181 ---
182 # Body
183 `),
184 wantContains: []string{"local-path: /home/monalisa/skills/my-skill"},
185 wantNotContain: []string{"github-owner", "github-repo", "github-ref", "github-sha", "github-tree-sha", "github-pinned", "github-path"},
186 },
187 {
188 name: "injects into content with no existing metadata",
189 content: "# Body only\n",
190 wantContains: []string{"local-path: /home/monalisa/skills/my-skill"},
191 },
192 }
193 for _, tt := range tests {
194 t.Run(tt.name, func(t *testing.T) {
195 got, err := InjectLocalMetadata(tt.content, "/home/monalisa/skills/my-skill")
196 require.NoError(t, err)
197 for _, s := range tt.wantContains {
198 assert.Contains(t, got, s)
199 }
200 for _, s := range tt.wantNotContain {
201 assert.NotContains(t, got, s)
202 }
203 })
204 }
205}
206
207func TestSerialize(t *testing.T) {
208 tests := []struct {

Callers

nothing calls this directly

Calls 3

InjectLocalMetadataFunction · 0.85
ContainsMethod · 0.80
RunMethod · 0.65

Tested by

no test coverage detected