Skip to content

Commit 9b98925

Browse files
committed
refactor: inject utils filesystem to update flow
1 parent d8ffe5a commit 9b98925

File tree

4 files changed

+11
-9
lines changed

4 files changed

+11
-9
lines changed

cmd/agent_smith/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ func main() {
6666
return
6767
}
6868

69-
updateContext, err := newUpdateContext(os.Args[1:], sys, domain, svcMgr)
69+
updateContext, err := newUpdateContext(os.Args[1:], sys, domain, svcMgr, fs)
7070
if err == nil {
7171
// Run update routine
7272
runUpdate(updateContext)

cmd/agent_smith/update.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ func runUpdate(params *updateContext) {
5050

5151
// Read and parse the config file
5252
configFilePath := pathsData.ConfigFilePath
53-
configFileBytes, err := os.ReadFile(configFilePath)
53+
configFileBytes, err := params.FS.ReadFile(configFilePath)
5454
if err != nil {
5555
logger.Error("Failed to load config", "error", err)
5656
return
@@ -76,7 +76,7 @@ func runUpdate(params *updateContext) {
7676
return
7777
}
7878

79-
err = os.WriteFile(configFilePath, configBytes, utils.DefaultFileMod)
79+
err = params.FS.WriteFile(configFilePath, configBytes, utils.DefaultFileMod)
8080
if err != nil {
8181
logger.Error("Failed to save config", "error", err)
8282
return
@@ -85,20 +85,20 @@ func runUpdate(params *updateContext) {
8585
logger.Info("Configuration successfully updated", "path", configFilePath)
8686

8787
// Copy the agent executable
88-
execFilePath, err := os.Executable()
88+
execFilePath, err := params.FS.Executable()
8989
if err != nil {
9090
logger.Error("Failed to get executable", "error", err)
9191
return
9292
}
9393

94-
execFileBytes, err := os.ReadFile(execFilePath)
94+
execFileBytes, err := params.FS.ReadFile(execFilePath)
9595
if err != nil {
9696
logger.Error("Failed to read executable file", "error", err)
9797
return
9898
}
9999

100100
agentExecutablePath := pathsData.AgentExecutablePath
101-
err = os.WriteFile(agentExecutablePath, execFileBytes, utils.DefaultExecutableFileMod)
101+
err = params.FS.WriteFile(agentExecutablePath, execFileBytes, utils.DefaultExecutableFileMod)
102102
if err != nil {
103103
logger.Error("Failed to create agent executable", "error", err)
104104
return

cmd/agent_smith/update_context.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,10 @@ type updateContext struct {
2222
Domain agent.DomainInfoProvider
2323

2424
ServiceManager service.ServiceManager
25+
FS utils.FileSystem
2526
}
2627

27-
func newUpdateContext(args []string, sys agent.SystemInfoProvider, domain agent.DomainInfoProvider, svcMgr service.ServiceManager) (*updateContext, error) {
28+
func newUpdateContext(args []string, sys agent.SystemInfoProvider, domain agent.DomainInfoProvider, svcMgr service.ServiceManager, fsys utils.FileSystem) (*updateContext, error) {
2829
var params updateContext
2930

3031
fs := flag.NewFlagSet("config", flag.ContinueOnError)
@@ -56,6 +57,7 @@ func newUpdateContext(args []string, sys agent.SystemInfoProvider, domain agent.
5657
params.Sys = sys
5758
params.Domain = domain
5859
params.ServiceManager = svcMgr
60+
params.FS = fsys
5961

6062
return &params, nil
6163
}

cmd/agent_smith/update_context_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import (
88
func TestNewUpdateContext(t *testing.T) {
99
orgId := "test123"
1010

11-
result, _ := newUpdateContext([]string{"--org-id", orgId, "--update"}, nil, nil, nil)
11+
result, _ := newUpdateContext([]string{"--org-id", orgId, "--update"}, nil, nil, nil, nil)
1212

1313
if result.OrgId != orgId {
1414
t.Errorf("expected %v, got %v", orgId, result.OrgId)
@@ -37,7 +37,7 @@ func TestNewUpdateContext(t *testing.T) {
3737
}
3838

3939
for _, errorTest := range errorTests {
40-
_, err := newUpdateContext(errorTest.args, nil, nil, nil)
40+
_, err := newUpdateContext(errorTest.args, nil, nil, nil, nil)
4141

4242
if err == nil || !strings.Contains(err.Error(), errorTest.message) {
4343
t.Errorf("expected error %s, got %v", errorTest.message, err.Error())

0 commit comments

Comments
 (0)