Deflake authz config reload test

This commit is contained in:
Jordan Liggitt 2024-03-29 10:18:45 -04:00
parent 20d0ab7ae8
commit 02139c9102
No known key found for this signature in database

View File

@ -56,7 +56,7 @@ func TestAuthzConfig(t *testing.T) {
dir := t.TempDir()
configFileName := filepath.Join(dir, "config.yaml")
if err := os.WriteFile(configFileName, []byte(`
if err := atomicWriteFile(configFileName, []byte(`
apiVersion: apiserver.config.k8s.io/v1alpha1
kind: AuthorizationConfiguration
authorizers:
@ -362,7 +362,7 @@ users:
}
configFileName := filepath.Join(dir, "config.yaml")
if err := os.WriteFile(configFileName, []byte(`
if err := atomicWriteFile(configFileName, []byte(`
apiVersion: apiserver.config.k8s.io/v1alpha1
kind: AuthorizationConfiguration
authorizers:
@ -583,7 +583,7 @@ authorizers:
}
// write bogus file
if err := os.WriteFile(configFileName, []byte(`apiVersion: apiserver.config.k8s.io`), os.FileMode(0644)); err != nil {
if err := atomicWriteFile(configFileName, []byte(`apiVersion: apiserver.config.k8s.io`), os.FileMode(0644)); err != nil {
t.Fatal(err)
}
@ -635,7 +635,7 @@ authorizers:
}
// write good config with different webhook
if err := os.WriteFile(configFileName, []byte(`
if err := atomicWriteFile(configFileName, []byte(`
apiVersion: apiserver.config.k8s.io/v1beta1
kind: AuthorizationConfiguration
authorizers:
@ -890,3 +890,11 @@ func getMetrics(t *testing.T, client *clientset.Clientset) (*metrics, error) {
}
return &m, nil
}
func atomicWriteFile(name string, data []byte, perm os.FileMode) error {
tmp := name + ".tmp"
if err := os.WriteFile(tmp, data, perm); err != nil {
return err
}
return os.Rename(tmp, name)
}