@@ -20,15 +20,24 @@ defmodule Mix.Tasks.Sentry.PackageSourceCodeTest do
2020
2121 assert :ok = Mix.Task . rerun ( "sentry.package_source_code" )
2222
23- assert_receive { :mix_shell , :info , [ "Wrote " <> _ = message ] }
24- assert message =~ expected_path
23+ validate_map_file! ( expected_path )
24+ end
2525
26- assert { :ok , contents } = File . read ( expected_path )
26+ @ tag :tmp_dir
27+ test "packages source code into custom path" , % { tmp_dir: tmp_dir } do
28+ put_test_config (
29+ root_source_code_paths: [ File . cwd! ( ) ] ,
30+ enable_source_code_context: true
31+ )
2732
28- assert % { "version" => 1 , "files_map" => source_map } =
29- :erlang . binary_to_term ( contents , [ :safe ] )
33+ expected_path =
34+ [ tmp_dir , "sentry.map" ]
35+ |> Path . join ( )
36+ |> Path . relative_to_cwd ( )
3037
31- assert Map . has_key? ( source_map , "lib/mix/tasks/sentry.package_source_code.ex" )
38+ assert :ok = Mix.Task . rerun ( "sentry.package_source_code" , [ "--output" , expected_path ] )
39+
40+ validate_map_file! ( expected_path )
3241 end
3342
3443 test "supports the --debug option" do
@@ -51,4 +60,16 @@ defmodule Mix.Tasks.Sentry.PackageSourceCodeTest do
5160 { :mix_shell , :info , [ "Wrote " <> _ ] }
5261 ] } = Process . info ( self ( ) , :messages )
5362 end
63+
64+ defp validate_map_file! ( path ) do
65+ assert_receive { :mix_shell , :info , [ "Wrote " <> _ = message ] }
66+ assert message =~ path
67+
68+ assert { :ok , contents } = File . read ( path )
69+
70+ assert % { "version" => 1 , "files_map" => source_map } =
71+ :erlang . binary_to_term ( contents , [ :safe ] )
72+
73+ assert Map . has_key? ( source_map , "lib/mix/tasks/sentry.package_source_code.ex" )
74+ end
5475end
0 commit comments