|
13 | 13 | namespace Tests; |
14 | 14 |
|
15 | 15 | use Godruoyi\Snowflake\RedisSequenceResolver; |
| 16 | +use Godruoyi\Snowflake\Snowflake; |
16 | 17 | use RedisException; |
17 | 18 |
|
18 | 19 | class RedisSequenceResolverTest extends TestCase |
@@ -75,15 +76,19 @@ public function test_real_redis(): void |
75 | 76 | $redis = new \Redis(); |
76 | 77 | $redis->connect($host, $port | 0); |
77 | 78 |
|
| 79 | + // Sometimes running these tests in parallel on Github may cause unexpected errors, |
| 80 | + // so we change to use random here. |
| 81 | + $key = (new Snowflake())->getCurrentMillisecond(); |
| 82 | + |
78 | 83 | $redisResolver = new RedisSequenceResolver($redis); |
79 | 84 |
|
80 | | - $this->assertEquals(0, $redisResolver->sequence(1)); |
81 | | - $this->assertEquals(1, $redisResolver->sequence(1)); |
82 | | - $this->assertEquals(2, $redisResolver->sequence(1)); |
83 | | - $this->assertEquals(3, $redisResolver->sequence(1)); |
| 85 | + $this->assertEquals(0, $redisResolver->sequence($key)); |
| 86 | + $this->assertEquals(1, $redisResolver->sequence($key)); |
| 87 | + $this->assertEquals(2, $redisResolver->sequence($key)); |
| 88 | + $this->assertEquals(3, $redisResolver->sequence($key)); |
84 | 89 |
|
85 | 90 | sleep(10); |
86 | 91 |
|
87 | | - $this->assertEquals(0, $redisResolver->sequence(1)); |
| 92 | + $this->assertEquals(0, $redisResolver->sequence($key)); |
88 | 93 | } |
89 | 94 | } |
0 commit comments