Skip to content

Commit 43fe0be

Browse files
committed
don't use afero
Signed-off-by: Bryce Palmer <[email protected]>
1 parent d8d4e2f commit 43fe0be

36 files changed

+28
-5246
lines changed

go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ require (
1111
github.com/openshift/client-go v0.0.0-20241203091221-452dfb8fa071
1212
github.com/openshift/library-go v0.0.0-20250113163708-355465391f40
1313
github.com/openshift/multi-operator-manager v0.0.0-20241205181422-20aa3906b99d
14-
github.com/spf13/afero v1.12.0
1514
github.com/spf13/cobra v1.8.1
1615
github.com/spf13/pflag v1.0.5
1716
github.com/stretchr/testify v1.9.0
@@ -107,6 +106,7 @@ require (
107106
golang.org/x/term v0.28.0 // indirect
108107
golang.org/x/text v0.21.0 // indirect
109108
golang.org/x/time v0.8.0 // indirect
109+
google.golang.org/genproto v0.0.0-20241118233622-e639e219e697 // indirect
110110
google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 // indirect
111111
google.golang.org/genproto/googleapis/rpc v0.0.0-20241223144023-3abc09e42ca8 // indirect
112112
google.golang.org/grpc v1.67.3 // indirect

go.sum

-2
Original file line numberDiff line numberDiff line change
@@ -187,8 +187,6 @@ github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ
187187
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
188188
github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js=
189189
github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0=
190-
github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs=
191-
github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4=
192190
github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM=
193191
github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y=
194192
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=

pkg/cmd/render/render.go

+3-6
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import (
66
"path/filepath"
77

88
"github.com/openshift/cluster-authentication-operator/bindata"
9-
"github.com/spf13/afero"
109
"github.com/spf13/cobra"
1110
"github.com/spf13/pflag"
1211
)
@@ -23,7 +22,6 @@ type AssetsFunc func(name string) ([]byte, error)
2322
type RenderOptions struct {
2423
AssetOutputDir string
2524
Assets AssetsFunc
26-
Filesystem afero.Fs
2725
AssetsToRender []string
2826
}
2927

@@ -32,7 +30,7 @@ func (ro *RenderOptions) AddFlags(fs *pflag.FlagSet) {
3230
}
3331

3432
func (ro *RenderOptions) Run() error {
35-
err := ro.Filesystem.MkdirAll(ro.AssetOutputDir, os.FileMode(PermissionDirectoryDefault))
33+
err := os.MkdirAll(ro.AssetOutputDir, os.FileMode(PermissionDirectoryDefault))
3634
if err != nil {
3735
return fmt.Errorf("creating asset-output-dir: %w", err)
3836
}
@@ -44,7 +42,7 @@ func (ro *RenderOptions) Run() error {
4442
}
4543

4644
filename := filepath.Join(ro.AssetOutputDir, filepath.Base(assetToRender))
47-
err = afero.WriteFile(ro.Filesystem, filename, asset, os.FileMode(PermissionFileDefault))
45+
err = os.WriteFile(filename, asset, os.FileMode(PermissionFileDefault))
4846
if err != nil {
4947
return fmt.Errorf("rendering asset %q to file %q: %w ", assetToRender, filename, err)
5048
}
@@ -58,8 +56,7 @@ func (ro *RenderOptions) Run() error {
5856
// cluster-authentication-operator
5957
func NewRender() *cobra.Command {
6058
renderOpts := &RenderOptions{
61-
Assets: bindata.Asset,
62-
Filesystem: afero.NewOsFs(),
59+
Assets: bindata.Asset,
6360
AssetsToRender: []string{
6461
"oauth-openshift/authorization.openshift.io_rolebindingrestrictions.yaml",
6562
},

pkg/cmd/render/render_test.go

+22-39
Original file line numberDiff line numberDiff line change
@@ -5,75 +5,58 @@ import (
55
"errors"
66
"io"
77
"os"
8+
"path/filepath"
89
"strings"
910
"testing"
1011

1112
"github.com/openshift/cluster-authentication-operator/pkg/cmd/render"
12-
"github.com/spf13/afero"
1313
)
1414

1515
func TestRenderOptionsRun(t *testing.T) {
1616
type testcase struct {
1717
name string
18-
renderOptions *render.RenderOptions
18+
assets render.AssetsFunc
19+
assetsToRender []string
1920
expectedErr error
2021
expectedAssets map[string][]byte
2122
}
2223

2324
testcases := []testcase{
24-
{
25-
name: "asset-output-dir can not be created, error",
26-
renderOptions: &render.RenderOptions{
27-
AssetOutputDir: "temp",
28-
// using a read-only afero.Fs will error on MkdirAll calls
29-
Filesystem: afero.NewReadOnlyFs(nil),
30-
Assets: func(name string) ([]byte, error) {
31-
return nil, nil
32-
},
33-
AssetsToRender: []string{},
34-
},
35-
expectedAssets: make(map[string][]byte),
36-
expectedErr: errors.New("creating asset-output-dir:"),
37-
},
3825
{
3926
name: "asset-output-dir can be created, fetching asset fails, error",
40-
renderOptions: &render.RenderOptions{
41-
AssetOutputDir: "temp",
42-
// using a read-only afero.Fs will error on MkdirAll calls
43-
Filesystem: afero.NewMemMapFs(),
44-
Assets: func(name string) ([]byte, error) {
45-
return nil, errors.New("boom")
46-
},
47-
AssetsToRender: []string{
48-
"foobar",
49-
},
27+
assets: func(name string) ([]byte, error) {
28+
return nil, errors.New("boom")
29+
},
30+
assetsToRender: []string{
31+
"foobar",
5032
},
5133
expectedAssets: make(map[string][]byte),
5234
expectedErr: errors.New("getting asset \"foobar\" to be rendered:"),
5335
},
5436
{
5537
name: "asset-output-dir can be created, fetching asset successful, no error, manifest rendered successfully",
56-
renderOptions: &render.RenderOptions{
57-
AssetOutputDir: "temp",
58-
// using a read-only afero.Fs will error on MkdirAll calls
59-
Filesystem: afero.NewMemMapFs(),
60-
Assets: func(name string) ([]byte, error) {
61-
return []byte("baz"), nil
62-
},
63-
AssetsToRender: []string{
64-
"foobar",
65-
},
38+
assets: func(name string) ([]byte, error) {
39+
return []byte("baz"), nil
40+
},
41+
assetsToRender: []string{
42+
"foobar",
6643
},
6744
expectedAssets: map[string][]byte{
68-
"temp/foobar": []byte("baz"),
45+
"foobar": []byte("baz"),
6946
},
7047
expectedErr: nil,
7148
},
7249
}
7350

7451
for _, tc := range testcases {
7552
t.Run(tc.name, func(t *testing.T) {
76-
err := tc.renderOptions.Run()
53+
tempDir := t.TempDir()
54+
renderOpts := &render.RenderOptions{
55+
AssetOutputDir: tempDir,
56+
Assets: tc.assets,
57+
AssetsToRender: tc.assetsToRender,
58+
}
59+
err := renderOpts.Run()
7760
switch {
7861
case err != nil && tc.expectedErr != nil:
7962
if !strings.Contains(err.Error(), tc.expectedErr.Error()) {
@@ -86,7 +69,7 @@ func TestRenderOptionsRun(t *testing.T) {
8669
}
8770

8871
for path, contents := range tc.expectedAssets {
89-
file, err := tc.renderOptions.Filesystem.Open(path)
72+
file, err := os.Open(filepath.Join(tempDir, path))
9073
if err != nil {
9174
if os.IsNotExist(err) {
9275
t.Fatalf("expected rendered manifest %q to exist in filesystem but it does not", path)

vendor/github.com/spf13/afero/.editorconfig

-12
This file was deleted.

vendor/github.com/spf13/afero/.gitignore

-2
This file was deleted.

vendor/github.com/spf13/afero/.golangci.yaml

-18
This file was deleted.

vendor/github.com/spf13/afero/LICENSE.txt

-174
This file was deleted.

0 commit comments

Comments
 (0)