jejacks0n / teaspoon

Teaspoon: Javascript test runner for Rails. Use Selenium, BrowserStack, or PhantomJS.
1.43k stars 243 forks source link

fix instrumentation to support puma >= 6.2 (#600) #601

Closed ukdave closed 10 months ago

ukdave commented 10 months ago

Tests are failing on Puma 6.2 (and newer) when instrumentation is enabled. This seems to be caused by PR #3072 in Puma which changes how it handles responses. If the response body (3rd argument) is a file-like object, which Asset is, then it appears to be getting the file path and reading the original contents which then doesn't match the modified Content-Length header for the instrumented version.

This commit fixes the issue by returning the instrumented source as a string rather then the Asset object.