MCPcopy
hub / github.com/AlistGo/alist / TestMemLSExpiry

Function TestMemLSExpiry

server/webdav/lock_test.go:324–450  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

322}
323
324func TestMemLSExpiry(t *testing.T) {
325 m := NewMemLS().(*memLS)
326 testCases := []string{
327 "setNow 0",
328 "create /a.5",
329 "want /a.5",
330 "create /c.6",
331 "want /a.5 /c.6",
332 "create /a/b.7",
333 "want /a.5 /a/b.7 /c.6",
334 "setNow 4",
335 "want /a.5 /a/b.7 /c.6",
336 "setNow 5",
337 "want /a/b.7 /c.6",
338 "setNow 6",
339 "want /a/b.7",
340 "setNow 7",
341 "want ",
342 "setNow 8",
343 "want ",
344 "create /a.12",
345 "create /b.13",
346 "create /c.15",
347 "create /a/d.16",
348 "want /a.12 /a/d.16 /b.13 /c.15",
349 "refresh /a.14",
350 "want /a.14 /a/d.16 /b.13 /c.15",
351 "setNow 12",
352 "want /a.14 /a/d.16 /b.13 /c.15",
353 "setNow 13",
354 "want /a.14 /a/d.16 /c.15",
355 "setNow 14",
356 "want /a/d.16 /c.15",
357 "refresh /a/d.20",
358 "refresh /c.20",
359 "want /a/d.20 /c.20",
360 "setNow 20",
361 "want ",
362 }
363
364 tokens := map[string]string{}
365 zTime := time.Unix(0, 0)
366 now := zTime
367 for i, tc := range testCases {
368 j := strings.IndexByte(tc, ' ')
369 if j < 0 {
370 t.Fatalf("test case #%d %q: invalid command", i, tc)
371 }
372 op, arg := tc[:j], tc[j+1:]
373 switch op {
374 default:
375 t.Fatalf("test case #%d %q: invalid operation %q", i, tc, op)
376
377 case "create", "refresh":
378 parts := strings.Split(arg, ".")
379 if len(parts) != 2 {
380 t.Fatalf("test case #%d %q: invalid create", i, tc)
381 }

Callers

nothing calls this directly

Calls 7

NewMemLSFunction · 0.85
collectExpiredNodesMethod · 0.80
consistentMethod · 0.80
AddMethod · 0.65
CreateMethod · 0.65
RefreshMethod · 0.65
UnlockMethod · 0.65

Tested by

no test coverage detected