|
7 | 7 | "net/http/httptest" |
8 | 8 | "net/url" |
9 | 9 | "os" |
| 10 | + "regexp" |
| 11 | + "strings" |
10 | 12 | "testing" |
11 | 13 | "time" |
12 | 14 |
|
@@ -266,3 +268,25 @@ func TestClient_SetAccountSid(t *testing.T) { |
266 | 268 | client.SetAccountSid("account_sid") |
267 | 269 | assert.Equal(t, "account_sid", client.AccountSid()) |
268 | 270 | } |
| 271 | + |
| 272 | +func TestClient_DefaultUserAgentHeaders(t *testing.T) { |
| 273 | + headerServer := httptest.NewServer(http.HandlerFunc( |
| 274 | + func(writer http.ResponseWriter, request *http.Request) { |
| 275 | + assert.Regexp(t, regexp.MustCompile(`^twilio-go/[0-9.]+\s\(\w+\s\w+\)\sgo/[^\s]+$`), request.Header.Get("User-Agent")) |
| 276 | + })) |
| 277 | + |
| 278 | + resp, _ := testClient.SendRequest("GET", headerServer.URL, nil, nil) |
| 279 | + assert.Equal(t, 200, resp.StatusCode) |
| 280 | +} |
| 281 | + |
| 282 | +func TestClient_UserAgentExtensionsHeaders(t *testing.T) { |
| 283 | + var expectedExtensions = []string{"twilio-run/2.0.0-test", "flex-plugin/3.4.0"} |
| 284 | + testClient.UserAgentExtensions = expectedExtensions |
| 285 | + headerServer := httptest.NewServer(http.HandlerFunc( |
| 286 | + func(writer http.ResponseWriter, request *http.Request) { |
| 287 | + var headersList = strings.Split(request.Header.Get("User-Agent"), " ") |
| 288 | + assert.Equal(t, headersList[len(headersList)-len(expectedExtensions):], expectedExtensions) |
| 289 | + })) |
| 290 | + resp, _ := testClient.SendRequest("GET", headerServer.URL, nil, nil) |
| 291 | + assert.Equal(t, 200, resp.StatusCode) |
| 292 | +} |
0 commit comments