chore: avoid unnecessary byte/string conversion calls (#21854)

* chore: avoid unnecessary conversion calls

* add changelog entry

---------

Co-authored-by: Violet Hynes <violet.hynes@hashicorp.com>
This commit is contained in:
Ville Vesilehto
2023-08-08 20:50:54 +03:00
committed by GitHub
parent 4c8cc87794
commit eefd4529e9
10 changed files with 26 additions and 23 deletions

3
changelog/21854.txt Normal file
View File

@@ -0,0 +1,3 @@
```release-note:improvement
core: use Go stdlib functionalities instead of explicit byte/string conversions
```

View File

@@ -424,7 +424,7 @@ func TestCertEndToEnd_CertsInConfig(t *testing.T) {
t.Fatal(err)
}
defer os.Remove(leafCertFile.Name())
if _, err := leafCertFile.Write([]byte(leafCertPEM)); err != nil {
if _, err := leafCertFile.WriteString(leafCertPEM); err != nil {
t.Fatal(err)
}
if err := leafCertFile.Close(); err != nil {
@@ -436,7 +436,7 @@ func TestCertEndToEnd_CertsInConfig(t *testing.T) {
t.Fatal(err)
}
defer os.Remove(leafCertKeyFile.Name())
if _, err := leafCertKeyFile.Write([]byte(leafCertKeyPEM)); err != nil {
if _, err := leafCertKeyFile.WriteString(leafCertKeyPEM); err != nil {
t.Fatal(err)
}
if err := leafCertKeyFile.Close(); err != nil {

View File

@@ -579,7 +579,7 @@ func computeIndexID(req *SendRequest) (string, error) {
// Append req.Token into the byte slice. This is needed since auto-auth'ed
// requests sets the token directly into SendRequest.Token
if _, err := b.Write([]byte(req.Token)); err != nil {
if _, err := b.WriteString(req.Token); err != nil {
return "", fmt.Errorf("failed to write token to hash input: %w", err)
}

View File

@@ -61,7 +61,7 @@ func TestParseArgsData(t *testing.T) {
if err != nil {
t.Fatal(err)
}
f.Write([]byte(`{"foo":"bar"}`))
f.WriteString(`{"foo":"bar"}`)
f.Close()
defer os.Remove(f.Name())
@@ -82,7 +82,7 @@ func TestParseArgsData(t *testing.T) {
if err != nil {
t.Fatal(err)
}
f.Write([]byte(`bar`))
f.WriteString(`bar`)
f.Close()
defer os.Remove(f.Name())

View File

@@ -89,7 +89,7 @@ path "secret" {
t.Fatal(err)
}
defer os.Remove(f.Name())
if _, err := f.Write([]byte(policy)); err != nil {
if _, err := f.WriteString(policy); err != nil {
t.Fatal(err)
}
f.Close()
@@ -132,7 +132,7 @@ path "secret" {
t.Fatal(err)
}
defer os.Remove(f.Name())
if _, err := f.Write([]byte(policy)); err != nil {
if _, err := f.WriteString(policy); err != nil {
t.Fatal(err)
}
f.Close()
@@ -167,7 +167,7 @@ path "secret" {
t.Fatal(err)
}
defer os.Remove(f.Name())
if _, err := f.Write([]byte(policy)); err != nil {
if _, err := f.WriteString(policy); err != nil {
t.Fatal(err)
}
f.Close()
@@ -202,7 +202,7 @@ path "secret" {
t.Fatal(err)
}
defer os.Remove(f.Name())
if _, err := f.Write([]byte(policy)); err != nil {
if _, err := f.WriteString(policy); err != nil {
t.Fatal(err)
}
f.Close()

View File

@@ -59,7 +59,7 @@ func BenchmarkHTTP_Forwarding_Stress(b *testing.B) {
}
req, err := http.NewRequest("POST", fmt.Sprintf("https://127.0.0.1:%d/v1/sys/mounts/transit", cores[0].Listeners[0].Address.Port),
bytes.NewBuffer([]byte("{\"type\": \"transit\"}")))
bytes.NewBufferString("{\"type\": \"transit\"}"))
if err != nil {
b.Fatal(err)
}
@@ -92,7 +92,7 @@ func BenchmarkHTTP_Forwarding_Stress(b *testing.B) {
numOps++
}
doReq(b, "POST", host+"keys/test1", bytes.NewBuffer([]byte("{}")))
doReq(b, "POST", host+"keys/test1", bytes.NewBufferString("{}"))
keyUrl := host + "encrypt/test1"
reqBuf := []byte(fmt.Sprintf("{\"plaintext\": \"%s\"}", testPlaintextB64))

View File

@@ -179,7 +179,7 @@ func testHTTP_Forwarding_Stress_Common(t *testing.T, parallel bool, num uint32)
// core.Logger().Printf("[TRACE] mounting transit")
req, err := http.NewRequest("POST", fmt.Sprintf("https://127.0.0.1:%d/v1/sys/mounts/transit", cores[0].Listeners[0].Address.Port),
bytes.NewBuffer([]byte("{\"type\": \"transit\"}")))
bytes.NewBufferString("{\"type\": \"transit\"}"))
if err != nil {
t.Fatal(err)
}
@@ -272,7 +272,7 @@ func testHTTP_Forwarding_Stress_Common(t *testing.T, parallel bool, num uint32)
for _, chosenHost := range hosts {
for _, chosenKey := range keys {
// Try to write the key to make sure it exists
_, err := doReq("POST", chosenHost+"keys/"+fmt.Sprintf("%s-%t", chosenKey, parallel), bytes.NewBuffer([]byte("{}")))
_, err := doReq("POST", chosenHost+"keys/"+fmt.Sprintf("%s-%t", chosenKey, parallel), bytes.NewBufferString("{}"))
if err != nil {
panic(err)
}
@@ -283,7 +283,7 @@ func testHTTP_Forwarding_Stress_Common(t *testing.T, parallel bool, num uint32)
chosenHost = hosts[id%len(hosts)]
chosenKey = fmt.Sprintf("key-%t-%d", parallel, id)
_, err := doReq("POST", chosenHost+"keys/"+chosenKey, bytes.NewBuffer([]byte("{}")))
_, err := doReq("POST", chosenHost+"keys/"+chosenKey, bytes.NewBufferString("{}"))
if err != nil {
panic(err)
}
@@ -320,7 +320,7 @@ func testHTTP_Forwarding_Stress_Common(t *testing.T, parallel bool, num uint32)
// Encrypt our plaintext and store the result
case "encrypt":
// core.Logger().Printf("[TRACE] %s, %s, %d", chosenFunc, chosenKey, id)
resp, err := doReq("POST", chosenHost+"encrypt/"+chosenKey, bytes.NewBuffer([]byte(fmt.Sprintf("{\"plaintext\": \"%s\"}", testPlaintextB64))))
resp, err := doReq("POST", chosenHost+"encrypt/"+chosenKey, bytes.NewBufferString(fmt.Sprintf("{\"plaintext\": \"%s\"}", testPlaintextB64)))
if err != nil {
panic(err)
}
@@ -347,7 +347,7 @@ func testHTTP_Forwarding_Stress_Common(t *testing.T, parallel bool, num uint32)
}
// core.Logger().Printf("[TRACE] %s, %s, %d", chosenFunc, chosenKey, id)
resp, err := doReq("POST", chosenHost+"decrypt/"+chosenKey, bytes.NewBuffer([]byte(fmt.Sprintf("{\"ciphertext\": \"%s\"}", ct))))
resp, err := doReq("POST", chosenHost+"decrypt/"+chosenKey, bytes.NewBufferString(fmt.Sprintf("{\"ciphertext\": \"%s\"}", ct)))
if err != nil {
panic(err)
}
@@ -376,7 +376,7 @@ func testHTTP_Forwarding_Stress_Common(t *testing.T, parallel bool, num uint32)
// Rotate to a new key version
case "rotate":
// core.Logger().Printf("[TRACE] %s, %s, %d", chosenFunc, chosenKey, id)
_, err := doReq("POST", chosenHost+"keys/"+chosenKey+"/rotate", bytes.NewBuffer([]byte("{}")))
_, err := doReq("POST", chosenHost+"keys/"+chosenKey+"/rotate", bytes.NewBufferString("{}"))
if err != nil {
panic(err)
}
@@ -413,7 +413,7 @@ func testHTTP_Forwarding_Stress_Common(t *testing.T, parallel bool, num uint32)
// core.Logger().Printf("[TRACE] %s, %s, %d, new min version %d", chosenFunc, chosenKey, id, setVersion)
_, err := doReq("POST", chosenHost+"keys/"+chosenKey+"/config", bytes.NewBuffer([]byte(fmt.Sprintf("{\"min_decryption_version\": %d}", setVersion))))
_, err := doReq("POST", chosenHost+"keys/"+chosenKey+"/config", bytes.NewBufferString(fmt.Sprintf("{\"min_decryption_version\": %d}", setVersion)))
if err != nil {
panic(err)
}
@@ -472,7 +472,7 @@ func TestHTTP_Forwarding_ClientTLS(t *testing.T) {
}
req, err := http.NewRequest("POST", fmt.Sprintf("https://127.0.0.1:%d/v1/sys/auth/cert", cores[0].Listeners[0].Address.Port),
bytes.NewBuffer([]byte("{\"type\": \"cert\"}")))
bytes.NewBufferString("{\"type\": \"cert\"}"))
if err != nil {
t.Fatal(err)
}

View File

@@ -46,7 +46,7 @@ telemetry {
}
first := true
locs := decryptRegex.FindAllIndex([]byte(out), -1)
locs := decryptRegex.FindAllStringIndex(out, -1)
for _, match := range locs {
matchBytes := []byte(out)[match[0]:match[1]]
matchBytes = bytes.TrimSuffix(bytes.TrimPrefix(matchBytes, []byte("{{decrypt(")), []byte(")}}"))

View File

@@ -161,7 +161,7 @@ func TestRedshift_NewUser(t *testing.T) {
}
usernameRegex := regexp.MustCompile("^v-test-test-[a-zA-Z0-9]{20}-[0-9]{10}$")
if !usernameRegex.Match([]byte(username)) {
if !usernameRegex.MatchString(username) {
t.Fatalf("Expected username %q to match regex %q", username, usernameRegex.String())
}
}

View File

@@ -2050,7 +2050,7 @@ func (tc *TestCluster) initCores(t testing.T, opts *TestClusterOptions, addAudit
}
var buf bytes.Buffer
for i, key := range tc.BarrierKeys {
buf.Write([]byte(base64.StdEncoding.EncodeToString(key)))
buf.WriteString(base64.StdEncoding.EncodeToString(key))
if i < len(tc.BarrierKeys)-1 {
buf.WriteRune('\n')
}
@@ -2060,7 +2060,7 @@ func (tc *TestCluster) initCores(t testing.T, opts *TestClusterOptions, addAudit
t.Fatal(err)
}
for i, key := range tc.RecoveryKeys {
buf.Write([]byte(base64.StdEncoding.EncodeToString(key)))
buf.WriteString(base64.StdEncoding.EncodeToString(key))
if i < len(tc.RecoveryKeys)-1 {
buf.WriteRune('\n')
}