Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions tests/Integration/Queue/RedisQueueTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,9 @@ private function setQueue($driver, $default = 'default', $connection = null, $re
$this->queue->setContainer($this->container);
}

private function getRedisKey($queue = null)
private function getQueueRedisKey($queue = null)
{
return (new \ReflectionMethod($this->queue, 'getRedisKey'))->invoke($this->queue, $queue);
return (new \ReflectionMethod($this->queue, 'getQueueRedisKey'))->invoke($this->queue, $queue);
}

/**
Expand Down Expand Up @@ -93,7 +93,7 @@ public function testExpiredJobsArePopped($driver)
$this->assertEquals($jobs[3], unserialize(json_decode($this->queue->pop()->getRawBody())->data->command));
$this->assertNull($this->queue->pop());

$redisKey = $this->getRedisKey($default);
$redisKey = $this->getQueueRedisKey($default);
$this->assertEquals(1, $this->redis[$driver]->connection()->zcard("$redisKey:delayed"));
$this->assertEquals(3, $this->redis[$driver]->connection()->zcard("$redisKey:reserved"));
}
Expand Down Expand Up @@ -168,7 +168,7 @@ public function testPopProperlyPopsJobOffOfRedis($driver)
$this->assertEquals($redisJob->getJobId(), json_decode($redisJob->getReservedJob())->id);

// Check reserved queue
$redisKey = $this->getRedisKey($default);
$redisKey = $this->getQueueRedisKey($default);
$this->assertEquals(1, $this->redis[$driver]->connection()->zcard("$redisKey:reserved"));
$result = $this->redis[$driver]->connection()->zrangebyscore("$redisKey:reserved", -INF, INF, ['withscores' => true]);
$reservedJob = array_keys($result)[0];
Expand Down Expand Up @@ -196,7 +196,7 @@ public function testPopProperlyPopsDelayedJobOffOfRedis($driver)
$after = $this->currentTime();

// Check reserved queue
$redisKey = $this->getRedisKey($default);
$redisKey = $this->getQueueRedisKey($default);
$this->assertEquals(1, $this->redis[$driver]->connection()->zcard("$redisKey:reserved"));
$result = $this->redis[$driver]->connection()->zrangebyscore("$redisKey:reserved", -INF, INF, ['withscores' => true]);
$reservedJob = array_keys($result)[0];
Expand Down Expand Up @@ -227,7 +227,7 @@ public function testPopPopsDelayedJobOffOfRedisWhenExpireNull($driver)
$after = $this->currentTime();

// Check reserved queue
$redisKey = $this->getRedisKey($default);
$redisKey = $this->getQueueRedisKey($default);
$this->assertEquals(1, $this->redis[$driver]->connection()->zcard("$redisKey:reserved"));
$result = $this->redis[$driver]->connection()->zrangebyscore("$redisKey:reserved", -INF, INF, ['withscores' => true]);
$reservedJob = array_keys($result)[0];
Expand Down Expand Up @@ -282,7 +282,7 @@ public function testBlockingPopProperlyPopsExpiredJobs($driver)
$this->assertEquals($jobs[0], unserialize(json_decode($this->queue->pop()->getRawBody())->data->command));
$this->assertEquals($jobs[1], unserialize(json_decode($this->queue->pop()->getRawBody())->data->command));

$redisKey = $this->getRedisKey($default);
$redisKey = $this->getQueueRedisKey($default);
$this->assertEquals(0, $this->redis[$driver]->connection()->llen("$redisKey:notify"));
$this->assertEquals(0, $this->redis[$driver]->connection()->zcard("$redisKey:delayed"));
$this->assertEquals(2, $this->redis[$driver]->connection()->zcard("$redisKey:reserved"));
Expand Down Expand Up @@ -319,7 +319,7 @@ public function testNotExpireJobsWhenExpireNull($driver)
$after = $this->currentTime();

// Check reserved queue
$redisKey = $this->getRedisKey($default);
$redisKey = $this->getQueueRedisKey($default);
$this->assertEquals(2, $this->redis[$driver]->connection()->zcard("$redisKey:reserved"));
$result = $this->redis[$driver]->connection()->zrangebyscore("$redisKey:reserved", -INF, INF, ['withscores' => true]);

Expand Down Expand Up @@ -360,7 +360,7 @@ public function testExpireJobsWhenExpireSet($driver)
$after = $this->currentTime();

// Check reserved queue
$redisKey = $this->getRedisKey($default);
$redisKey = $this->getQueueRedisKey($default);
$this->assertEquals(1, $this->redis[$driver]->connection()->zcard("$redisKey:reserved"));
$result = $this->redis[$driver]->connection()->zrangebyscore("$redisKey:reserved", -INF, INF, ['withscores' => true]);
$reservedJob = array_keys($result)[0];
Expand Down Expand Up @@ -391,7 +391,7 @@ public function testRelease($driver)
$after = $this->currentTime();

// check the content of delayed queue
$redisKey = $this->getRedisKey($default);
$redisKey = $this->getQueueRedisKey($default);
$this->assertEquals(1, $this->redis[$driver]->connection()->zcard("$redisKey:delayed"));

$results = $this->redis[$driver]->connection()->zrangebyscore("$redisKey:delayed", -INF, INF, ['withscores' => true]);
Expand Down Expand Up @@ -447,7 +447,7 @@ public function testDelete($driver)

$redisJob->delete();

$redisKey = $this->getRedisKey($default);
$redisKey = $this->getQueueRedisKey($default);
$this->assertEquals(0, $this->redis[$driver]->connection()->zcard("$redisKey:delayed"));
$this->assertEquals(0, $this->redis[$driver]->connection()->zcard("$redisKey:reserved"));
$this->assertEquals(0, $this->redis[$driver]->connection()->llen("$redisKey"));
Expand All @@ -472,7 +472,7 @@ public function testClear($driver)

$this->assertEquals(2, $this->queue->clear(null));
$this->assertEquals(0, $this->queue->size());
$redisKey = $this->getRedisKey($default);
$redisKey = $this->getQueueRedisKey($default);
$this->assertEquals(0, $this->redis[$driver]->connection()->llen("$redisKey:notify"));
}

Expand Down
30 changes: 15 additions & 15 deletions tests/Queue/QueueRedisQueueTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -206,8 +206,8 @@ public function testGetRedisKeyReturnsPlainKeyForNonCluster()
$connection->shouldReceive('isCluster')->andReturn(false);
$redis->shouldReceive('connection')->andReturn($connection);

$this->assertSame('queues:default', $queue->testGetRedisKey(null));
$this->assertSame('queues:emails', $queue->testGetRedisKey('emails'));
$this->assertSame('queues:default', $queue->testGetQueueRedisKey(null));
$this->assertSame('queues:emails', $queue->testGetQueueRedisKey('emails'));
}

public function testGetRedisKeyWrapsWithHashTagsForPhpRedisCluster()
Expand All @@ -217,8 +217,8 @@ public function testGetRedisKeyWrapsWithHashTagsForPhpRedisCluster()
$connection->shouldReceive('isCluster')->andReturn(true);
$redis->shouldReceive('connection')->andReturn($connection);

$this->assertSame('queues:{default}', $queue->testGetRedisKey(null));
$this->assertSame('queues:{emails}', $queue->testGetRedisKey('emails'));
$this->assertSame('queues:{default}', $queue->testGetQueueRedisKey(null));
$this->assertSame('queues:{emails}', $queue->testGetQueueRedisKey('emails'));
}

public function testGetRedisKeyWrapsWithHashTagsForPredisCluster()
Expand All @@ -228,8 +228,8 @@ public function testGetRedisKeyWrapsWithHashTagsForPredisCluster()
$connection->shouldReceive('isCluster')->andReturn(true);
$redis->shouldReceive('connection')->andReturn($connection);

$this->assertSame('queues:{default}', $queue->testGetRedisKey(null));
$this->assertSame('queues:{emails}', $queue->testGetRedisKey('emails'));
$this->assertSame('queues:{default}', $queue->testGetQueueRedisKey(null));
$this->assertSame('queues:{emails}', $queue->testGetQueueRedisKey('emails'));
}

public function testGetRedisKeyDoesNotDoubleWrapExistingHashTags()
Expand All @@ -239,8 +239,8 @@ public function testGetRedisKeyDoesNotDoubleWrapExistingHashTags()
$connection->shouldReceive('isCluster')->andReturn(true);
$redis->shouldReceive('connection')->andReturn($connection);

$this->assertSame('queues:{default}', $queue->testGetRedisKey(null));
$this->assertSame('queues:{custom}', $queue->testGetRedisKey('{custom}'));
$this->assertSame('queues:{default}', $queue->testGetQueueRedisKey(null));
$this->assertSame('queues:{custom}', $queue->testGetQueueRedisKey('{custom}'));
}

public function testGetRedisKeySkipsWrappingWhenQueueNameContainsBraces()
Expand All @@ -251,7 +251,7 @@ public function testGetRedisKeySkipsWrappingWhenQueueNameContainsBraces()
$redis->shouldReceive('connection')->andReturn($connection);

// Queue name already contains hash tags — skip wrapping
$this->assertSame('queues:process-{batch}-results', $queue->testGetRedisKey('process-{batch}-results'));
$this->assertSame('queues:process-{batch}-results', $queue->testGetQueueRedisKey('process-{batch}-results'));
}

public function testGetRedisKeyWrapsEmptyHashTagOnCluster()
Expand All @@ -262,7 +262,7 @@ public function testGetRedisKeyWrapsEmptyHashTagOnCluster()
$redis->shouldReceive('connection')->andReturn($connection);

// Empty braces '{}' are not a valid hash tag — should still get wrapped
$this->assertSame('queues:{my{}queue}', $queue->testGetRedisKey('my{}queue'));
$this->assertSame('queues:{my{}queue}', $queue->testGetQueueRedisKey('my{}queue'));
}

public function testGetRedisKeyWrapsUnmatchedOpeningBrace()
Expand All @@ -273,7 +273,7 @@ public function testGetRedisKeyWrapsUnmatchedOpeningBrace()
$redis->shouldReceive('connection')->andReturn($connection);

// Unmatched '{' is not a valid hash tag — should still get wrapped
$this->assertSame('queues:{my{broken}', $queue->testGetRedisKey('my{broken'));
$this->assertSame('queues:{my{broken}', $queue->testGetQueueRedisKey('my{broken'));
}

public function testGetRedisKeyWrapsUnmatchedClosingBrace()
Expand All @@ -284,7 +284,7 @@ public function testGetRedisKeyWrapsUnmatchedClosingBrace()
$redis->shouldReceive('connection')->andReturn($connection);

// Unmatched '}' is not a valid hash tag — should still get wrapped
$this->assertSame('queues:{broken}queue}', $queue->testGetRedisKey('broken}queue'));
$this->assertSame('queues:{broken}queue}', $queue->testGetQueueRedisKey('broken}queue'));
}

public function testGetRedisKeyWrapsEmptyFirstHashTagFollowedByValidPair()
Expand All @@ -296,7 +296,7 @@ public function testGetRedisKeyWrapsEmptyFirstHashTagFollowedByValidPair()

// Redis spec: the first '{}' is an empty hash tag, so the whole key is hashed
// even though '{bar}' looks valid. Must be wrapped to ensure slot affinity.
$this->assertSame('queues:{foo{}{bar}}', $queue->testGetRedisKey('foo{}{bar}'));
$this->assertSame('queues:{foo{}{bar}}', $queue->testGetQueueRedisKey('foo{}{bar}'));
}

public function testPushUsesGetRedisKeyForLuaScript()
Expand Down Expand Up @@ -421,9 +421,9 @@ public function testIsClusterConnectionCachesResult()

class TestableRedisQueue extends RedisQueue
{
public function testGetRedisKey($queue = null)
public function testGetQueueRedisKey($queue = null)
{
return $this->getRedisKey($queue);
return $this->getQueueRedisKey($queue);
}

public function testIsClusterConnection()
Expand Down
Loading