Skip to content

Commit 1e4342a

Browse files
committed
Fix bug where messages got lost when using FileProvider #93
1 parent 9e7107b commit 1e4342a

2 files changed

Lines changed: 21 additions & 1 deletion

File tree

src/Provider/FileProvider.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ public function cleanUp()
132132
->name('*.json')
133133
;
134134
$finder->date(
135-
sprintf('> %d seconds ago', $this->options['message_expiration'])
135+
sprintf('< %d seconds ago', $this->options['message_expiration'])
136136
);
137137
/** @var SplFileInfo $file */
138138
foreach ($finder as $file) {

tests/Provider/FileProviderTest.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Uecode\Bundle\QPushBundle\Tests\Provider;
44

5+
use Symfony\Component\Finder\Finder;
56
use Uecode\Bundle\QPushBundle\Event\MessageEvent;
67
use Uecode\Bundle\QPushBundle\Provider\FileProvider;
78

@@ -169,4 +170,23 @@ public function testCleanUp()
169170
$messages = $provider->receive();
170171
$this->assertEmpty($messages);
171172
}
173+
174+
/**
175+
* @see https://github.com/uecode/qpush-bundle/issues/93
176+
*/
177+
public function testCleanUpDoesNotRemoveCurrentMessages() {
178+
$this->provider->create();
179+
$provider = $this->getFileProvider([
180+
'message_expiration' => 2,
181+
]);
182+
$provider->publish(['testing']);
183+
$provider->publish(['testing 123']);
184+
sleep(2);
185+
$currentMessage = ['dont remove me'];
186+
$provider->publish($currentMessage);
187+
$provider->cleanUp();
188+
$messages = $provider->receive();
189+
$this->assertCount(1, $messages);
190+
$this->assertSame($currentMessage, $messages[0]->getBody());
191+
}
172192
}

0 commit comments

Comments
 (0)