MCPcopy
hub / github.com/keploy/keploy / Config

Function Config

cli/config.go:21–75  ·  view source on GitHub ↗
(ctx context.Context, logger *zap.Logger, cfg *config.Config, servicefactory ServiceFactory, cmdConfigurator CmdConfigurator)

Source from the content-addressed store, hash-verified

19}
20
21func Config(ctx context.Context, logger *zap.Logger, cfg *config.Config, servicefactory ServiceFactory, cmdConfigurator CmdConfigurator) *cobra.Command {
22 var cmd = &cobra.Command{
23 Use: "config",
24 Short: "manage keploy configuration file",
25 Example: "keploy config --generate --path /path/to/localdir",
26 PreRunE: func(cmd *cobra.Command, _ []string) error {
27 return cmdConfigurator.ValidateFlags(ctx, cmd)
28 },
29 RunE: func(cmd *cobra.Command, _ []string) error {
30 isGenerate, err := cmd.Flags().GetBool("generate")
31 if err != nil {
32 utils.LogError(logger, err, "failed to get generate flag")
33 return err
34 }
35
36 if isGenerate {
37 filePath := filepath.Join(cfg.Path, "keploy.yml")
38 if !cfg.InCi && utils.CheckFileExists(filePath) {
39 override, err := utils.AskForConfirmation(ctx, "Config file already exists. Do you want to override it?")
40 if err != nil {
41 utils.LogError(logger, err, "failed to ask for confirmation")
42 return err
43 }
44 if !override {
45 logger.Info("Skipping config file override")
46 return nil
47 }
48 }
49 svc, err := servicefactory.GetService(ctx, cmd.Name())
50 if err != nil {
51 utils.LogError(logger, err, "failed to get service", zap.String("command", cmd.Name()))
52 return err
53 }
54 var tools toolsSvc.Service
55 var ok bool
56 if tools, ok = svc.(toolsSvc.Service); !ok {
57 utils.LogError(logger, nil, "service doesn't satisfy tools service interface")
58 return err
59 }
60 if err := tools.CreateConfig(ctx, filePath, ""); err != nil {
61 utils.LogError(logger, err, "failed to create config")
62 return err
63 }
64 logger.Info("Config file generated successfully")
65 return nil
66 }
67 return errors.New("only generate flag is supported in the config command")
68 },
69 }
70 if err := cmdConfigurator.AddFlags(cmd); err != nil {
71 utils.LogError(logger, err, "failed to add flags")
72 return nil
73 }
74 return cmd
75}

Callers

nothing calls this directly

Calls 10

CreateConfigMethod · 0.95
LogErrorFunction · 0.92
CheckFileExistsFunction · 0.92
AskForConfirmationFunction · 0.92
NameMethod · 0.80
ValidateFlagsMethod · 0.65
GetServiceMethod · 0.65
NewMethod · 0.65
AddFlagsMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected