colly_wyx
2018-06-14 bef2c06923d3ba6727654f734bb93d5a09855dc5
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
require_relative '../phalapi_client'
require 'test/unit'
 
# open class
class PhalApi::Client
    attr_accessor :host, :service, :filter, :parser, :timeoutMs, :params
end
 
class ClientTest < Test::Unit::TestCase
    def setup
        @a_client = PhalApi::Client.create
    end
 
    def test_create
        assert_instance_of PhalApi::Client, @a_client
    end
 
    def test_with_host
        @a_client.withHost('http://demo')
 
        assert_equal 'http://demo', @a_client.host
    end
 
    def test_with_filter
        @a_client.withFilter(PhalApi::ClientFilter.new)
 
        assert_instance_of PhalApi::ClientFilter, @a_client.filter
    end
 
    def test_with_parser
        @a_client.withParser(PhalApi::ClientParserJson.new)
 
        assert_instance_of PhalApi::ClientParserJson, @a_client.parser
    end
 
    def test_with_service
        @a_client.withService('Default.Index')
 
        assert_equal 'Default.Index', @a_client.service
    end
 
    def test_with_timeoutMs
        @a_client.withTimeout(5000)
 
        assert_equal 5000, @a_client.timeoutMs
    end
 
    def test_with_more_params
        @a_client.withParams('username', 'dogstar')
        @a_client.withParams('version', '1.3.0')
        @a_client.withParams('age', 100)
 
        params = @a_client.params
        assert_equal 'dogstar', params['username']
        assert_equal 100, params['age']
    end
 
    def test_with_unexpected_params
        assert_raise (RuntimeError) {
            @a_client.withParams('mess')
        }
    end
 
    def test_reset
        @a_client.withHost('http://demo').withService('User.Move').withParams('id', '10');
 
        @a_client.reset
        assert_equal '', @a_client.service
 
        @a_client.withService('Default.Index').withParams('username', 'dogstar')
        assert_equal 'Default.Index', @a_client.service
 
        params = @a_client.params
        assert_equal 'dogstar', params['username']
        assert_equal nil, params['id']
    end
 
    def test_base_request
        a_response = @a_client.withHost('http://demo.phalapi.net').request
 
        assert_equal 200, a_response.ret
        assert_not_nil a_response.data
    end
 
    def test_normal_request
        a_response = @a_client.withHost('http://demo.phalapi.net').withService('Default.Index').withParams('username', 'dogstar').withParams('v', '1.3.0').request
 
        assert_equal 200, a_response.ret
        assert_not_nil a_response.data
    end
 
    def test_wrong_request
        a_response = @a_client.withHost('http://demo.phalapi.net').withService('XXXX.noThisMethod').request
 
        assert_equal 400, a_response.ret
    end
 
    def test_timeout_request
        a_response = @a_client.withHost('http://xxx.phalapi.net').withService('Default.Index').request
 
        assert_equal 408, a_response.ret
    end
end