Code Duplication    Length = 25-25 lines in 4 locations

tests/ProcessRegistryTest.php 4 locations

@@ 185-209 (lines=25) @@
182
     *
183
     * @return void
184
     */
185
    public function addCleaningNotRunningProcessWithoutExtra()
186
    {
187
        $initialVersion = new ObjectID();
188
        $initalTask = [
189
            '_id' => 'testId',
190
            'hosts' => [HOSTNAME => ['9999999' => time() + 60]],
191
            'version' => $initialVersion,
192
        ];
193
194
        $this->collection->insertOne($initalTask);
195
196
        $this->assertTrue($this->registry->add($this->getProcess('testId')));
197
198
        $this->assertSame(1, $this->collection->count());
199
        $result = $this->collection->findOne();
200
201
        $expected = [
202
            '_id' => 'testId',
203
            'hosts' => [HOSTNAME => [getmypid() => ProcessRegistry::MONGO_INT32_MAX]],
204
            'version' => $result['version'],
205
        ];
206
207
        $this->assertSame($expected, $result);
208
        $this->assertNotSame((string)$initialVersion, (string)$result['version']);
209
    }
210
211
    /**
212
     * @test
@@ 265-289 (lines=25) @@
262
     *
263
     * @return void
264
     */
265
    public function addCleaningExpiredProcessWithoutExtra()
266
    {
267
        $initialVersion = new ObjectID();
268
        $initalTask = [
269
            '_id' => 'testId',
270
            'hosts' => ['different host' => ['1' => strtotime('-1 hour')]],
271
            'version' => $initialVersion,
272
        ];
273
274
        $this->collection->insertOne($initalTask);
275
276
        $this->assertTrue($this->registry->add($this->getProcess('testId')));
277
278
        $this->assertSame(1, $this->collection->count());
279
        $result = $this->collection->findOne();
280
281
        $expected = [
282
            '_id' => 'testId',
283
            'hosts' => [HOSTNAME => [getmypid() => ProcessRegistry::MONGO_INT32_MAX]],
284
            'version' => $result['version'],
285
        ];
286
287
        $this->assertSame($expected, $result);
288
        $this->assertNotSame((string)$initialVersion, (string)$result['version']);
289
    }
290
291
    /**
292
     * @test
@@ 338-362 (lines=25) @@
335
     *
336
     * @return void
337
     */
338
    public function addCleaningRecycledProcessWithoutExtra()
339
    {
340
        $initialVersion = new ObjectID();
341
        $initalTask = [
342
            '_id' => 'testId',
343
            'hosts' => [HOSTNAME => [getmypid() => time() + 60]],
344
            'version' => $initialVersion,
345
        ];
346
347
        $this->collection->insertOne($initalTask);
348
349
        $this->assertTrue($this->registry->add($this->getProcess('testId')));
350
351
        $this->assertSame(1, $this->collection->count());
352
        $result = $this->collection->findOne();
353
354
        $expected = [
355
            '_id' => 'testId',
356
            'hosts' => [HOSTNAME => [getmypid() => ProcessRegistry::MONGO_INT32_MAX]],
357
            'version' => $result['version'],
358
        ];
359
360
        $this->assertSame($expected, $result);
361
        $this->assertNotSame((string)$initialVersion, (string)$result['version']);
362
    }
363
364
    /**
365
     * @test
@@ 595-619 (lines=25) @@
592
     *
593
     * @return void
594
     */
595
    public function resetOverflowMinsBeforeExpire()
596
    {
597
        $initialVersion = new ObjectID();
598
        $initalTask = [
599
            '_id' => 'testId',
600
            'hosts' => [HOSTNAME => [getmypid() => time() + 60]],
601
            'version' => $initialVersion,
602
        ];
603
604
        $this->collection->insertOne($initalTask);
605
606
        $this->registry->reset($this->getProcess('testId', PHP_INT_MAX));
607
608
        $this->assertSame(1, $this->collection->count());
609
        $result = $this->collection->findOne();
610
611
        $expected = [
612
            '_id' => 'testId',
613
            'hosts' => [HOSTNAME => [getmypid() => ProcessRegistry::MONGO_INT32_MAX]],
614
            'version' => $result['version'],
615
        ];
616
617
        $this->assertSame($expected, $result);
618
        $this->assertNotSame((string)$initialVersion, (string)$result['version']);
619
    }
620
621
    /**
622
     * Verify behavior of add() with too much concurrency.