MCPcopy Index your code
hub / github.com/coder/coder / TestSeedFromBytes

Function TestSeedFromBytes

coderd/aibridge/prices/prices_test.go:41–177  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

39]`
40
41func TestSeedFromBytes(t *testing.T) {
42 t.Parallel()
43
44 t.Run("SeedsFreshDatabase", func(t *testing.T) {
45 t.Parallel()
46 ctx := testutil.Context(t, testutil.WaitShort)
47 db, _ := dbtestutil.NewDB(t)
48
49 require.NoError(t, prices.SeedFromBytes(ctx, db, []byte(testSeedJSON)))
50
51 // Spot-check a fully-populated row.
52 opus, err := db.GetAIModelPriceByProviderModel(ctx, database.GetAIModelPriceByProviderModelParams{
53 Provider: "anthropic",
54 Model: "claude-opus-4-7",
55 })
56 require.NoError(t, err)
57 require.Equal(t, int64(5_000_000), opus.InputPrice.Int64)
58 require.Equal(t, int64(25_000_000), opus.OutputPrice.Int64)
59 require.Equal(t, int64(500_000), opus.CacheReadPrice.Int64)
60 require.Equal(t, int64(6_250_000), opus.CacheWritePrice.Int64)
61
62 // Spot-check a row where the seed has a NULL price (OpenAI does not
63 // publish a cache_write_price). The column should land as SQL NULL.
64 gpt, err := db.GetAIModelPriceByProviderModel(ctx, database.GetAIModelPriceByProviderModelParams{
65 Provider: "openai",
66 Model: "gpt-4o",
67 })
68 require.NoError(t, err)
69 require.Equal(t, int64(2_500_000), gpt.InputPrice.Int64)
70 require.Equal(t, int64(10_000_000), gpt.OutputPrice.Int64)
71 require.Equal(t, int64(1_250_000), gpt.CacheReadPrice.Int64)
72 require.False(t, gpt.CacheWritePrice.Valid)
73 require.Zero(t, gpt.CacheWritePrice.Int64)
74 })
75
76 t.Run("Idempotent", func(t *testing.T) {
77 t.Parallel()
78 ctx := testutil.Context(t, testutil.WaitShort)
79 db, _ := dbtestutil.NewDB(t)
80
81 require.NoError(t, prices.SeedFromBytes(ctx, db, []byte(testSeedJSON)))
82 first, err := db.GetAIModelPriceByProviderModel(ctx, database.GetAIModelPriceByProviderModelParams{
83 Provider: "openai", Model: "gpt-4o",
84 })
85 require.NoError(t, err)
86
87 require.NoError(t, prices.SeedFromBytes(ctx, db, []byte(testSeedJSON)))
88 second, err := db.GetAIModelPriceByProviderModel(ctx, database.GetAIModelPriceByProviderModelParams{
89 Provider: "openai", Model: "gpt-4o",
90 })
91 require.NoError(t, err)
92
93 // Prices must be identical across runs and CreatedAt must be
94 // preserved (only updated_at moves on a no-op upsert).
95 require.Equal(t, first.InputPrice, second.InputPrice)
96 require.Equal(t, first.OutputPrice, second.OutputPrice)
97 require.Equal(t, first.CreatedAt, second.CreatedAt)
98 })

Callers

nothing calls this directly

Calls 11

ContextFunction · 0.92
NewDBFunction · 0.92
SeedFromBytesFunction · 0.92
NewFunction · 0.92
NewStrictAuthorizerFunction · 0.92
AsAIBridgedFunction · 0.92
RunMethod · 0.65
UpsertAIModelPricesMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected