forked from github/github-services
/
icescrum_test.rb
127 lines (103 loc) · 3.06 KB
/
icescrum_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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
require File.expand_path('../helper', __FILE__)
class IceScrumTest < Service::TestCase
def setup
@stubs = Faraday::Adapter::Test::Stubs.new
end
def test_push_valid
@stubs.post "/a/ws/p/TESTPROJ/commit/save" do |env|
assert_equal 'www.kagilum.com', env[:url].host
assert_equal basic_auth(:u, :p), env[:request_headers]['authorization']
body = Rack::Utils.parse_nested_query(env[:body])
recv = JSON.parse(body['payload'])
assert_equal payload, recv
[200, {}, '']
end
svc = service({
'username' => 'u',
'password' => 'p',
'project_key' => 'TESTPROJ'
}, payload)
svc.receive_push
@stubs.verify_stubbed_calls
end
def test_push_valid_custom_url
@stubs.post "/icescrum/ws/p/TESTPROJ/commit/save" do |env|
assert_equal 'www.example.com', env[:url].host
assert_equal basic_auth(:u, :p), env[:request_headers]['authorization']
body = Rack::Utils.parse_nested_query(env[:body])
recv = JSON.parse(body['payload'])
assert_equal payload, recv
[200, {}, '']
end
svc = service({
'username' => 'u',
'password' => 'p',
'project_key' => 'TESTPROJ',
'base_url' => 'http://www.example.com/icescrum'
}, payload)
svc.receive_push
@stubs.verify_stubbed_calls
end
def test_push_lowcase_project_key
@stubs.post "/a/ws/p/TESTPROJ/commit/save" do |env|
assert_equal basic_auth(:u, :p), env[:request_headers]['authorization']
body = Rack::Utils.parse_nested_query(env[:body])
recv = JSON.parse(body['payload'])
assert_equal payload, recv
[200, {}, '']
end
svc = service({
'username' => 'u',
'password' => 'p',
'project_key' => 'testProj'
}, payload)
svc.receive_push
@stubs.verify_stubbed_calls
end
def test_push_whitespace_project_key
@stubs.post "/a/ws/p/TESTPROJ/commit/save" do |env|
assert_equal basic_auth(:u, :p), env[:request_headers]['authorization']
body = Rack::Utils.parse_nested_query(env[:body])
recv = JSON.parse(body['payload'])
assert_equal payload, recv
[200, {}, '']
end
svc = service({
'username' => ' u ',
'password' => ' p ',
'project_key' => ' TEST PROJ '
}, payload)
svc.receive_push
@stubs.verify_stubbed_calls
end
def test_push_missing_username
svc = service({
'password' => 'p',
'project_key' => 'TESTPROJ'
}, payload)
assert_raises Service::ConfigurationError do
svc.receive_push
end
end
def test_push_missing_password
svc = service({
'username' => 'u',
'project_key' => 'TESTPROJ'
}, payload)
assert_raises Service::ConfigurationError do
svc.receive_push
end
end
def test_push_missing_project_key
svc = service({
'username' => 'u',
'password' => 'p',
}, payload)
assert_raises Service::ConfigurationError do
svc.receive_push
end
end
def service(*args)
super Service::IceScrum, *args
end
end