* 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)
34 lines
776 B
Go
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
|
|
}
|