MCPcopy Create free account
hub / github.com/github/gh-aw / TestAddCopilotRequestsPermissionToContent

Function TestAddCopilotRequestsPermissionToContent

pkg/cli/add_command_test.go:681–712  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

679}
680
681func TestAddCopilotRequestsPermissionToContent(t *testing.T) {
682 t.Run("adds permission to workflow without existing permissions block", func(t *testing.T) {
683 content := "---\nengine: copilot\n---\nDo the thing.\n"
684 result, err := addCopilotRequestsPermissionToContent(content)
685 require.NoError(t, err)
686 assert.Contains(t, result, "permissions:")
687 assert.Contains(t, result, "copilot-requests: write")
688 })
689
690 t.Run("adds permission to workflow with existing permissions block", func(t *testing.T) {
691 content := "---\nengine: copilot\npermissions:\n contents: read\n---\nDo the thing.\n"
692 result, err := addCopilotRequestsPermissionToContent(content)
693 require.NoError(t, err)
694 assert.Contains(t, result, "copilot-requests: write")
695 assert.Contains(t, result, "contents: read")
696 })
697
698 t.Run("is idempotent when permission already present", func(t *testing.T) {
699 content := "---\nengine: copilot\npermissions:\n copilot-requests: write\n---\nDo the thing.\n"
700 result, err := addCopilotRequestsPermissionToContent(content)
701 require.NoError(t, err)
702 count := strings.Count(result, "copilot-requests: write")
703 assert.Equal(t, 1, count, "copilot-requests: write should appear exactly once")
704 })
705
706 t.Run("returns error when permissions is a non-mapping scalar", func(t *testing.T) {
707 content := "---\nengine: copilot\npermissions: read-all\n---\nDo the thing.\n"
708 _, err := addCopilotRequestsPermissionToContent(content)
709 require.Error(t, err)
710 assert.Contains(t, err.Error(), "non-mapping scalar")
711 })
712}
713
714func TestAddWorkflowWithTracking_CopilotRequestsPermission(t *testing.T) {
715 t.Run("injects copilot-requests permission when option is set", func(t *testing.T) {

Callers

nothing calls this directly

Calls 4

RunMethod · 0.45
CountMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected