(ctx context.Context, t *testing.T, filename string, fileBytes []byte)
| 330 | } |
| 331 | |
| 332 | func uploadBulkFile(ctx context.Context, t *testing.T, filename string, fileBytes []byte) (int, []byte) { |
| 333 | t.Helper() |
| 334 | |
| 335 | var buf bytes.Buffer |
| 336 | writer := multipart.NewWriter(&buf) |
| 337 | |
| 338 | part, err := writer.CreateFormFile("document", filename) |
| 339 | require.NoError(t, err) |
| 340 | |
| 341 | _, err = part.Write(fileBytes) |
| 342 | require.NoError(t, err) |
| 343 | require.NoError(t, writer.Close()) |
| 344 | |
| 345 | url := apiBaseURL + "/v1/bulk-messages" |
| 346 | req, err := http.NewRequestWithContext(ctx, http.MethodPost, url, &buf) |
| 347 | require.NoError(t, err) |
| 348 | req.Header.Set("Content-Type", writer.FormDataContentType()) |
| 349 | req.Header.Set("x-api-key", userAPIKey) |
| 350 | |
| 351 | resp, err := http.DefaultClient.Do(req) |
| 352 | require.NoError(t, err) |
| 353 | defer resp.Body.Close() |
| 354 | |
| 355 | body, err := io.ReadAll(resp.Body) |
| 356 | require.NoError(t, err) |
| 357 | |
| 358 | return resp.StatusCode, body |
| 359 | } |
| 360 | |
| 361 | func fetchBulkMessages(ctx context.Context, t *testing.T) []BulkMessageEntry { |
| 362 | t.Helper() |
no test coverage detected