From 3446d8d8a3c4458770747b0006388a950985f5d3 Mon Sep 17 00:00:00 2001 From: nelsonic Date: Sun, 11 Aug 2019 18:35:22 +0100 Subject: [PATCH] add more Cache tests p.284 #1 --- apps/info_sys/test/cache_test.exs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/apps/info_sys/test/cache_test.exs b/apps/info_sys/test/cache_test.exs index a4c1327..a35d416 100644 --- a/apps/info_sys/test/cache_test.exs +++ b/apps/info_sys/test/cache_test.exs @@ -36,4 +36,19 @@ defmodule InfoSysTest.CacheTest do eventually(func) end end + + test "clears all entries after clear interval", %{name: name} do + assert :ok = Cache.put(name, :key1, :value1) + assert Cache.fetch(name, :key1) == {:ok, :value1} + assert eventually(fn -> Cache.fetch(name, :key1) == :error end) + end + + @tag clear_interval: 60_000 + test "values are cleaned up on exit", %{name: name, pid: pid} do + assert :ok = Cache.put(name, :key1, :value1) + assert Cache.fetch(name, :key1) == {:ok, :value1} + assert_shutdown(pid) + {:ok, _cache} = Cache.start_link(name: name) + assert Cache.fetch(name, :key1) == :error + end end