MCPcopy Create free account
hub / github.com/coder/coder / TestCertCache_Fetch

Function TestCertCache_Fetch

enterprise/aibridgeproxyd/certcache_test.go:15–144  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

13)
14
15func TestCertCache_Fetch(t *testing.T) {
16 t.Parallel()
17
18 t.Run("CacheMiss", func(t *testing.T) {
19 t.Parallel()
20
21 cache := aibridgeproxyd.NewCertCache()
22 expectedCert := &tls.Certificate{}
23 genCalls := 0
24
25 cert, err := cache.Fetch("example.com", func() (*tls.Certificate, error) {
26 genCalls++
27 return expectedCert, nil
28 })
29
30 require.NoError(t, err)
31 require.Same(t, expectedCert, cert)
32 require.Equal(t, 1, genCalls)
33 })
34
35 t.Run("CacheHit", func(t *testing.T) {
36 t.Parallel()
37
38 cache := aibridgeproxyd.NewCertCache()
39 expectedCert := &tls.Certificate{}
40 genCalls := 0
41
42 gen := func() (*tls.Certificate, error) {
43 genCalls++
44 return expectedCert, nil
45 }
46
47 // First call: cache miss
48 cert1, err := cache.Fetch("example.com", gen)
49 require.NoError(t, err)
50 require.Same(t, expectedCert, cert1)
51 require.Equal(t, 1, genCalls)
52
53 // Second call: cache hit, generator should not be called
54 cert2, err := cache.Fetch("example.com", gen)
55 require.NoError(t, err)
56 require.Same(t, expectedCert, cert2)
57 require.Equal(t, 1, genCalls)
58 })
59
60 t.Run("DifferentHostnames", func(t *testing.T) {
61 t.Parallel()
62
63 cache := aibridgeproxyd.NewCertCache()
64 cert1 := &tls.Certificate{}
65 cert2 := &tls.Certificate{}
66
67 result1, err := cache.Fetch("example1.com", func() (*tls.Certificate, error) {
68 return cert1, nil
69 })
70 require.NoError(t, err)
71 require.Same(t, cert1, result1)
72

Callers

nothing calls this directly

Calls 9

FetchMethod · 0.95
NewCertCacheFunction · 0.92
RunMethod · 0.65
NewMethod · 0.65
AddMethod · 0.65
WaitMethod · 0.65
EqualMethod · 0.45
DoneMethod · 0.45
LoadMethod · 0.45

Tested by

no test coverage detected