-
Notifications
You must be signed in to change notification settings - Fork 2
/
request_test.rb
68 lines (57 loc) · 2.09 KB
/
request_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
require 'test_helper'
module RongCloud
class RequestTest < Minitest::Test
include RongCloud::Request
def setup
rong_cloud_configure_with_settings
end
def test_get_uri_path_end_with_json_format
uri = get_uri("users.json")
assert_equal "/users.json", uri.path
assert_equal "api.cn.ronghub.com", uri.host
end
def test_get_uri_path_not_end_with_json_format
uri = get_uri("users")
assert_equal "/users.json", uri.path
assert_equal "api.cn.ronghub.com", uri.host
end
def test_request_with_invalid_app_key
RongCloud::Configuration.app_key = "xxx"
error = assert_raises RongCloud::BadRequest do
request("/user/getToken", {userId: 'user', name: "User"})
end
assert_equal "invalid App-Key.", error.message
assert_equal 1002, error.business_code
end
def test_request_with_invalid_app_secret
RongCloud::Configuration.app_secret = "xxx"
error = assert_raises RongCloud::AuthenticationFailed do
request("/user/getToken", {userId: 'user', name: "User"})
end
assert_equal "签名错误,请检查。", error.message
assert_equal 1004, error.business_code
end
def test_request_with_missing_required_field
error = assert_raises RongCloud::BadRequest do
request("/user/getToken")
end
assert_equal "userId is required.", error.message
assert_equal 1002, error.business_code
end
def test_request_with_valid_params
response = request("/user/getToken", { userId: 'user', name: "User", portraitUri: "uri" })
assert_equal 200, response["code"]
assert_equal "user", response["userId"]
assert response["token"]
end
def test_request_with_timeout_set
original_timeout = RongCloud::Configuration.timeout
RongCloud::Configuration.timeout = 0.001
service = RongCloud::Service.new
assert_raises Net::OpenTimeout do
response = request("/user/getToken", { userId: 'user', name: "User", portraitUri: "uri" })
end
RongCloud::Configuration.timeout = original_timeout
end
end
end