nayutaya-webhook-dispatcher 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +10 -3
- data/example.rb +6 -36
- data/lib/webhook-dispatcher/acl/allow_entry.rb +12 -0
- data/lib/webhook-dispatcher/acl/deny_entry.rb +12 -0
- data/lib/webhook-dispatcher/acl/entry_base.rb +94 -0
- data/lib/webhook-dispatcher/acl.rb +54 -44
- data/lib/webhook-dispatcher/core.rb +107 -0
- data/lib/webhook-dispatcher/request/base.rb +9 -0
- data/lib/webhook-dispatcher/request/get.rb +4 -0
- data/lib/webhook-dispatcher/request/head.rb +12 -0
- data/lib/webhook-dispatcher/request/post.rb +17 -0
- data/lib/webhook-dispatcher/response.rb +2 -3
- data/lib/webhook-dispatcher/version.rb +1 -1
- data/test/acl/allow_entry_test.rb +17 -0
- data/test/acl/deny_entry_test.rb +13 -0
- data/test/acl/entry_base_test.rb +248 -0
- data/test/acl_test.rb +131 -34
- data/test/core_test.rb +336 -0
- data/test/request/base_test.rb +45 -0
- data/test/request/get_test.rb +30 -0
- data/test/request/head_test.rb +30 -0
- data/test/request/post_test.rb +45 -0
- data/test/response_test.rb +12 -15
- data/test/test_helper.rb +16 -0
- data/webhook-dispatcher.gemspec +20 -12
- data/webhook-dispatcher.gemspec.erb +1 -3
- metadata +21 -11
- data/test/request_base_test.rb +0 -20
- data/test/request_get_test.rb +0 -14
data/test/core_test.rb
ADDED
@@ -0,0 +1,336 @@
|
|
1
|
+
|
2
|
+
require File.dirname(__FILE__) + "/test_helper"
|
3
|
+
require "webhook-dispatcher/core"
|
4
|
+
|
5
|
+
class CoreTest < Test::Unit::TestCase
|
6
|
+
def setup
|
7
|
+
@klass = WebHookDispatcher
|
8
|
+
@dispatcher = @klass.new
|
9
|
+
|
10
|
+
@real_access = true
|
11
|
+
@example_jp = URI.parse("http://example.jp/")
|
12
|
+
@get_request = @klass::Request::Get.new(URI.parse("http://localhost/"))
|
13
|
+
@http_musha = Kagemusha.new(Net::HTTP)
|
14
|
+
end
|
15
|
+
|
16
|
+
#
|
17
|
+
# 初期化
|
18
|
+
#
|
19
|
+
|
20
|
+
def test_initialize__global_default
|
21
|
+
@klass.open_timeout = nil
|
22
|
+
@klass.read_timeout = nil
|
23
|
+
@klass.user_agent = nil
|
24
|
+
@klass.acl = nil
|
25
|
+
|
26
|
+
dispatcher = @klass.new
|
27
|
+
assert_equal(@klass.default_open_timeout, dispatcher.open_timeout)
|
28
|
+
assert_equal(@klass.default_read_timeout, dispatcher.read_timeout)
|
29
|
+
assert_equal(@klass.default_user_agent, dispatcher.user_agent)
|
30
|
+
assert_equal(@klass.default_acl, dispatcher.acl)
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_initialize__class_default
|
34
|
+
@klass.open_timeout = 1
|
35
|
+
@klass.read_timeout = 2
|
36
|
+
@klass.user_agent = "3"
|
37
|
+
@klass.acl = @klass::Acl.allow_all
|
38
|
+
|
39
|
+
dispatcher = @klass.new
|
40
|
+
assert_equal(1, dispatcher.open_timeout)
|
41
|
+
assert_equal(2, dispatcher.read_timeout)
|
42
|
+
assert_equal("3", dispatcher.user_agent)
|
43
|
+
assert_equal(@klass::Acl.allow_all, dispatcher.acl)
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_initialize__parameter
|
47
|
+
@klass.open_timeout = 1
|
48
|
+
@klass.read_timeout = 2
|
49
|
+
@klass.user_agent = "3"
|
50
|
+
@klass.acl = @klass::Acl.allow_all
|
51
|
+
|
52
|
+
dispatcher = @klass.new(
|
53
|
+
:open_timeout => 4,
|
54
|
+
:read_timeout => 5,
|
55
|
+
:user_agent => "6",
|
56
|
+
:acl => @klass::Acl.deny_all)
|
57
|
+
assert_equal(4, dispatcher.open_timeout)
|
58
|
+
assert_equal(5, dispatcher.read_timeout)
|
59
|
+
assert_equal("6", dispatcher.user_agent)
|
60
|
+
assert_equal(@klass::Acl.deny_all, dispatcher.acl)
|
61
|
+
end
|
62
|
+
|
63
|
+
def test_initialize__invalid_parameter
|
64
|
+
assert_raise(ArgumentError) {
|
65
|
+
@klass.new(:invalid => true)
|
66
|
+
}
|
67
|
+
end
|
68
|
+
|
69
|
+
#
|
70
|
+
# クラスメソッド
|
71
|
+
#
|
72
|
+
|
73
|
+
def test_self_open_timeout
|
74
|
+
@klass.open_timeout = 5
|
75
|
+
assert_equal(5, @klass.open_timeout)
|
76
|
+
end
|
77
|
+
|
78
|
+
def test_self_read_timeout
|
79
|
+
@klass.read_timeout = 5
|
80
|
+
assert_equal(5, @klass.read_timeout)
|
81
|
+
end
|
82
|
+
|
83
|
+
def test_self_user_agent
|
84
|
+
@klass.user_agent = "ie"
|
85
|
+
assert_equal("ie", @klass.user_agent)
|
86
|
+
end
|
87
|
+
|
88
|
+
def test_self_acl
|
89
|
+
@klass.acl = @klass::Acl.new
|
90
|
+
assert_equal(@klass::Acl.new, @klass.acl)
|
91
|
+
end
|
92
|
+
|
93
|
+
def test_self_default_open_timeout
|
94
|
+
assert_equal(10, @klass.default_open_timeout)
|
95
|
+
end
|
96
|
+
|
97
|
+
def test_self_default_read_timeout
|
98
|
+
assert_equal(10, @klass.default_read_timeout)
|
99
|
+
end
|
100
|
+
|
101
|
+
def test_self_default_user_agent
|
102
|
+
assert_equal(
|
103
|
+
"webhook-dispatcher #{@klass::VERSION}",
|
104
|
+
@klass.default_user_agent)
|
105
|
+
end
|
106
|
+
|
107
|
+
def test_self_default_acl
|
108
|
+
assert_equal(@klass::Acl.new, @klass.default_acl)
|
109
|
+
end
|
110
|
+
|
111
|
+
def test_self_acl_with
|
112
|
+
@klass.acl_with {
|
113
|
+
allow :all
|
114
|
+
}
|
115
|
+
assert_equal(@klass::Acl.allow_all, @klass.acl)
|
116
|
+
end
|
117
|
+
|
118
|
+
#
|
119
|
+
# インスタンスメソッド
|
120
|
+
#
|
121
|
+
|
122
|
+
def test_open_timeout
|
123
|
+
@dispatcher.open_timeout = 10
|
124
|
+
assert_equal(10, @dispatcher.open_timeout)
|
125
|
+
end
|
126
|
+
|
127
|
+
def test_read_timeout
|
128
|
+
@dispatcher.read_timeout = 10
|
129
|
+
assert_equal(10, @dispatcher.read_timeout)
|
130
|
+
end
|
131
|
+
|
132
|
+
def test_user_agent
|
133
|
+
@dispatcher.user_agent = "firefox"
|
134
|
+
assert_equal("firefox", @dispatcher.user_agent)
|
135
|
+
end
|
136
|
+
|
137
|
+
def test_acl
|
138
|
+
@dispatcher.acl = @klass::Acl.new
|
139
|
+
assert_equal(@klass::Acl.new, @dispatcher.acl)
|
140
|
+
end
|
141
|
+
|
142
|
+
def test_acl_with
|
143
|
+
@dispatcher.acl_with {
|
144
|
+
allow :all
|
145
|
+
}
|
146
|
+
assert_equal(@klass::Acl.allow_all, @dispatcher.acl)
|
147
|
+
end
|
148
|
+
|
149
|
+
def test_request__200_ok
|
150
|
+
@http_musha.def(:start) { Net::HTTPOK.new("1.1", "200", "OK") }
|
151
|
+
|
152
|
+
response = @http_musha.swap { @dispatcher.request(@get_request) }
|
153
|
+
assert_equal(true, response.success?)
|
154
|
+
assert_equal(:success, response.status)
|
155
|
+
assert_equal(200, response.http_code)
|
156
|
+
|
157
|
+
assert_equal("OK", response.message)
|
158
|
+
assert_equal(nil, response.exception)
|
159
|
+
end
|
160
|
+
|
161
|
+
def test_request__201_created
|
162
|
+
@http_musha.def(:start) { Net::HTTPCreated.new("1.1", "201", "Created") }
|
163
|
+
|
164
|
+
response = @http_musha.swap { @dispatcher.request(@get_request) }
|
165
|
+
assert_equal(true, response.success?)
|
166
|
+
assert_equal(:success, response.status)
|
167
|
+
assert_equal(201, response.http_code)
|
168
|
+
|
169
|
+
assert_equal("Created", response.message)
|
170
|
+
assert_equal(nil, response.exception)
|
171
|
+
end
|
172
|
+
|
173
|
+
def test_request__301_moved_permanently
|
174
|
+
@http_musha.def(:start) { Net::HTTPMovedPermanently.new("1.1", "301", "Moved Permanently") }
|
175
|
+
|
176
|
+
response = @http_musha.swap { @dispatcher.request(@get_request) }
|
177
|
+
assert_equal(false, response.success?)
|
178
|
+
assert_equal(:failure, response.status)
|
179
|
+
assert_equal(301, response.http_code)
|
180
|
+
|
181
|
+
assert_equal("Moved Permanently", response.message)
|
182
|
+
assert_equal(nil, response.exception)
|
183
|
+
end
|
184
|
+
|
185
|
+
def test_request__denied
|
186
|
+
request = @get_request
|
187
|
+
@dispatcher.acl_with {
|
188
|
+
allow :all
|
189
|
+
deny :name => request.uri.host, :port => request.uri.port
|
190
|
+
}
|
191
|
+
|
192
|
+
response = @http_musha.swap { @dispatcher.request(@get_request) }
|
193
|
+
assert_equal(false, response.success?)
|
194
|
+
assert_equal(:denied, response.status)
|
195
|
+
assert_equal(nil, response.http_code)
|
196
|
+
|
197
|
+
assert_equal("denied.", response.message)
|
198
|
+
assert_equal(nil, response.exception)
|
199
|
+
end
|
200
|
+
|
201
|
+
def test_request__timeout
|
202
|
+
@http_musha.def(:start) { raise(TimeoutError) }
|
203
|
+
|
204
|
+
response = @http_musha.swap { @dispatcher.request(@get_request) }
|
205
|
+
assert_equal(false, response.success?)
|
206
|
+
assert_equal(:timeout, response.status)
|
207
|
+
assert_equal(nil, response.http_code)
|
208
|
+
|
209
|
+
assert_equal("timeout.", response.message)
|
210
|
+
assert_kind_of(TimeoutError, response.exception)
|
211
|
+
end
|
212
|
+
|
213
|
+
def test_request__refused
|
214
|
+
@http_musha.def(:start) { raise(Errno::ECONNREFUSED) }
|
215
|
+
|
216
|
+
response = @http_musha.swap { @dispatcher.request(@get_request) }
|
217
|
+
assert_equal(false, response.success?)
|
218
|
+
assert_equal(:refused, response.status)
|
219
|
+
assert_equal(nil, response.http_code)
|
220
|
+
|
221
|
+
assert_equal("connection refused.", response.message)
|
222
|
+
assert_kind_of(Errno::ECONNREFUSED, response.exception)
|
223
|
+
end
|
224
|
+
|
225
|
+
def test_request__reset
|
226
|
+
@http_musha.def(:start) { raise(Errno::ECONNRESET) }
|
227
|
+
|
228
|
+
response = @http_musha.swap { @dispatcher.request(@get_request) }
|
229
|
+
assert_equal(false, response.success?)
|
230
|
+
assert_equal(:reset, response.status)
|
231
|
+
assert_equal(nil, response.http_code)
|
232
|
+
|
233
|
+
assert_equal("connection reset by peer.", response.message)
|
234
|
+
assert_kind_of(Errno::ECONNRESET, response.exception)
|
235
|
+
end
|
236
|
+
|
237
|
+
def test_request__other_error
|
238
|
+
@http_musha.def(:start) { raise(SocketError, "message.") }
|
239
|
+
|
240
|
+
response = @http_musha.swap { @dispatcher.request(@get_request) }
|
241
|
+
assert_equal(false, response.success?)
|
242
|
+
assert_equal(:error, response.status)
|
243
|
+
assert_equal(nil, response.http_code)
|
244
|
+
|
245
|
+
assert_equal("SocketError: message.", response.message)
|
246
|
+
assert_kind_of(SocketError, response.exception)
|
247
|
+
end
|
248
|
+
|
249
|
+
def test_get
|
250
|
+
request = nil
|
251
|
+
musha = Kagemusha.new(@klass)
|
252
|
+
musha.def(:request) { |req| request = req }
|
253
|
+
musha.swap {
|
254
|
+
@dispatcher.get(@example_jp)
|
255
|
+
}
|
256
|
+
assert_kind_of(@klass::Request::Get, request)
|
257
|
+
assert_equal(@example_jp, request.uri)
|
258
|
+
end
|
259
|
+
|
260
|
+
def test_get__request_to_google
|
261
|
+
if @real_access
|
262
|
+
response = @dispatcher.get(URI.parse("http://www.google.co.jp/"))
|
263
|
+
assert_equal(true, response.success?)
|
264
|
+
assert_equal(:success, response.status)
|
265
|
+
assert_equal(200, response.http_code)
|
266
|
+
assert_equal("OK", response.message)
|
267
|
+
assert_equal(nil, response.exception)
|
268
|
+
end
|
269
|
+
end
|
270
|
+
|
271
|
+
def test_head
|
272
|
+
request = nil
|
273
|
+
musha = Kagemusha.new(@klass)
|
274
|
+
musha.def(:request) { |req| request = req }
|
275
|
+
musha.swap {
|
276
|
+
@dispatcher.head(@example_jp)
|
277
|
+
}
|
278
|
+
assert_kind_of(@klass::Request::Head, request)
|
279
|
+
assert_equal(@example_jp, request.uri)
|
280
|
+
end
|
281
|
+
|
282
|
+
def test_head__request_to_google
|
283
|
+
if @real_access
|
284
|
+
response = @dispatcher.head(URI.parse("http://www.google.co.jp/"))
|
285
|
+
assert_equal(true, response.success?)
|
286
|
+
assert_equal(:success, response.status)
|
287
|
+
assert_equal(200, response.http_code)
|
288
|
+
assert_equal("OK", response.message)
|
289
|
+
assert_equal(nil, response.exception)
|
290
|
+
end
|
291
|
+
end
|
292
|
+
|
293
|
+
def test_post
|
294
|
+
request = nil
|
295
|
+
musha = Kagemusha.new(@klass)
|
296
|
+
musha.def(:request) { |req| request = req }
|
297
|
+
musha.swap {
|
298
|
+
@dispatcher.post(@example_jp, "body")
|
299
|
+
}
|
300
|
+
assert_kind_of(@klass::Request::Post, request)
|
301
|
+
assert_equal(@example_jp, request.uri)
|
302
|
+
assert_equal("body", request.body)
|
303
|
+
end
|
304
|
+
|
305
|
+
def test_post__request_to_google
|
306
|
+
if @real_access
|
307
|
+
response = @dispatcher.post(URI.parse("http://www.google.co.jp/"), "")
|
308
|
+
assert_equal(false, response.success?)
|
309
|
+
assert_equal(:failure, response.status)
|
310
|
+
assert_equal(405, response.http_code)
|
311
|
+
assert_equal("Method Not Allowed", response.message)
|
312
|
+
assert_equal(nil, response.exception)
|
313
|
+
end
|
314
|
+
end
|
315
|
+
|
316
|
+
def test_setup_http_connector
|
317
|
+
connector = Net::HTTP.new("example.jp")
|
318
|
+
assert_equal(nil, connector.open_timeout)
|
319
|
+
assert_equal(60, connector.read_timeout)
|
320
|
+
|
321
|
+
@dispatcher.open_timeout = 10
|
322
|
+
@dispatcher.read_timeout = 20
|
323
|
+
@dispatcher.instance_eval { setup_http_connector(connector) }
|
324
|
+
assert_equal(10, connector.open_timeout)
|
325
|
+
assert_equal(20, connector.read_timeout)
|
326
|
+
end
|
327
|
+
|
328
|
+
def test_setup_http_request
|
329
|
+
response = Net::HTTP::Get.new("/")
|
330
|
+
assert_equal(nil, response["User-Agent"])
|
331
|
+
|
332
|
+
@dispatcher.user_agent = "safari"
|
333
|
+
@dispatcher.instance_eval { setup_http_request(response) }
|
334
|
+
assert_equal("safari", response["User-Agent"])
|
335
|
+
end
|
336
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
|
2
|
+
require File.dirname(__FILE__) + "/../test_helper"
|
3
|
+
require "webhook-dispatcher/request/base"
|
4
|
+
|
5
|
+
class RequestBaseTest < Test::Unit::TestCase
|
6
|
+
def setup
|
7
|
+
@klass = WebHookDispatcher::Request::Base
|
8
|
+
|
9
|
+
@example_jp = URI.parse("http://example.jp:8080")
|
10
|
+
@example_com = URI.parse("http://example.com:8080")
|
11
|
+
end
|
12
|
+
|
13
|
+
#
|
14
|
+
# 初期化
|
15
|
+
#
|
16
|
+
|
17
|
+
def test_initialize
|
18
|
+
req = @klass.new(@example_jp)
|
19
|
+
assert_equal(@example_jp, req.instance_eval { @uri })
|
20
|
+
end
|
21
|
+
|
22
|
+
#
|
23
|
+
# インスタンスメソッド
|
24
|
+
#
|
25
|
+
|
26
|
+
def test_uri
|
27
|
+
req = @klass.new(@example_jp)
|
28
|
+
assert_equal(@example_jp, req.uri)
|
29
|
+
req.uri = @example_com
|
30
|
+
assert_equal(@example_com, req.uri)
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_create_http_connector
|
34
|
+
conn = @klass.new(@example_jp).create_http_connector
|
35
|
+
assert_kind_of(Net::HTTP, conn)
|
36
|
+
assert_equal(@example_jp.host, conn.address)
|
37
|
+
assert_equal(@example_jp.port, conn.port)
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_create_http_request
|
41
|
+
assert_raise(NotImplementedError) {
|
42
|
+
@klass.new(@example_jp).create_http_request
|
43
|
+
}
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
|
2
|
+
require File.dirname(__FILE__) + "/../test_helper"
|
3
|
+
require "webhook-dispatcher/request/get"
|
4
|
+
|
5
|
+
class RequestGetTest < Test::Unit::TestCase
|
6
|
+
def setup
|
7
|
+
@klass = WebHookDispatcher::Request::Get
|
8
|
+
|
9
|
+
@example_jp = URI.parse("http://example.jp")
|
10
|
+
end
|
11
|
+
|
12
|
+
#
|
13
|
+
# 初期化
|
14
|
+
#
|
15
|
+
|
16
|
+
def test_initialize
|
17
|
+
req = @klass.new(@example_jp)
|
18
|
+
assert_equal(@example_jp, req.uri)
|
19
|
+
end
|
20
|
+
|
21
|
+
#
|
22
|
+
# インスタンスメソッド
|
23
|
+
#
|
24
|
+
|
25
|
+
def test_create_http_request
|
26
|
+
req = @klass.new(URI.parse("http://example.jp/path?query")).create_http_request
|
27
|
+
assert_kind_of(Net::HTTP::Get, req)
|
28
|
+
assert_equal("/path?query", req.path)
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
|
2
|
+
require File.dirname(__FILE__) + "/../test_helper"
|
3
|
+
require "webhook-dispatcher/request/head"
|
4
|
+
|
5
|
+
class RequestHeadTest < Test::Unit::TestCase
|
6
|
+
def setup
|
7
|
+
@klass = WebHookDispatcher::Request::Head
|
8
|
+
|
9
|
+
@example_jp = URI.parse("http://example.jp")
|
10
|
+
end
|
11
|
+
|
12
|
+
#
|
13
|
+
# 初期化
|
14
|
+
#
|
15
|
+
|
16
|
+
def test_initialize
|
17
|
+
req = @klass.new(@example_jp)
|
18
|
+
assert_equal(@example_jp, req.uri)
|
19
|
+
end
|
20
|
+
|
21
|
+
#
|
22
|
+
# インスタンスメソッド
|
23
|
+
#
|
24
|
+
|
25
|
+
def test_create_http_request
|
26
|
+
req = @klass.new(URI.parse("http://example.jp/path?query")).create_http_request
|
27
|
+
assert_kind_of(Net::HTTP::Head, req)
|
28
|
+
assert_equal("/path?query", req.path)
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
|
2
|
+
require File.dirname(__FILE__) + "/../test_helper"
|
3
|
+
require "webhook-dispatcher/request/post"
|
4
|
+
|
5
|
+
class RequestPostTest < Test::Unit::TestCase
|
6
|
+
def setup
|
7
|
+
@klass = WebHookDispatcher::Request::Post
|
8
|
+
|
9
|
+
@example_jp = URI.parse("http://example.jp")
|
10
|
+
end
|
11
|
+
|
12
|
+
#
|
13
|
+
# 初期化
|
14
|
+
#
|
15
|
+
|
16
|
+
def test_initialize
|
17
|
+
req = @klass.new(@example_jp, "body")
|
18
|
+
assert_equal(@example_jp, req.uri)
|
19
|
+
assert_equal("body", req.body)
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_initialize__default
|
23
|
+
req = @klass.new(@example_jp)
|
24
|
+
assert_equal(@example_jp, req.uri)
|
25
|
+
assert_equal(nil, req.body)
|
26
|
+
end
|
27
|
+
|
28
|
+
#
|
29
|
+
# インスタンスメソッド
|
30
|
+
#
|
31
|
+
|
32
|
+
def test_body
|
33
|
+
req = @klass.new(@example_jp, "a")
|
34
|
+
assert_equal("a", req.body)
|
35
|
+
req.body = "b"
|
36
|
+
assert_equal("b", req.body)
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_create_http_request
|
40
|
+
req = @klass.new(URI.parse("http://example.jp/path?query"), "body").create_http_request
|
41
|
+
assert_kind_of(Net::HTTP::Post, req)
|
42
|
+
assert_equal("/path?query", req.path)
|
43
|
+
assert_equal("body", req.body)
|
44
|
+
end
|
45
|
+
end
|
data/test/response_test.rb
CHANGED
@@ -9,28 +9,25 @@ class ResponseTest < Test::Unit::TestCase
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def test_initialize
|
12
|
-
|
13
|
-
:success => true,
|
12
|
+
response = @klass.new(
|
14
13
|
:status => :success,
|
15
14
|
:http_code => 200,
|
16
15
|
:message => "OK",
|
17
16
|
:exception => RuntimeError.new)
|
18
|
-
assert_equal(true,
|
19
|
-
assert_equal(
|
20
|
-
assert_equal(
|
21
|
-
assert_equal(
|
22
|
-
|
23
|
-
assert_kind_of(RuntimeError, res.exception)
|
17
|
+
assert_equal(true, response.success?)
|
18
|
+
assert_equal(:success, response.status)
|
19
|
+
assert_equal(200, response.http_code)
|
20
|
+
assert_equal("OK", response.message)
|
21
|
+
assert_kind_of(RuntimeError, response.exception)
|
24
22
|
end
|
25
23
|
|
26
24
|
def test_initialize__default
|
27
|
-
|
28
|
-
assert_equal(false,
|
29
|
-
assert_equal(
|
30
|
-
assert_equal(
|
31
|
-
assert_equal(nil,
|
32
|
-
assert_equal(nil,
|
33
|
-
assert_equal(nil, res.exception)
|
25
|
+
response = @klass.new
|
26
|
+
assert_equal(false, response.success?)
|
27
|
+
assert_equal(:unknown, response.status)
|
28
|
+
assert_equal(nil, response.http_code)
|
29
|
+
assert_equal(nil, response.message)
|
30
|
+
assert_equal(nil, response.exception)
|
34
31
|
end
|
35
32
|
|
36
33
|
def test_initialize__invalid_parameter
|
data/test/test_helper.rb
CHANGED
@@ -1,4 +1,20 @@
|
|
1
1
|
|
2
2
|
require "test/unit"
|
3
|
+
require "rubygems"
|
4
|
+
|
5
|
+
gem "nayutaya-kagemusha", ">= 0.0.9"
|
6
|
+
require "kagemusha"
|
7
|
+
|
8
|
+
begin
|
9
|
+
require "redgreen"
|
10
|
+
rescue LoadError
|
11
|
+
# nop
|
12
|
+
end
|
13
|
+
|
14
|
+
begin
|
15
|
+
require "win32console" if /win32/ =~ RUBY_PLATFORM
|
16
|
+
rescue LoadError
|
17
|
+
# nop
|
18
|
+
end
|
3
19
|
|
4
20
|
$:.unshift(File.dirname(__FILE__) + "/../lib")
|
data/webhook-dispatcher.gemspec
CHANGED
@@ -5,8 +5,8 @@ Gem::Specification.new do |s|
|
|
5
5
|
s.required_ruby_version = Gem::Requirement.new(">= 1.8.6")
|
6
6
|
|
7
7
|
s.name = "webhook-dispatcher"
|
8
|
-
s.version = "0.0.
|
9
|
-
s.date = "2009-
|
8
|
+
s.version = "0.0.2"
|
9
|
+
s.date = "2009-07-02"
|
10
10
|
|
11
11
|
s.authors = ["Yuya Kato"]
|
12
12
|
s.email = "yuyakato@gmail.com"
|
@@ -20,19 +20,30 @@ Gem::Specification.new do |s|
|
|
20
20
|
s.require_paths = ["lib"]
|
21
21
|
|
22
22
|
s.files = [
|
23
|
+
"README.ja",
|
24
|
+
"Rakefile",
|
23
25
|
"example.rb",
|
26
|
+
"lib/webhook-dispatcher.rb",
|
24
27
|
"lib/webhook-dispatcher/acl.rb",
|
28
|
+
"lib/webhook-dispatcher/acl/allow_entry.rb",
|
29
|
+
"lib/webhook-dispatcher/acl/deny_entry.rb",
|
30
|
+
"lib/webhook-dispatcher/acl/entry_base.rb",
|
25
31
|
"lib/webhook-dispatcher/core.rb",
|
26
32
|
"lib/webhook-dispatcher/request/base.rb",
|
27
33
|
"lib/webhook-dispatcher/request/get.rb",
|
34
|
+
"lib/webhook-dispatcher/request/head.rb",
|
35
|
+
"lib/webhook-dispatcher/request/post.rb",
|
28
36
|
"lib/webhook-dispatcher/response.rb",
|
29
37
|
"lib/webhook-dispatcher/version.rb",
|
30
|
-
"
|
31
|
-
"
|
32
|
-
"
|
38
|
+
"test/acl/allow_entry_test.rb",
|
39
|
+
"test/acl/deny_entry_test.rb",
|
40
|
+
"test/acl/entry_base_test.rb",
|
33
41
|
"test/acl_test.rb",
|
34
|
-
"test/
|
35
|
-
"test/
|
42
|
+
"test/core_test.rb",
|
43
|
+
"test/request/base_test.rb",
|
44
|
+
"test/request/get_test.rb",
|
45
|
+
"test/request/head_test.rb",
|
46
|
+
"test/request/post_test.rb",
|
36
47
|
"test/response_test.rb",
|
37
48
|
"test/test_helper.rb",
|
38
49
|
"webhook-dispatcher.gemspec",
|
@@ -40,12 +51,9 @@ Gem::Specification.new do |s|
|
|
40
51
|
]
|
41
52
|
s.test_files = [
|
42
53
|
"test/acl_test.rb",
|
43
|
-
"test/
|
44
|
-
"test/request_get_test.rb",
|
54
|
+
"test/core_test.rb",
|
45
55
|
"test/response_test.rb",
|
46
56
|
"test/test_helper.rb",
|
47
57
|
]
|
48
|
-
s.extra_rdoc_files = [
|
49
|
-
"README.ja",
|
50
|
-
]
|
58
|
+
s.extra_rdoc_files = []
|
51
59
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nayutaya-webhook-dispatcher
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yuya Kato
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-07-02 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
@@ -19,22 +19,33 @@ executables: []
|
|
19
19
|
|
20
20
|
extensions: []
|
21
21
|
|
22
|
-
extra_rdoc_files:
|
23
|
-
|
22
|
+
extra_rdoc_files: []
|
23
|
+
|
24
24
|
files:
|
25
|
+
- README.ja
|
26
|
+
- Rakefile
|
25
27
|
- example.rb
|
28
|
+
- lib/webhook-dispatcher.rb
|
26
29
|
- lib/webhook-dispatcher/acl.rb
|
30
|
+
- lib/webhook-dispatcher/acl/allow_entry.rb
|
31
|
+
- lib/webhook-dispatcher/acl/deny_entry.rb
|
32
|
+
- lib/webhook-dispatcher/acl/entry_base.rb
|
27
33
|
- lib/webhook-dispatcher/core.rb
|
28
34
|
- lib/webhook-dispatcher/request/base.rb
|
29
35
|
- lib/webhook-dispatcher/request/get.rb
|
36
|
+
- lib/webhook-dispatcher/request/head.rb
|
37
|
+
- lib/webhook-dispatcher/request/post.rb
|
30
38
|
- lib/webhook-dispatcher/response.rb
|
31
39
|
- lib/webhook-dispatcher/version.rb
|
32
|
-
-
|
33
|
-
-
|
34
|
-
-
|
40
|
+
- test/acl/allow_entry_test.rb
|
41
|
+
- test/acl/deny_entry_test.rb
|
42
|
+
- test/acl/entry_base_test.rb
|
35
43
|
- test/acl_test.rb
|
36
|
-
- test/
|
37
|
-
- test/
|
44
|
+
- test/core_test.rb
|
45
|
+
- test/request/base_test.rb
|
46
|
+
- test/request/get_test.rb
|
47
|
+
- test/request/head_test.rb
|
48
|
+
- test/request/post_test.rb
|
38
49
|
- test/response_test.rb
|
39
50
|
- test/test_helper.rb
|
40
51
|
- webhook-dispatcher.gemspec
|
@@ -67,7 +78,6 @@ specification_version: 2
|
|
67
78
|
summary: webhook-dispatcher
|
68
79
|
test_files:
|
69
80
|
- test/acl_test.rb
|
70
|
-
- test/
|
71
|
-
- test/request_get_test.rb
|
81
|
+
- test/core_test.rb
|
72
82
|
- test/response_test.rb
|
73
83
|
- test/test_helper.rb
|