forked from github/github-services
-
Notifications
You must be signed in to change notification settings - Fork 0
/
gemnasium_test.rb
50 lines (40 loc) · 1.37 KB
/
gemnasium_test.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
require File.expand_path("../helper", __FILE__)
class GemnasiumTest < Service::TestCase
def setup
@stubs = Faraday::Adapter::Test::Stubs.new
end
def test_stripped_user
svc = service("user" => " laserlemon ")
assert_equal "laserlemon", svc.user
end
def test_stripped_token
svc = service("token" => " abc ")
assert_equal "abc", svc.token
end
def test_downcased_token
svc = service("token" => "ABC")
assert_equal "abc", svc.token
end
def test_body
svc = service({}, {"pay" => "load"})
assert_equal '{"pay":"load"}', svc.body
end
def test_signature
svc = service({"token" => "abc"}, {"pay" => "load"})
assert_equal "f329edd3feef6b4504c15ee4af6cb65ba28de90ba690001e3a548c5dddf80990", svc.signature
end
def test_push
svc = service({"user" => "laserlemon", "token" => "abc"}, {"pay" => "load"})
@stubs.post "/repositories/hook" do |env|
assert_equal "gemnasium.com", env[:url].host
assert_equal "application/json", env[:request_headers][:content_type]
assert_equal "Basic bGFzZXJsZW1vbjpmMzI5ZWRkM2ZlZWY2YjQ1MDRjMTVlZTRhZjZjYjY1YmEyOGRlOTBiYTY5MDAwMWUzYTU0OGM1ZGRkZjgwOTkw", env[:request_headers][:authorization]
assert_equal '{"pay":"load"}', env[:body]
end
svc.receive_push
end
private
def service(data, payload = payload)
super(Service::Gemnasium, data, payload)
end
end