(t *testing.T)
| 111 | } |
| 112 | |
| 113 | func TestRepoAccessCacheEvictsAfterTTL(t *testing.T) { |
| 114 | ctx := t.Context() |
| 115 | |
| 116 | cache, transport := newMockRepoAccessCache(t, 5*time.Millisecond) |
| 117 | info, err := cache.getRepoAccessInfo(ctx, testUser, testOwner, testRepo) |
| 118 | require.NoError(t, err) |
| 119 | require.False(t, info.IsPrivate) |
| 120 | require.True(t, info.HasPushAccess) |
| 121 | require.EqualValues(t, 1, transport.CallCount()) |
| 122 | |
| 123 | time.Sleep(20 * time.Millisecond) |
| 124 | |
| 125 | info, err = cache.getRepoAccessInfo(ctx, testUser, testOwner, testRepo) |
| 126 | require.NoError(t, err) |
| 127 | require.False(t, info.IsPrivate) |
| 128 | require.True(t, info.HasPushAccess) |
| 129 | require.EqualValues(t, 2, transport.CallCount()) |
| 130 | } |
| 131 | |
| 132 | func TestRepoAccessCacheIsolatesViewerPerInstance(t *testing.T) { |
| 133 | ctx := t.Context() |
nothing calls this directly
no test coverage detected