|
1 | 1 | <?php
|
2 | 2 |
|
3 |
| -namespace Spatie\HttpLogger\Test; |
4 |
| - |
5 | 3 | use Illuminate\Http\UploadedFile;
|
| 4 | + |
| 5 | +use function PHPUnit\Framework\assertStringContainsString; |
| 6 | +use function PHPUnit\Framework\assertStringNotContainsString; |
| 7 | + |
6 | 8 | use Spatie\HttpLogger\DefaultLogWriter;
|
7 | 9 |
|
8 |
| -class DefaultLogWriterTest extends TestCase |
9 |
| -{ |
10 |
| - /** @var \Spatie\HttpLogger\DefaultLogWriter */ |
11 |
| - protected $logger; |
| 10 | +beforeEach(function () { |
| 11 | + $this->logger = new DefaultLogWriter(); |
| 12 | +}); |
12 | 13 |
|
13 |
| - public function setUp(): void |
14 |
| - { |
15 |
| - parent::setup(); |
| 14 | +it('logs request method and uri', function () { |
| 15 | + foreach (['post', 'put', 'patch', 'delete'] as $method) { |
| 16 | + $request = $this->makeRequest($method, $this->uri); |
16 | 17 |
|
17 |
| - $this->logger = new DefaultLogWriter(); |
| 18 | + $this->logger->logRequest($request); |
18 | 19 | }
|
19 | 20 |
|
20 |
| - /** @test */ |
21 |
| - public function it_logs_request_method_and_uri() |
22 |
| - { |
23 |
| - foreach (['post', 'put', 'patch', 'delete'] as $method) { |
24 |
| - $request = $this->makeRequest($method, $this->uri); |
| 21 | + $log = $this->readLogFile(); |
25 | 22 |
|
26 |
| - $this->logger->logRequest($request); |
27 |
| - } |
| 23 | + assertStringContainsString("POST {$this->uri}", $log); |
| 24 | + assertStringContainsString("PUT {$this->uri}", $log); |
| 25 | + assertStringContainsString("PATCH {$this->uri}", $log); |
| 26 | + assertStringContainsString("DELETE {$this->uri}", $log); |
| 27 | +}); |
28 | 28 |
|
29 |
| - $log = $this->readLogFile(); |
| 29 | +it('will log the body', function () { |
| 30 | + $request = $this->makeRequest('post', $this->uri, [ |
| 31 | + 'name' => 'Name', |
| 32 | + ]); |
30 | 33 |
|
31 |
| - $this->assertStringContainsString("POST {$this->uri}", $log); |
32 |
| - $this->assertStringContainsString("PUT {$this->uri}", $log); |
33 |
| - $this->assertStringContainsString("PATCH {$this->uri}", $log); |
34 |
| - $this->assertStringContainsString("DELETE {$this->uri}", $log); |
35 |
| - } |
| 34 | + $this->logger->logRequest($request); |
36 | 35 |
|
37 |
| - /** @test */ |
38 |
| - public function it_will_log_the_body() |
39 |
| - { |
40 |
| - $request = $this->makeRequest('post', $this->uri, [ |
41 |
| - 'name' => 'Name', |
42 |
| - ]); |
| 36 | + $log = $this->readLogFile(); |
43 | 37 |
|
44 |
| - $this->logger->logRequest($request); |
| 38 | + assertStringContainsString('"name":"Name', $log); |
| 39 | +}); |
45 | 40 |
|
46 |
| - $log = $this->readLogFile(); |
| 41 | +it('will not log excluded fields', function () { |
| 42 | + $request = $this->makeRequest('post', $this->uri, [ |
| 43 | + 'name' => 'Name', |
| 44 | + 'password' => 'none', |
| 45 | + 'password_confirmation' => 'none', |
| 46 | + ]); |
47 | 47 |
|
48 |
| - $this->assertStringContainsString('"name":"Name', $log); |
49 |
| - } |
| 48 | + $this->logger->logRequest($request); |
50 | 49 |
|
51 |
| - /** @test */ |
52 |
| - public function it_will_not_log_excluded_fields() |
53 |
| - { |
54 |
| - $request = $this->makeRequest('post', $this->uri, [ |
55 |
| - 'name' => 'Name', |
56 |
| - 'password' => 'none', |
57 |
| - 'password_confirmation' => 'none', |
58 |
| - ]); |
| 50 | + $log = $this->readLogFile(); |
59 | 51 |
|
60 |
| - $this->logger->logRequest($request); |
| 52 | + assertStringNotContainsString('password', $log); |
| 53 | + assertStringNotContainsString('password_confirmation', $log); |
| 54 | +}); |
61 | 55 |
|
62 |
| - $log = $this->readLogFile(); |
| 56 | +it('logs files', function () { |
| 57 | + $file = $this->getTempFile(); |
63 | 58 |
|
64 |
| - $this->assertStringNotContainsString('password', $log); |
65 |
| - $this->assertStringNotContainsString('password_confirmation', $log); |
66 |
| - } |
| 59 | + $request = $this->makeRequest('post', $this->uri, [], [], [ |
| 60 | + 'file' => new UploadedFile($file, 'test.md'), |
| 61 | + ]); |
67 | 62 |
|
68 |
| - /** @test */ |
69 |
| - public function it_logs_files() |
70 |
| - { |
71 |
| - $file = $this->getTempFile(); |
| 63 | + $this->logger->logRequest($request); |
72 | 64 |
|
73 |
| - $request = $this->makeRequest('post', $this->uri, [], [], [ |
74 |
| - 'file' => new UploadedFile($file, 'test.md'), |
75 |
| - ]); |
| 65 | + $log = $this->readLogFile(); |
76 | 66 |
|
77 |
| - $this->logger->logRequest($request); |
| 67 | + assertStringContainsString('test.md', $log); |
| 68 | +}); |
78 | 69 |
|
79 |
| - $log = $this->readLogFile(); |
| 70 | +it('logs one file in an array', function () { |
| 71 | + $file = $this->getTempFile(); |
80 | 72 |
|
81 |
| - $this->assertStringContainsString('test.md', $log); |
82 |
| - } |
| 73 | + $request = $this->makeRequest('post', $this->uri, [], [], [ |
| 74 | + 'files' => [ |
| 75 | + new UploadedFile($file, 'test.md'), |
| 76 | + ], |
| 77 | + ]); |
83 | 78 |
|
84 |
| - /** @test */ |
85 |
| - public function it_logs_one_file_in_an_array() |
86 |
| - { |
87 |
| - $file = $this->getTempFile(); |
| 79 | + $this->logger->logRequest($request); |
88 | 80 |
|
89 |
| - $request = $this->makeRequest('post', $this->uri, [], [], [ |
90 |
| - 'files' => [ |
91 |
| - new UploadedFile($file, 'test.md'), |
92 |
| - ], |
93 |
| - ]); |
| 81 | + $log = $this->readLogFile(); |
94 | 82 |
|
95 |
| - $this->logger->logRequest($request); |
96 |
| - |
97 |
| - $log = $this->readLogFile(); |
| 83 | + assertStringContainsString('test.md', $log); |
| 84 | +}); |
98 | 85 |
|
99 |
| - $this->assertStringContainsString('test.md', $log); |
100 |
| - } |
| 86 | +it('logs multiple files in an array', function () { |
| 87 | + $file = $this->getTempFile(); |
101 | 88 |
|
102 |
| - /** @test */ |
103 |
| - public function it_logs_multiple_files_in_an_array() |
104 |
| - { |
105 |
| - $file = $this->getTempFile(); |
| 89 | + $request = $this->makeRequest('post', $this->uri, [], [], [ |
| 90 | + 'files' => [ |
| 91 | + new UploadedFile($file, 'first.doc'), |
| 92 | + new UploadedFile($file, 'second.doc'), |
| 93 | + ], |
| 94 | + ]); |
106 | 95 |
|
107 |
| - $request = $this->makeRequest('post', $this->uri, [], [], [ |
108 |
| - 'files' => [ |
109 |
| - new UploadedFile($file, 'first.doc'), |
110 |
| - new UploadedFile($file, 'second.doc'), |
111 |
| - ], |
112 |
| - ]); |
113 |
| - |
114 |
| - $this->logger->logRequest($request); |
| 96 | + $this->logger->logRequest($request); |
115 | 97 |
|
116 |
| - $log = $this->readLogFile(); |
| 98 | + $log = $this->readLogFile(); |
117 | 99 |
|
118 |
| - $this->assertStringContainsString('first.doc', $log); |
119 |
| - $this->assertStringContainsString('second.doc', $log); |
120 |
| - } |
| 100 | + assertStringContainsString('first.doc', $log); |
| 101 | + assertStringContainsString('second.doc', $log); |
| 102 | +}); |
121 | 103 |
|
122 |
| - /** @test */ |
123 |
| - public function it_logs_using_the_default_log_level() |
124 |
| - { |
125 |
| - $request = $this->makeRequest('post', $this->uri, [ |
126 |
| - 'name' => 'Name', |
127 |
| - ]); |
| 104 | +it('logs using the default log level', function () { |
| 105 | + $request = $this->makeRequest('post', $this->uri, [ |
| 106 | + 'name' => 'Name', |
| 107 | + ]); |
128 | 108 |
|
129 |
| - $this->logger->logRequest($request); |
| 109 | + $this->logger->logRequest($request); |
130 | 110 |
|
131 |
| - $log = $this->readLogFile(); |
| 111 | + $log = $this->readLogFile(); |
132 | 112 |
|
133 |
| - $this->assertStringContainsString('testing.INFO', $log); |
134 |
| - $this->assertStringContainsString('"name":"Name', $log); |
135 |
| - } |
| 113 | + assertStringContainsString('testing.INFO', $log); |
| 114 | + assertStringContainsString('"name":"Name', $log); |
| 115 | +}); |
136 | 116 |
|
137 |
| - /** @test */ |
138 |
| - public function it_logs_using_the_configured_log_level() |
139 |
| - { |
140 |
| - config(['http-logger.log_level' => 'debug']); |
141 |
| - $request = $this->makeRequest('post', $this->uri, [ |
142 |
| - 'name' => 'Name', |
143 |
| - ]); |
| 117 | +it('logs using the configured log level', function () { |
| 118 | + config(['http-logger.log_level' => 'debug']); |
| 119 | + $request = $this->makeRequest('post', $this->uri, [ |
| 120 | + 'name' => 'Name', |
| 121 | + ]); |
144 | 122 |
|
145 |
| - $this->logger->logRequest($request); |
| 123 | + $this->logger->logRequest($request); |
146 | 124 |
|
147 |
| - $log = $this->readLogFile(); |
| 125 | + $log = $this->readLogFile(); |
148 | 126 |
|
149 |
| - $this->assertStringContainsString('testing.DEBUG', $log); |
150 |
| - $this->assertStringContainsString('"name":"Name', $log); |
151 |
| - } |
152 |
| -} |
| 127 | + assertStringContainsString('testing.DEBUG', $log); |
| 128 | + assertStringContainsString('"name":"Name', $log); |
| 129 | +}); |
0 commit comments