Skip to content

Commit 8ef940b

Browse files
authored
Merge pull request #384 from keboola/pepa_PAT-221_updateLogger
feat[output-mapping]: Update to newer Monolog
2 parents 7b18239 + f1d73e3 commit 8ef940b

File tree

4 files changed

+44
-38
lines changed

4 files changed

+44
-38
lines changed

composer.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,23 +36,23 @@
3636
"keboola/storage-api-client": "^15.0|^16.0|^17.0",
3737
"keboola/storage-api-php-client-branch-wrapper": "^6.0",
3838
"microsoft/azure-storage-blob": "^1.5",
39-
"monolog/monolog": "^1.25.5|^2.0",
40-
"symfony/config": "^5.4|^6.0",
41-
"symfony/finder": "^5.4|^6.0",
42-
"symfony/serializer": "^5.4|^6.0",
43-
"symfony/yaml": "^5.4|^6.0"
39+
"psr/log": "^2.0|^3.0",
40+
"symfony/config": "^5.4|^6.0|^7.0",
41+
"symfony/finder": "^5.4|^6.0|^7.0",
42+
"symfony/serializer": "^5.4|^6.0|^7.0",
43+
"symfony/yaml": "^5.4|^6.0|^7.0"
4444
},
4545
"require-dev": {
4646
"brianium/paratest": "^6.11",
4747
"keboola/coding-standard": ">=14.0",
4848
"keboola/php-temp": "^2.0",
49+
"monolog/monolog": "^3.0",
4950
"phpstan/phpstan": "^1.9",
5051
"phpstan/phpstan-phpunit": "^1.3",
5152
"phpstan/phpstan-symfony": "^1.2",
5253
"phpunit/phpunit": "^9.5",
53-
"psr/log": "^1.1",
5454
"sempro/phpunit-pretty-print": "^1.4",
55-
"symfony/dotenv": "^5.4|^6.0"
55+
"symfony/dotenv": "^5.4|^6.0|^7.0"
5656
},
5757
"scripts": {
5858
"pre-autoload-dump": [

tests/Configuration/Table/WebalizerTest.php

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
use Keboola\StorageApiBranch\ClientWrapper;
1111
use Keboola\StorageApiBranch\Factory\ClientOptions;
1212
use Monolog\Handler\TestHandler;
13+
use Monolog\Level;
1314
use Monolog\Logger;
1415
use PHPUnit\Framework\TestCase;
1516
use PHPUnit\Util\Test;
16-
use Psr\Log\Test\TestLogger;
1717

1818
class WebalizerTest extends TestCase
1919
{
@@ -29,8 +29,10 @@ public function setUp(): void
2929
/** @dataProvider webalizeDataProvider */
3030
public function testWebalize(array $config, array $expectedConfig, int $expectsApiCalls): void
3131
{
32+
$logger = new Logger('test');
33+
3234
// test webalized column names
33-
$webalizator = new Webalizer($this->clientWrapper->getBranchClient(), new TestLogger(), true);
35+
$webalizator = new Webalizer($this->clientWrapper->getBranchClient(), $logger, true);
3436
$webalizedColumnNames = $webalizator->webalize($config);
3537
self::assertEquals($expectedConfig, $webalizedColumnNames);
3638

@@ -46,7 +48,7 @@ function ($columns) {
4648
),
4749
);
4850

49-
$webalizator = new Webalizer($clientMock, new TestLogger(), true);
51+
$webalizator = new Webalizer($clientMock, $logger, true);
5052
self::assertIsArray($webalizator->webalize($config));
5153
}
5254

@@ -56,14 +58,16 @@ public function testLegacyWebalize(array $config, array $expectedConfig): void
5658
$clientMock = self::createMock(Client::class);
5759
$clientMock->expects(self::never())->method('webalizeColumnNames');
5860

59-
$webalizator = new Webalizer($clientMock, new TestLogger(), false);
61+
$webalizator = new Webalizer($clientMock, new Logger('test'), false);
6062
self::assertEquals($expectedConfig, $webalizator->webalize($config));
6163
}
6264

6365
public function testLoggingWebalizedColumnNames(): void
6466
{
65-
$testLogger = new TestLogger();
66-
$webalizator = new Webalizer($this->clientWrapper->getBranchClient(), $testLogger, true);
67+
$logsHandler = new TestHandler();
68+
$logger = new Logger('test', [$logsHandler]);
69+
70+
$webalizator = new Webalizer($this->clientWrapper->getBranchClient(), $logger, true);
6771
$webalizator->webalize([
6872
'columns' => ['ěščřžýáíéúů'],
6973
'primary_key' => ['éíěčíáčšžášřýšěí'],
@@ -82,26 +86,26 @@ public function testLoggingWebalizedColumnNames(): void
8286
],
8387
],
8488
]);
85-
self::assertCount(4, $testLogger->records);
86-
self::assertEquals(Logger::getLevelName(Logger::WARNING), strtoupper($testLogger->records[0]['level']));
87-
self::assertEquals(Logger::getLevelName(Logger::WARNING), strtoupper($testLogger->records[1]['level']));
88-
self::assertEquals(Logger::getLevelName(Logger::WARNING), strtoupper($testLogger->records[2]['level']));
89-
self::assertEquals(Logger::getLevelName(Logger::WARNING), strtoupper($testLogger->records[3]['level']));
90-
self::assertEquals(
89+
self::assertCount(4, $logsHandler->getRecords());
90+
self::assertSame(Level::Warning, $logsHandler->getRecords()[0]->level);
91+
self::assertSame(Level::Warning, $logsHandler->getRecords()[1]->level);
92+
self::assertSame(Level::Warning, $logsHandler->getRecords()[2]->level);
93+
self::assertSame(Level::Warning, $logsHandler->getRecords()[3]->level);
94+
self::assertSame(
9195
'Column name "ěščřžýáíéúů" was webalized to "escrzyaieuu"',
92-
$testLogger->records[0]['message'],
96+
$logsHandler->getRecords()[0]->message,
9397
);
94-
self::assertEquals(
98+
self::assertSame(
9599
'Column name "éíěčíáčšžášřýšěí" was webalized to "eieciacszasrysei"',
96-
$testLogger->records[1]['message'],
100+
$logsHandler->getRecords()[1]->message,
97101
);
98-
self::assertEquals(
102+
self::assertSame(
99103
'Column name "webalize | test 😁" was webalized to "webalize_test"',
100-
$testLogger->records[2]['message'],
104+
$logsHandler->getRecords()[2]->message,
101105
);
102-
self::assertEquals(
106+
self::assertSame(
103107
'Column name " webalize spaces " was webalized to "webalize_spaces"',
104-
$testLogger->records[3]['message'],
108+
$logsHandler->getRecords()[3]->message,
105109
);
106110
}
107111

tests/Storage/TableDataModifierTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ public function testDeleteTableRowsWithUnexistColumn(): void
292292

293293
$expectedMessage = 'Cannot delete rows ' .
294294
'from table "in.c-TableDataModifierTest_testDeleteTableRowsWithUnexistColumn.test1" ' .
295-
'in Storage: Cannot filter by column "UnexistColumn", column does not exist';
295+
'in Storage: Filter validation: Cannot filter by column "UnexistColumn", column does not exist';
296296

297297
$this->expectException(InvalidOutputException::class);
298298
$this->expectExceptionMessage($expectedMessage);

tests/Writer/Table/SlicerDeciderTest.php

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@
99
use Keboola\OutputMapping\Mapping\MappingFromRawConfigurationAndPhysicalDataWithManifest;
1010
use Keboola\OutputMapping\Writer\Table\SlicerDecider;
1111
use Keboola\Temp\Temp;
12+
use Monolog\Handler\TestHandler;
13+
use Monolog\Logger;
1214
use PHPUnit\Framework\TestCase;
13-
use Psr\Log\Test\TestLogger;
1415

1516
class SlicerDeciderTest extends TestCase
1617
{
@@ -45,8 +46,8 @@ public function testDecideSliceMultipleFiles(): void
4546
$mock2,
4647
];
4748

48-
$testLogger = new TestLogger();
49-
$slicerDecider = new SlicerDecider($testLogger);
49+
$logger = new Logger('test');
50+
$slicerDecider = new SlicerDecider($logger);
5051
$result = $slicerDecider->decideSliceFiles($combinedSources);
5152

5253
$this->assertCount(2, $result);
@@ -64,8 +65,8 @@ public function testDecideSliceEmptyFile(): void
6465
$mock1,
6566
];
6667

67-
$testLogger = new TestLogger();
68-
$slicerDecider = new SlicerDecider($testLogger);
68+
$logger = new Logger('test');
69+
$slicerDecider = new SlicerDecider($logger);
6970
$result = $slicerDecider->decideSliceFiles($combinedSources);
7071

7172
$this->assertCount(0, $result);
@@ -84,7 +85,7 @@ public function testDecideSliceTwoSameFiles(): void
8485
$mock1,
8586
];
8687

87-
$testLogger = new TestLogger();
88+
$testLogger = new Logger('test');
8889
$slicerDecider = new SlicerDecider($testLogger);
8990

9091
$this->expectException(InvalidOutputException::class);
@@ -105,13 +106,14 @@ public function testDecideSliceSlicedFilesWithoutManifest(): void
105106
$mock1,
106107
];
107108

108-
$testLogger = new TestLogger();
109-
$slicerDecider = new SlicerDecider($testLogger);
109+
$logsHandler = new TestHandler();
110+
$logger = new Logger('test', [$logsHandler]);
111+
$slicerDecider = new SlicerDecider($logger);
110112

111113
$result = $slicerDecider->decideSliceFiles($combinedSources);
112114

113115
self::assertCount(0, $result);
114-
self::assertTrue($testLogger->hasWarningThatContains(
116+
self::assertTrue($logsHandler->hasWarningThatContains(
115117
'Sliced files without manifest are not supported. Skipping file "file1"',
116118
));
117119
}
@@ -130,8 +132,8 @@ public function testDecideFileWithUnsuportedConfigurationMapping(): void
130132
$mock1,
131133
];
132134

133-
$testLogger = new TestLogger();
134-
$slicerDecider = new SlicerDecider($testLogger);
135+
$logger = new Logger('test');
136+
$slicerDecider = new SlicerDecider($logger);
135137

136138
$this->expectException(InvalidOutputException::class);
137139
$this->expectExceptionMessage(

0 commit comments

Comments
 (0)