@@ -12,7 +12,9 @@ import (
1212 "github.com/stretchr/testify/require"
1313)
1414
15- // --- Mock ConfigManager ---
15+ const testRepoRoot = "/test-repo"
16+
17+ // --- Mock ConfigManager ---.
1618type mockConfigManager struct {
1719 bruinHomeDir string
1820 homeDirErr error
@@ -27,7 +29,7 @@ func (m *mockConfigManager) RecreateHomeDir() error {
2729 return m .recreateErr
2830}
2931
30- // --- Mock GitFinder ---
32+ // --- Mock GitFinder ---.
3133type mockGitFinder struct {
3234 repo * git.Repo
3335 err error
@@ -37,7 +39,7 @@ func (m *mockGitFinder) Repo(path string) (*git.Repo, error) {
3739 return m .repo , m .err
3840}
3941
40- // --- Mock filesystem that fails on Remove ---
42+ // --- Mock filesystem that fails on Remove ---.
4143type mockFailingFs struct {
4244 afero.Fs
4345 removeErr error
@@ -47,7 +49,7 @@ func (m *mockFailingFs) Remove(name string) error {
4749 return m .removeErr
4850}
4951
50- // --- Mock printer to capture output ---
52+ // --- Mock printer to capture output ---.
5153type mockOutputPrinter struct {
5254 output * []string
5355}
@@ -63,6 +65,7 @@ func (m *mockOutputPrinter) Println(args ...interface{}) {
6365}
6466
6567func TestCleanCommand_Run (t * testing.T ) {
68+ t .Parallel ()
6669 tests := []struct {
6770 name string
6871 inputPath string
@@ -86,8 +89,8 @@ func TestCleanCommand_Run(t *testing.T) {
8689 inputPath : "." ,
8790 setupMocks : func (t * testing.T ) (afero.Fs , * mockConfigManager , * mockGitFinder , string ) {
8891 fs := afero .NewMemMapFs ()
89- repoRoot := "/test-repo"
90- fs .MkdirAll (path .Join (repoRoot , LogsFolder ), 0755 )
92+ repoRoot := testRepoRoot
93+ require . NoError ( t , fs .MkdirAll (path .Join (repoRoot , LogsFolder ), 0o755 ) )
9194 return fs , & mockConfigManager {
9295 bruinHomeDir : "/test-bruin-home" ,
9396 recreateErr : errors .New ("failed to recreate the home directory" ),
@@ -112,8 +115,8 @@ func TestCleanCommand_Run(t *testing.T) {
112115 inputPath : "." ,
113116 setupMocks : func (t * testing.T ) (afero.Fs , * mockConfigManager , * mockGitFinder , string ) {
114117 fs := afero .NewMemMapFs ()
115- repoRoot := "/test-repo"
116- fs .MkdirAll (path .Join (repoRoot , LogsFolder ), 0755 )
118+ repoRoot := testRepoRoot
119+ require . NoError ( t , fs .MkdirAll (path .Join (repoRoot , LogsFolder ), 0o755 ) )
117120 return fs , & mockConfigManager {
118121 bruinHomeDir : "/test-bruin-home" ,
119122 }, & mockGitFinder {
@@ -127,13 +130,14 @@ func TestCleanCommand_Run(t *testing.T) {
127130 inputPath : "." ,
128131 setupMocks : func (t * testing.T ) (afero.Fs , * mockConfigManager , * mockGitFinder , string ) {
129132 fs := afero .NewMemMapFs ()
130- repoRoot := "/test-repo"
133+ repoRoot := testRepoRoot
131134 logsFolder := path .Join (repoRoot , LogsFolder )
132- fs .MkdirAll (logsFolder , 0755 )
135+ require . NoError ( t , fs .MkdirAll (logsFolder , 0o755 ) )
133136 logFiles := []string {"test1.log" , "test2.log" , "test3.log" }
134137 for _ , f := range logFiles {
135138 file , _ := fs .Create (path .Join (logsFolder , f ))
136- file .WriteString ("test log content" )
139+ _ , err := file .WriteString ("test log content" )
140+ require .NoError (t , err )
137141 file .Close ()
138142 }
139143 return fs , & mockConfigManager {
@@ -155,11 +159,12 @@ func TestCleanCommand_Run(t *testing.T) {
155159 Fs : afero .NewMemMapFs (),
156160 removeErr : errors .New ("permission denied" ),
157161 }
158- repoRoot := "/test-repo"
162+ repoRoot := testRepoRoot
159163 logsFolder := path .Join (repoRoot , LogsFolder )
160- fs .MkdirAll (logsFolder , 0755 )
164+ require . NoError ( t , fs .MkdirAll (logsFolder , 0o755 ) )
161165 file , _ := fs .Create (path .Join (logsFolder , "test1.log" ))
162- file .WriteString ("test log content" )
166+ _ , err := file .WriteString ("test log content" )
167+ require .NoError (t , err )
163168 file .Close ()
164169 return fs , & mockConfigManager {
165170 bruinHomeDir : "/test-bruin-home" ,
@@ -170,25 +175,26 @@ func TestCleanCommand_Run(t *testing.T) {
170175 expectedErr : "failed to remove file" ,
171176 },
172177 {
173- name : "successful cleanup with uv cache" ,
174- inputPath : "." ,
178+ name : "successful cleanup with uv cache" ,
179+ inputPath : "." ,
175180 cleanUvCache : true ,
176181 setupMocks : func (t * testing.T ) (afero.Fs , * mockConfigManager , * mockGitFinder , string ) {
177182 fs := afero .NewMemMapFs ()
178- repoRoot := "/test-repo"
179- fs .MkdirAll (path .Join (repoRoot , LogsFolder ), 0755 )
183+ repoRoot := testRepoRoot
184+ require . NoError ( t , fs .MkdirAll (path .Join (repoRoot , LogsFolder ), 0o755 ) )
180185 return fs , & mockConfigManager {
181- bruinHomeDir : "/test-bruin-home" ,
182- }, & mockGitFinder {
183- repo : & git.Repo {Path : repoRoot },
184- }, repoRoot
186+ bruinHomeDir : "/test-bruin-home" ,
187+ }, & mockGitFinder {
188+ repo : & git.Repo {Path : repoRoot },
189+ }, repoRoot
185190 },
186191 expectedOutput : []string {"No log files found, nothing to clean up..." },
187192 },
188193 }
189194
190195 for _ , tt := range tests {
191196 t .Run (tt .name , func (t * testing.T ) {
197+ t .Parallel ()
192198 fs , mockCM , mockGF , repoRoot := tt .setupMocks (t )
193199
194200 output := []string {}
0 commit comments