Signed-off-by: Aurélien Sibiril <81782+aureliensibiril@users.noreply.github.com>
This commit is contained in:
Aurélien Sibiril
2026-05-29 15:09:32 +02:00
parent 929bf81161
commit 08539bffe7
2 changed files with 13 additions and 2 deletions

View File

@@ -102,13 +102,17 @@ func (d *DatadogDriver) ListAccounts(ctx context.Context) ([]AccountRecord, erro
for _, u := range resp.Data { for _, u := range resp.Data {
active := !u.Attributes.Disabled active := !u.Attributes.Disabled
var role string var (
var isAdmin bool role string
isAdmin bool
)
for _, r := range u.Relationships.Roles.Data { for _, r := range u.Relationships.Roles.Data {
name := roleNames[r.ID] name := roleNames[r.ID]
if role == "" { if role == "" {
role = name role = name
} }
if strings.Contains(strings.ToLower(name), "admin") { if strings.Contains(strings.ToLower(name), "admin") {
isAdmin = true isAdmin = true
role = name role = name
@@ -150,12 +154,14 @@ func (d *DatadogDriver) queryUsers(ctx context.Context, page int) (*datadogUsers
if err != nil { if err != nil {
return nil, fmt.Errorf("cannot create datadog users request: %w", err) return nil, fmt.Errorf("cannot create datadog users request: %w", err)
} }
req.Header.Set("Accept", "application/json") req.Header.Set("Accept", "application/json")
resp, err := d.httpClient.Do(req) resp, err := d.httpClient.Do(req)
if err != nil { if err != nil {
return nil, fmt.Errorf("cannot list datadog users: %w", err) return nil, fmt.Errorf("cannot list datadog users: %w", err)
} }
defer func() { _ = resp.Body.Close() }() defer func() { _ = resp.Body.Close() }()
if resp.StatusCode != http.StatusOK { if resp.StatusCode != http.StatusOK {

View File

@@ -769,8 +769,10 @@ func TestCompleteWithState_PerDomainTokenURL(t *testing.T) {
t.Parallel() t.Parallel()
var gotPath string var gotPath string
srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
gotPath = r.URL.Path gotPath = r.URL.Path
w.Header().Set("Content-Type", "application/json") w.Header().Set("Content-Type", "application/json")
_, _ = w.Write([]byte(`{"access_token":"at","refresh_token":"rt","expires_in":3600,"token_type":"Bearer"}`)) _, _ = w.Write([]byte(`{"access_token":"at","refresh_token":"rt","expires_in":3600,"token_type":"Bearer"}`))
})) }))
@@ -788,6 +790,7 @@ func TestCompleteWithState_PerDomainTokenURL(t *testing.T) {
if domain != "us3.datadoghq.com" { if domain != "us3.datadoghq.com" {
return "", fmt.Errorf("unknown domain") return "", fmt.Errorf("unknown domain")
} }
return srv.URL + "/oauth2/v1/token", nil return srv.URL + "/oauth2/v1/token", nil
}, },
} }
@@ -859,8 +862,10 @@ func TestRefreshableClient_PrefersConnectionTokenURL(t *testing.T) {
t.Parallel() t.Parallel()
var gotHost string var gotHost string
srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
gotHost = r.Host gotHost = r.Host
w.Header().Set("Content-Type", "application/json") w.Header().Set("Content-Type", "application/json")
_, _ = w.Write([]byte(`{"access_token":"new","token_type":"Bearer","expires_in":3600}`)) _, _ = w.Write([]byte(`{"access_token":"new","token_type":"Bearer","expires_in":3600}`))
})) }))