@@ -59,14 +59,52 @@ class Importmap::NpmTest < ActiveSupport::TestCase
5959    end 
6060  end 
6161
62-   test  "failed outdated packages request with mock "  do 
62+   test  "failed outdated packages request with exception "  do 
6363    Net ::HTTP . stub ( :start ,  proc  {  raise  "Unexpected Error"  } )  do 
6464      assert_raises ( Importmap ::Npm ::HTTPError )  do 
6565        @npm . outdated_packages 
6666      end 
6767    end 
6868  end 
6969
70+   test  "failed outdated packages request with error response"  do 
71+     client  =  Minitest ::Mock . new 
72+     response  =  Class . new  do 
73+       def  body 
74+         {  "message"  =>  "Service unavailable"  } . to_json 
75+       end 
76+ 
77+       def  code ( )  "500"  end 
78+     end . new 
79+ 
80+     client . expect ( :request ,  nil ,  [ Net ::HTTP ::Get ] ) 
81+ 
82+     Net ::HTTP . stub ( :start ,  response ,  client )  do 
83+       e  =  assert_raises ( Importmap ::Npm ::HTTPError )  do 
84+         @npm . outdated_packages 
85+       end 
86+ 
87+       assert_equal  "Unexpected error response 500: {\" message\" :\" Service unavailable\" }" ,  e . message 
88+     end 
89+   end 
90+ 
91+   test  "failed vulnerable packages with mock"  do 
92+     response  =  Class . new  do 
93+       def  body 
94+         {  "message"  =>  "Service unavailable"  } . to_json 
95+       end 
96+ 
97+       def  code ( )  "500"  end 
98+     end . new 
99+ 
100+     @npm . stub ( :post_json ,  response )  do 
101+       e  =  assert_raises ( Importmap ::Npm ::HTTPError )  do 
102+         @npm . vulnerable_packages 
103+       end 
104+       assert_equal  "Unexpected error response 500: {\" message\" :\" Service unavailable\" }" ,  e . message 
105+     end 
106+   end 
107+ 
70108  test  "successful vulnerable packages with mock"  do 
71109    response  =  Class . new  do 
72110      def  body 
0 commit comments