1
+ require 'byebug'
1
2
require File . expand_path ( File . dirname ( __FILE__ ) + '/../spec_helper' )
2
3
3
4
describe Pardot ::Http do
4
-
5
+
5
6
before do
6
7
@client = create_client
7
8
fake_authenticate @client , "my_api_key"
8
9
end
9
-
10
+
10
11
def create_client
11
12
@client = Pardot ::
Client . new "[email protected] " , "foo" , "bar"
12
13
end
13
-
14
+
14
15
describe "get" do
15
-
16
+
16
17
def get object = "foo" , path = "/bar" , params = { }
17
18
@client . get object , path , params
18
19
end
19
-
20
+
20
21
it "should notice errors and raise them as Pardot::ResponseError" do
21
22
fake_get "/api/foo/version/3/bar?format=simple" ,
22
23
%(?xml version="1.0" encoding="UTF-8"?>\n <rsp stat="fail" version="1.0">\n <err code="15">Login failed</err>\n </rsp>\n )
23
-
24
+
24
25
lambda { get } . should raise_error ( Pardot ::ResponseError )
25
26
end
26
-
27
+
27
28
it "should catch and reraise SocketErrors as Pardot::NetError" do
28
- Pardot ::Client . should_receive ( :get ) . and_raise ( SocketError )
29
-
29
+ Pardot ::Client . expect ( :get ) . and_raise ( SocketError )
30
+
30
31
lambda { get } . should raise_error ( Pardot ::NetError )
31
32
end
32
-
33
+
33
34
it "should call handle_expired_api_key when the api key expires" do
34
35
fake_get "/api/foo/version/3/bar?format=simple" ,
35
36
%(?xml version="1.0" encoding="UTF-8"?>\n <rsp stat="fail" version="1.0">\n <err code="15">Invalid API key or user key</err>\n </rsp>\n )
36
-
37
- @client . should_receive ( :handle_expired_api_key )
37
+
38
+ @client . expect ( :handle_expired_api_key )
38
39
get
39
40
end
40
-
41
+
41
42
end
42
-
43
+
43
44
describe "post" do
44
-
45
+
45
46
def post object = "foo" , path = "/bar" , params = { }
46
47
@client . post object , path , params
47
48
end
48
-
49
+
49
50
it "should notice errors and raise them as Pardot::ResponseError" do
50
51
fake_post "/api/foo/version/3/bar?format=simple" ,
51
52
%(?xml version="1.0" encoding="UTF-8"?>\n <rsp stat="fail" version="1.0">\n <err code="15">Login failed</err>\n </rsp>\n )
52
-
53
+
53
54
lambda { post } . should raise_error ( Pardot ::ResponseError )
54
55
end
55
-
56
+
56
57
it "should catch and reraise SocketErrors as Pardot::NetError" do
57
- Pardot ::Client . should_receive ( :post ) . and_raise ( SocketError )
58
-
58
+ Pardot ::Client . expect ( :post ) . and_raise ( SocketError )
59
+
59
60
lambda { post } . should raise_error ( Pardot ::NetError )
60
61
end
61
-
62
+
62
63
it "should call handle_expired_api_key when the api key expires" do
63
64
fake_post "/api/foo/version/3/bar?format=simple" ,
64
65
%(?xml version="1.0" encoding="UTF-8"?>\n <rsp stat="fail" version="1.0">\n <err code="15">Invalid API key or user key</err>\n </rsp>\n )
65
-
66
- @client . should_receive ( :handle_expired_api_key )
66
+
67
+ @client . expect ( :handle_expired_api_key )
67
68
post
68
69
end
69
-
70
+
70
71
end
71
72
72
73
describe "getV4" do
73
-
74
+
74
75
def get object = "foo" , path = "/bar" , params = { }
75
76
@client . version = "4"
76
77
@client . get object , path , params
77
78
end
78
-
79
+
79
80
it "should notice errors and raise them as Pardot::ResponseError" do
80
81
fake_get "/api/foo/version/4/bar?format=simple" ,
81
82
%(?xml version="1.0" encoding="UTF-8"?>\n <rsp stat="fail" version="1.0">\n <err code="15">Login failed</err>\n </rsp>\n )
82
-
83
+
83
84
lambda { get } . should raise_error ( Pardot ::ResponseError )
84
85
end
85
-
86
+
86
87
it "should catch and reraise SocketErrors as Pardot::NetError" do
87
- Pardot ::Client . should_receive ( :get ) . and_raise ( SocketError )
88
-
88
+ Pardot ::Client . expect ( :get ) . and_raise ( SocketError )
89
+
89
90
lambda { get } . should raise_error ( Pardot ::NetError )
90
91
end
91
-
92
+
92
93
it "should call handle_expired_api_key when the api key expires" do
93
94
fake_get "/api/foo/version/4/bar?format=simple" ,
94
95
%(?xml version="1.0" encoding="UTF-8"?>\n <rsp stat="fail" version="1.0">\n <err code="15">Invalid API key or user key</err>\n </rsp>\n )
95
-
96
- @client . should_receive ( :handle_expired_api_key )
96
+
97
+ @client . expect ( :handle_expired_api_key )
97
98
get
98
99
end
99
-
100
+
100
101
end
101
-
102
+
102
103
describe "postV4" do
103
-
104
+
104
105
def post object = "foo" , path = "/bar" , params = { }
105
106
@client . version = "4"
106
107
@client . post object , path , params
107
108
end
108
-
109
+
109
110
it "should notice errors and raise them as Pardot::ResponseError" do
110
111
fake_post "/api/foo/version/4/bar?format=simple" ,
111
112
%(?xml version="1.0" encoding="UTF-8"?>\n <rsp stat="fail" version="1.0">\n <err code="15">Login failed</err>\n </rsp>\n )
112
-
113
+
113
114
lambda { post } . should raise_error ( Pardot ::ResponseError )
114
115
end
115
-
116
+
116
117
it "should catch and reraise SocketErrors as Pardot::NetError" do
117
- Pardot ::Client . should_receive ( :post ) . and_raise ( SocketError )
118
-
118
+ Pardot ::Client . expect ( :post ) . and_raise ( SocketError )
119
+
119
120
lambda { post } . should raise_error ( Pardot ::NetError )
120
121
end
121
-
122
+
122
123
it "should call handle_expired_api_key when the api key expires" do
123
124
fake_post "/api/foo/version/4/bar?format=simple" ,
124
125
%(?xml version="1.0" encoding="UTF-8"?>\n <rsp stat="fail" version="1.0">\n <err code="15">Invalid API key or user key</err>\n </rsp>\n )
125
-
126
- @client . should_receive ( :handle_expired_api_key )
126
+
127
+ @client . expect ( :handle_expired_api_key )
127
128
post
128
129
end
129
-
130
+
130
131
end
131
-
132
- end
132
+
133
+ end
0 commit comments