Skip to content

Commit 4e01407

Browse files
committed
feat: add error testing endpoints
1 parent f7e0278 commit 4e01407

File tree

4 files changed

+61
-1
lines changed

4 files changed

+61
-1
lines changed

lib/pact_broker/api.rb

+1
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ module PactBroker
6767
add ['matrix'], Api::Resources::Matrix, {resource_name: "matrix"}
6868

6969
add ['dashboard'], Api::Resources::Dashboard, {resource_name: "dashboard"}
70+
add ['test','error'], Api::Resources::ErrorTest, {resource_name: "error_test"}
7071
add [], Api::Resources::Index, {resource_name: "index"}
7172
end
7273
end
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
require 'pact_broker/api/resources/base_resource'
2+
require 'pact_broker/error'
3+
4+
module PactBroker
5+
module Api
6+
module Resources
7+
8+
class ErrorTest < BaseResource
9+
10+
def content_types_provided
11+
[
12+
["application/hal+json", :to_json]
13+
]
14+
end
15+
16+
def content_types_accepted
17+
[
18+
["application/hal+json", :from_json]
19+
]
20+
end
21+
22+
def allowed_methods
23+
["GET", "POST"]
24+
end
25+
26+
def to_json
27+
raise PactBroker::Error.new("Don't panic. This is a test API error.")
28+
end
29+
30+
def from_json
31+
raise PactBroker::Error.new("Don't panic. This is a test API error.")
32+
end
33+
end
34+
end
35+
end
36+
end

lib/pact_broker/ui/app.rb

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
require 'pact_broker/ui/controllers/index'
22
require 'pact_broker/ui/controllers/groups'
33
require 'pact_broker/ui/controllers/matrix'
4+
require 'pact_broker/ui/controllers/error_test'
45
require 'pact_broker/doc/controllers/app'
56

6-
77
module PactBroker
88
module UI
99
class PathInfoFixer
@@ -41,6 +41,11 @@ def initialize
4141
run PactBroker::UI::Controllers::Matrix
4242
end
4343

44+
map "/test/error" do
45+
use PathInfoFixer
46+
run PactBroker::UI::Controllers::ErrorTest
47+
end
48+
4449
map "/" do
4550
run PactBroker::UI::Controllers::Index
4651
end
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
require 'pact_broker/ui/controllers/base_controller'
2+
require 'pact_broker/logging'
3+
require 'pact_broker/error'
4+
5+
module PactBroker
6+
module UI
7+
module Controllers
8+
class ErrorTest < Base
9+
include PactBroker::Services
10+
include PactBroker::Logging
11+
12+
get "/" do
13+
raise PactBroker::Error.new("Don't panic. This is a test UI error.")
14+
end
15+
end
16+
end
17+
end
18+
end

0 commit comments

Comments
 (0)