@@ -59,14 +59,52 @@ class Importmap::NpmTest < ActiveSupport::TestCase
59
59
end
60
60
end
61
61
62
- test "failed outdated packages request with mock " do
62
+ test "failed outdated packages request with exception " do
63
63
Net ::HTTP . stub ( :start , proc { raise "Unexpected Error" } ) do
64
64
assert_raises ( Importmap ::Npm ::HTTPError ) do
65
65
@npm . outdated_packages
66
66
end
67
67
end
68
68
end
69
69
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
+
70
108
test "successful vulnerable packages with mock" do
71
109
response = Class . new do
72
110
def body
0 commit comments