diff options
author | Joas Schilling <coding@schilljs.com> | 2017-10-27 12:46:20 +0300 |
---|---|---|
committer | Joas Schilling <coding@schilljs.com> | 2017-10-27 12:46:56 +0300 |
commit | 8660b9f0afa37983b66895a78a0f41417365efe0 (patch) | |
tree | 4c048a3717ddf27bdca1d5d7c243a597d79aca04 /tests | |
parent | 7a4c0c668baef6fe86b6131444cab122a4b3b374 (diff) |
Unit tests for #6977
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/lib/LoggerTest.php | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/lib/LoggerTest.php b/tests/lib/LoggerTest.php index da9cedc9f56..3a30bbd1d3b 100644 --- a/tests/lib/LoggerTest.php +++ b/tests/lib/LoggerTest.php @@ -138,6 +138,32 @@ class LoggerTest extends TestCase { } } + /** + * @dataProvider userAndPasswordData + */ + public function testDetectclosure($user, $password) { + $a = function($user, $password) { + throw new \Exception('test'); + }; + + try { + $a($user, $password); + } catch (\Exception $e) { + $this->logger->logException($e); + } + $logLines = $this->getLogs(); + + foreach($logLines as $logLine) { + $log = explode('\n', $logLine); + unset($log[1]); // Remove `testDetectclosure(` because we are not testing this here, but the closure on stack trace 0 + $logLine = implode('\n', $log); + + $this->assertNotContains($user, $logLine); + $this->assertNotContains($password, $logLine); + $this->assertContains('{closure}(*** sensitive parameters replaced ***)', $logLine); + } + } + public function dataGetLogClass() { return [ ['file', \OC\Log\File::class], |