Log message #4220039

# At Username Text
# Dec 25th 2019, 15:08 admad Why do you even need to mock a mailer?
# Dec 25th 2019, 15:08 challgren Wanted to discuss that issue from a baker perspective, but we can chat later
# Dec 25th 2019, 15:07 admad @challgren am now, on mobile
# Dec 25th 2019, 15:07 ndm Sounds like I need to get my Festivus pole
# Dec 25th 2019, 15:06 admad Merry Christmas bakers :christmas_tree:
# Dec 25th 2019, 15:06 admad @ndm in 3.x it was even a request param not request attribute :)
# Dec 25th 2019, 15:06 challgren Hmmm how do I mock a mailer in cake4. Before it was as simple as `$mock = $this->getMockBuilder('Cake\Mailer\Mailer')->getMock();` now that throws a warning `Static method "getConfig" cannot be invoked on mock object`
# Dec 25th 2019, 14:53 ashesh.social Great working @ndm Thanks !
# Dec 25th 2019, 14:48 ndm *now
# Dec 25th 2019, 14:48 ndm @ashesh.social Sorry, looks like this was renamed in 4.x (but not documented), the attribute name is not just `csrfToken`, with no leading underscore.
# Dec 25th 2019, 14:32 ashesh.social Sorry ??
# Dec 25th 2019, 14:29 challgren admad you around?
# Dec 25th 2019, 14:26 ashesh.social Getting empty while accessing: `$this->request->getAttribute('_csrfToken')`
# Dec 25th 2019, 14:18 ashesh.social Merry Christmas everyone !
# Dec 25th 2019, 14:18 gianmarxgagliardi Merry Xmas all
# Dec 25th 2019, 14:18 challgren Merry xmas all!
# Dec 25th 2019, 14:15 bravo-kernel merry x-mas bakers :christmas_tree:
# Dec 25th 2019, 12:56 ndm That needs to be in your view template and feed your AJAX request. That jQuery stuff there would only work in you'd have a form in your view where a token is present.
# Dec 25th 2019, 12:55 ashesh.social Even I added in the view controller
# Dec 25th 2019, 12:55 slackebot <ashesh.social>
# Dec 25th 2019, 12:54 ashesh.social @ndm hey Oliver, I have added that and still getting the same issue.
# Dec 25th 2019, 12:54 slackebot <ashesh.social>
# Dec 25th 2019, 12:31 ndm You need to add the token to either the request data of your AJAX requests, in a field named `_csrfToken`, or send it in a header named `X-CSRF-Token`. You can obtain the curent token from the request object in your view template: `$this->request->getAttribute('_csrfToken')`
# Dec 25th 2019, 12:27 ashesh.social In cakephp4
# Dec 25th 2019, 12:27 ashesh.social During ajax call
# Dec 25th 2019, 12:27 ashesh.social “Missing CSRF token body in /usr/local/myapp/vendor/cakephp/cakephp/src/Http/Middleware/CsrfProtectionMiddleware.php on line 234”
# Dec 25th 2019, 00:01 ricksaccous hmph
# Dec 25th 2019, 00:01 ricksaccous actually even if i access without iframe i still get the issue
# Dec 24th 2019, 23:57 ricksaccous locally i get no issues, only on review do i get issues
# Dec 24th 2019, 23:57 ricksaccous trying to think why that would matter
# Dec 24th 2019, 23:57 ricksaccous I'm actually thinking now that it's because the url is being called via iframe
# Dec 24th 2019, 23:56 ricksaccous Error: [Exception] The request object does not contain the required `authentication` attribute in
# Dec 24th 2019, 23:56 ricksaccous I'm running into a problem
# Dec 24th 2019, 21:32 ndm Mentioning it wouldn't hurt I guess... Not sure though if the errors in the integration test are actually always logged.
# Dec 24th 2019, 21:29 brian.french I'm not sure how official that would be.
# Dec 24th 2019, 21:28 brian.french Maybe that should be mentioned in the book's testing page?
# Dec 24th 2019, 21:28 ndm more like response, but yes :)
# Dec 24th 2019, 21:28 brian.french err $this->_response
# Dec 24th 2019, 21:27 brian.french or $this->_request
# Dec 24th 2019, 21:27 brian.french Thanks @ndm! I wasn't sure if there was an undocumented trick, or way... but I guess _getBodyAsString() is the undocumented way :P
# Dec 24th 2019, 21:26 ndm @brian.french I usually check the logs and inspect the error page via `$this->_getBodyAsString()`