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

Function TestFile

cli/sessionstore/sessionstore_test.go:248–386  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

246}
247
248func TestFile(t *testing.T) {
249 const (
250 testURL = "http://127.0.0.1:1337"
251 testURL2 = "http://127.0.0.1:1338"
252 )
253
254 t.Parallel()
255
256 t.Run("ReadNonExistent", func(t *testing.T) {
257 t.Parallel()
258
259 dir := t.TempDir()
260 backend := sessionstore.NewFile(func() config.Root { return config.Root(dir) })
261 srvURL, err := url.Parse(testURL)
262 require.NoError(t, err)
263
264 _, err = backend.Read(srvURL)
265 require.Error(t, err)
266 require.True(t, os.IsNotExist(err))
267 })
268
269 t.Run("WriteAndRead", func(t *testing.T) {
270 t.Parallel()
271
272 dir := t.TempDir()
273 backend := sessionstore.NewFile(func() config.Root { return config.Root(dir) })
274 srvURL, err := url.Parse(testURL)
275 require.NoError(t, err)
276
277 // Write a token
278 const inputToken = "test-token-12345"
279 err = backend.Write(srvURL, inputToken)
280 require.NoError(t, err)
281
282 // Verify the session file was created
283 sessionFile := config.Root(dir).Session()
284 require.True(t, sessionFile.Exists())
285
286 // Read the token back
287 token, err := backend.Read(srvURL)
288 require.NoError(t, err)
289 require.Equal(t, inputToken, token)
290 })
291
292 t.Run("WriteAndDelete", func(t *testing.T) {
293 t.Parallel()
294
295 dir := t.TempDir()
296 backend := sessionstore.NewFile(func() config.Root { return config.Root(dir) })
297 srvURL, err := url.Parse(testURL)
298 require.NoError(t, err)
299
300 // Write a token
301 const inputToken = "test-token-67890"
302 err = backend.Write(srvURL, inputToken)
303 require.NoError(t, err)
304
305 // Verify the token was written

Callers

nothing calls this directly

Calls 12

ReadMethod · 0.95
WriteMethod · 0.95
DeleteMethod · 0.95
NewFileFunction · 0.92
RootTypeAlias · 0.92
RunMethod · 0.65
TempDirMethod · 0.65
ParseMethod · 0.65
SessionMethod · 0.65
ErrorMethod · 0.45
ExistsMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected