jejacks0n / teaspoon

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

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

Closed ukdave closed 1 year ago

ukdave commented 1 year 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.