test/support/test_file_utils.ex
defmodule ExshomeTest.TestFileUtils do
@moduledoc """
File manipulation utils for tests.
"""
@spec generate_test_folder() :: String.t()
def generate_test_folder do
test_path =
Path.join([
Application.get_env(:exshome, :root_folder),
"ExshomeTest",
"#{Ecto.UUID.generate()}"
])
File.mkdir_p!(test_path)
ExshomeTest.TestRegistry.put(__MODULE__, test_path)
ExUnit.Callbacks.on_exit(fn ->
File.rm_rf(test_path)
end)
test_path
end
@spec get_test_folder() :: String.t()
def get_test_folder do
ExshomeTest.TestRegistry.get!(__MODULE__)
end
end