(t *testing.T)
| 255 | } |
| 256 | |
| 257 | func TestSelectID(t *testing.T) { |
| 258 | minID, maxID := idpool.ID(1), idpool.ID(5) |
| 259 | backend := newDummyBackend() |
| 260 | a, err := NewAllocator(hivetest.Logger(t), TestAllocatorKey(""), backend, WithMin(minID), WithMax(maxID)) |
| 261 | require.NoError(t, err) |
| 262 | require.NotNil(t, a) |
| 263 | |
| 264 | // allocate all available IDs |
| 265 | for i := minID; i <= maxID; i++ { |
| 266 | id, val, unmaskedID := a.selectAvailableID() |
| 267 | require.NotEqual(t, idpool.NoID, id) |
| 268 | require.Equal(t, id.String(), val) |
| 269 | require.Equal(t, unmaskedID, id) |
| 270 | a.mainCache.mutex.Lock() |
| 271 | a.mainCache.cache[id] = TestAllocatorKey(fmt.Sprintf("key-%d", i)) |
| 272 | a.mainCache.mutex.Unlock() |
| 273 | } |
| 274 | |
| 275 | // we should be out of IDs |
| 276 | id, val, unmaskedID := a.selectAvailableID() |
| 277 | require.Equal(t, idpool.ID(0), id) |
| 278 | require.Equal(t, unmaskedID, id) |
| 279 | require.Empty(t, val) |
| 280 | } |
| 281 | |
| 282 | func TestPrefixMask(t *testing.T) { |
| 283 | minID, maxID := idpool.ID(1), idpool.ID(5) |
nothing calls this directly
no test coverage detected
searching dependent graphs…