MCPcopy
hub / github.com/keploy/keploy / CreateConfigFile

Method CreateConfigFile

cli/provider/cmd.go:1650–1675  ·  view source on GitHub ↗
(ctx context.Context, defaultCfg config.Config)

Source from the content-addressed store, hash-verified

1648}
1649
1650func (c *CmdConfigurator) CreateConfigFile(ctx context.Context, defaultCfg config.Config) error {
1651 defaultCfg = c.UpdateConfigData(defaultCfg)
1652 toolSvc := tools.NewTools(c.logger, nil, nil, nil, nil, nil)
1653 configData := defaultCfg
1654 configDataBytes, err := yaml.Marshal(configData)
1655 if err != nil {
1656 utils.LogError(c.logger, err, "failed to marshal config data")
1657 return errors.New("failed to marshal config data")
1658 }
1659
1660 // Ensure the config directory exists before creating the file
1661 if err := os.MkdirAll(c.cfg.ConfigPath, os.ModePerm); err != nil {
1662 errMsg := fmt.Sprintf("failed to create config directory: %v", err)
1663 utils.LogError(c.logger, err, errMsg)
1664 return errors.New(errMsg)
1665 }
1666
1667 configFilePath := filepath.Join(c.cfg.ConfigPath, "keploy.yml")
1668 err = toolSvc.CreateConfig(ctx, configFilePath, string(configDataBytes))
1669 if err != nil {
1670 utils.LogError(c.logger, err, "failed to create config file")
1671 return errors.New("failed to create config file")
1672 }
1673 c.logger.Info("Generated config file based on the flags that are used")
1674 return nil
1675}
1676
1677func (c *CmdConfigurator) UpdateConfigData(defaultCfg config.Config) config.Config {
1678 defaultCfg.Command = c.cfg.Command

Callers 1

ValidateMethod · 0.95

Implementers 1

CmdConfiguratorcli/provider/cmd.go

Calls 6

UpdateConfigDataMethod · 0.95
CreateConfigMethod · 0.95
NewToolsFunction · 0.92
LogErrorFunction · 0.92
MarshalMethod · 0.80
NewMethod · 0.65

Tested by

no test coverage detected