• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

UiPath / uipathcli / 22833036745

09 Mar 2026 12:08AM UTC coverage: 90.732% (-0.2%) from 90.914%
22833036745

Pull #212

github

Chibi Vikram
Fix TestWriteMultipartFormWithClosedWriter to use failing writer

Use a writer that errors on Write() instead of a closed multipart writer,
since multipart.Writer.CreatePart doesn't check closed state.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Pull Request #212: Add studio solution commands, skill, and agents.md

598 of 674 new or added lines in 16 files covered. (88.72%)

3 existing lines in 1 file now uncovered.

7372 of 8125 relevant lines covered (90.73%)

1.02 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

92.59
/plugin/studio/solution/list/solution_list_command.go
1
// Package list implements the command plugin for listing solutions
2
// from UiPath Studio Web.
3
package list
4

5
import (
6
        "bytes"
7
        "encoding/json"
8
        "errors"
9
        "fmt"
10
        "net/http"
11

12
        "github.com/UiPath/uipathcli/log"
13
        "github.com/UiPath/uipathcli/output"
14
        "github.com/UiPath/uipathcli/plugin"
15
        "github.com/UiPath/uipathcli/utils/api"
16
)
17

18
// The SolutionListCommand lists solutions from Studio Web.
19
type SolutionListCommand struct{}
20

21
func (c SolutionListCommand) Command() plugin.Command {
1✔
22
        return *plugin.NewCommand("studio").
1✔
23
                WithCategory("solution", "UiPath Solution management", "Pack, unpack, push and pull UiPath Maestro solutions.").
1✔
24
                WithOperation("list", "List Solutions", "Lists solutions from UiPath Studio Web")
1✔
25
}
1✔
26

27
func (c SolutionListCommand) Execute(ctx plugin.ExecutionContext, writer output.OutputWriter, logger log.Logger) error {
1✔
28
        if ctx.Organization == "" {
2✔
29
                return errors.New("Organization is not set")
1✔
30
        }
1✔
31

32
        client := api.NewStudioClient(ctx.BaseUri, ctx.Organization, ctx.Auth.Token, ctx.Debug, ctx.Settings, logger)
1✔
33
        solutions, err := client.ListSolutions()
1✔
34
        if err != nil {
2✔
35
                return err
1✔
36
        }
1✔
37

38
        result := solutionListResult{
1✔
39
                Status:    "Succeeded",
1✔
40
                Solutions: solutions,
1✔
41
        }
1✔
42

1✔
43
        jsonData, err := json.Marshal(result)
1✔
44
        if err != nil {
1✔
NEW
45
                return fmt.Errorf("List command failed: %w", err)
×
NEW
46
        }
×
47
        return writer.WriteResponse(*output.NewResponseInfo(http.StatusOK, "200 OK", "HTTP/1.1", map[string][]string{}, bytes.NewReader(jsonData)))
1✔
48
}
49

50
func NewSolutionListCommand() *SolutionListCommand {
1✔
51
        return &SolutionListCommand{}
1✔
52
}
1✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc