43 lines
1.4 KiB
Elixir
43 lines
1.4 KiB
Elixir
defmodule BDS.CSM030UncheckedMkdirTest do
|
|
use ExUnit.Case, async: true
|
|
|
|
describe "source-level: no unchecked File.mkdir_p" do
|
|
test "sidecars.ex has no bare File.mkdir_p calls" do
|
|
source = File.read!("lib/bds/media/sidecars.ex")
|
|
refute source =~ ~r/:ok\s*=\s*File\.mkdir_p/
|
|
refute source =~ ~r/File\.mkdir_p!/
|
|
end
|
|
|
|
test "release_packaging.ex has no File.mkdir_p! calls" do
|
|
source = File.read!("lib/bds/release_packaging.ex")
|
|
refute source =~ ~r/File\.mkdir_p!/
|
|
end
|
|
|
|
test "thumbnails.ex mkdir_p is inside a with chain" do
|
|
source = File.read!("lib/bds/media/thumbnails.ex")
|
|
refute source =~ ~r/:ok\s*=\s*File\.mkdir_p/
|
|
refute source =~ ~r/File\.mkdir_p!/
|
|
end
|
|
end
|
|
|
|
describe "source-level: sidecar write errors are handled" do
|
|
test "media.ex does not assert :ok on write_sidecar" do
|
|
source = File.read!("lib/bds/media.ex")
|
|
refute source =~ ~r/:ok\s*=\s*write_sidecar/
|
|
refute source =~ ~r/:ok\s*=\s*write_translation_sidecar/
|
|
end
|
|
|
|
test "linking.ex does not assert :ok on write_sidecar" do
|
|
source = File.read!("lib/bds/media/linking.ex")
|
|
refute source =~ ~r/:ok\s*=\s*Sidecars\.write_sidecar/
|
|
end
|
|
end
|
|
|
|
describe "source-level: release_packaging.ex write_manifest" do
|
|
test "uses File.write not File.write!" do
|
|
source = File.read!("lib/bds/release_packaging.ex")
|
|
refute source =~ ~r/File\.write!/
|
|
end
|
|
end
|
|
end
|