Files
threshold/testing/internal/e2e/boundary/http.go
T
Michael Li 600a2dff24 test(e2e): Add rate limit test (#4135) (#4143)
* test(e2e): Add rate limit test (#4135)

(cherry picked from commit 9bf350d622a14ea39feaca29861c738a5deff9bb)

* test(e2e): Modify rate limit test due to timing issues (#4145)

The rate limit test was running into failures due to some hard-coded assumptions (waiting for a command to last longer than 3 seconds to determine if the CLI auto-retried). This change makes it more resilient.

(cherry picked from commit 3535f15922c37fda5457f02cf8ae894203359042)
2023-12-13 10:17:04 -05:00

34 lines
776 B
Go

// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: BUSL-1.1
package boundary
import (
"bytes"
"context"
"fmt"
"net/http"
"testing"
)
func AuthenticateHttp(t testing.TB, ctx context.Context, address, authMethodId, loginName, password string) (*http.Response, error) {
requestURL := fmt.Sprintf("%s/v1/auth-methods/%s:authenticate", address, authMethodId)
jsonBody := []byte(
fmt.Sprintf(`{"command":"login", "type":null, "attributes":{"login_name":"%s","password":"%s"}}`,
loginName,
password,
),
)
bodyReader := bytes.NewReader(jsonBody)
req, err := http.NewRequest(http.MethodPost, requestURL, bodyReader)
if err != nil {
return nil, err
}
res, err := http.DefaultClient.Do(req)
if err != nil {
return res, err
}
return res, nil
}