t 1.3.0 → 1.3.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +27 -27
- data/lib/t/cli.rb +1 -1
- data/lib/t/version.rb +1 -1
- data/spec/cli_spec.rb +443 -981
- data/spec/delete_spec.rb +43 -99
- data/spec/helper.rb +6 -0
- data/spec/list_spec.rb +69 -151
- data/spec/rcfile_spec.rb +66 -66
- data/spec/search_spec.rb +126 -280
- data/spec/set_spec.rb +28 -52
- data/spec/stream_spec.rb +33 -33
- data/spec/utils_spec.rb +21 -21
- metadata +2 -2
data/spec/delete_spec.rb
CHANGED
@@ -21,32 +21,24 @@ describe T::Delete do
|
|
21
21
|
describe "#block" do
|
22
22
|
before do
|
23
23
|
@delete.options = @delete.options.merge("profile" => fixture_path + "/.trc")
|
24
|
-
stub_post("/1.1/blocks/destroy.json").
|
25
|
-
with(:body => {:screen_name => "sferik"}).
|
26
|
-
to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
24
|
+
stub_post("/1.1/blocks/destroy.json").with(:body => {:screen_name => "sferik"}).to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
27
25
|
end
|
28
26
|
it "should request the correct resource" do
|
29
27
|
@delete.block("sferik")
|
30
|
-
a_post("/1.1/blocks/destroy.json").
|
31
|
-
with(:body => {:screen_name => "sferik"}).
|
32
|
-
should have_been_made
|
28
|
+
expect(a_post("/1.1/blocks/destroy.json").with(:body => {:screen_name => "sferik"})).to have_been_made
|
33
29
|
end
|
34
30
|
it "should have the correct output" do
|
35
31
|
@delete.block("sferik")
|
36
|
-
$stdout.string.
|
32
|
+
expect($stdout.string).to match /^@testcli unblocked 1 user\.$/
|
37
33
|
end
|
38
34
|
context "--id" do
|
39
35
|
before do
|
40
36
|
@delete.options = @delete.options.merge("id" => true)
|
41
|
-
stub_post("/1.1/blocks/destroy.json").
|
42
|
-
with(:body => {:user_id => "7505382"}).
|
43
|
-
to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
37
|
+
stub_post("/1.1/blocks/destroy.json").with(:body => {:user_id => "7505382"}).to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
44
38
|
end
|
45
39
|
it "should request the correct resource" do
|
46
40
|
@delete.block("7505382")
|
47
|
-
a_post("/1.1/blocks/destroy.json").
|
48
|
-
with(:body => {:user_id => "7505382"}).
|
49
|
-
should have_been_made
|
41
|
+
expect(a_post("/1.1/blocks/destroy.json").with(:body => {:user_id => "7505382"})).to have_been_made
|
50
42
|
end
|
51
43
|
end
|
52
44
|
end
|
@@ -54,30 +46,22 @@ describe T::Delete do
|
|
54
46
|
describe "#dm" do
|
55
47
|
before do
|
56
48
|
@delete.options = @delete.options.merge("profile" => fixture_path + "/.trc")
|
57
|
-
stub_get("/1.1/direct_messages/show.json").
|
58
|
-
|
59
|
-
to_return(:body => fixture("direct_message.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
60
|
-
stub_post("/1.1/direct_messages/destroy.json").
|
61
|
-
with(:body => {:id => "1773478249"}).
|
62
|
-
to_return(:body => fixture("direct_message.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
49
|
+
stub_get("/1.1/direct_messages/show.json").with(:query => {:id => "1773478249"}).to_return(:body => fixture("direct_message.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
50
|
+
stub_post("/1.1/direct_messages/destroy.json").with(:body => {:id => "1773478249"}).to_return(:body => fixture("direct_message.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
63
51
|
end
|
64
52
|
it "should request the correct resource" do
|
65
53
|
$stdout.should_receive(:print).with("Are you sure you want to permanently delete the direct message to @pengwynn: \"Creating a fixture for the Twitter gem\"? [y/N] ")
|
66
54
|
$stdin.should_receive(:gets).and_return("yes")
|
67
55
|
@delete.dm("1773478249")
|
68
|
-
a_get("/1.1/direct_messages/show.json").
|
69
|
-
|
70
|
-
should have_been_made
|
71
|
-
a_post("/1.1/direct_messages/destroy.json").
|
72
|
-
with(:body => {:id => "1773478249"}).
|
73
|
-
should have_been_made
|
56
|
+
expect(a_get("/1.1/direct_messages/show.json").with(:query => {:id => "1773478249"})).to have_been_made
|
57
|
+
expect(a_post("/1.1/direct_messages/destroy.json").with(:body => {:id => "1773478249"})).to have_been_made
|
74
58
|
end
|
75
59
|
context "yes" do
|
76
60
|
it "should have the correct output" do
|
77
61
|
$stdout.should_receive(:print).with("Are you sure you want to permanently delete the direct message to @pengwynn: \"Creating a fixture for the Twitter gem\"? [y/N] ")
|
78
62
|
$stdin.should_receive(:gets).and_return("yes")
|
79
63
|
@delete.dm("1773478249")
|
80
|
-
$stdout.string.chomp.
|
64
|
+
expect($stdout.string.chomp).to eq "@testcli deleted the direct message sent to @pengwynn: \"Creating a fixture for the Twitter gem\""
|
81
65
|
end
|
82
66
|
end
|
83
67
|
context "no" do
|
@@ -85,7 +69,7 @@ describe T::Delete do
|
|
85
69
|
$stdout.should_receive(:print).with("Are you sure you want to permanently delete the direct message to @pengwynn: \"Creating a fixture for the Twitter gem\"? [y/N] ")
|
86
70
|
$stdin.should_receive(:gets).and_return("no")
|
87
71
|
@delete.dm("1773478249")
|
88
|
-
$stdout.string.chomp.
|
72
|
+
expect($stdout.string.chomp).to be_empty
|
89
73
|
end
|
90
74
|
end
|
91
75
|
context "--force" do
|
@@ -94,13 +78,11 @@ describe T::Delete do
|
|
94
78
|
end
|
95
79
|
it "should request the correct resource" do
|
96
80
|
@delete.dm("1773478249")
|
97
|
-
a_post("/1.1/direct_messages/destroy.json").
|
98
|
-
with(:body => {:id => "1773478249"}).
|
99
|
-
should have_been_made
|
81
|
+
expect(a_post("/1.1/direct_messages/destroy.json").with(:body => {:id => "1773478249"})).to have_been_made
|
100
82
|
end
|
101
83
|
it "should have the correct output" do
|
102
84
|
@delete.dm("1773478249")
|
103
|
-
$stdout.string.chomp.
|
85
|
+
expect($stdout.string.chomp).to eq "@testcli deleted the direct message sent to @pengwynn: \"Creating a fixture for the Twitter gem\""
|
104
86
|
end
|
105
87
|
end
|
106
88
|
end
|
@@ -108,30 +90,22 @@ describe T::Delete do
|
|
108
90
|
describe "#favorite" do
|
109
91
|
before do
|
110
92
|
@delete.options = @delete.options.merge("profile" => fixture_path + "/.trc")
|
111
|
-
stub_get("/1.1/statuses/show/28439861609.json").
|
112
|
-
|
113
|
-
to_return(:body => fixture("status.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
114
|
-
stub_post("/1.1/favorites/destroy.json").
|
115
|
-
with(:body => {:id => "28439861609"}).
|
116
|
-
to_return(:body => fixture("status.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
93
|
+
stub_get("/1.1/statuses/show/28439861609.json").with(:query => {:include_my_retweet => "false", :trim_user => "true"}).to_return(:body => fixture("status.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
94
|
+
stub_post("/1.1/favorites/destroy.json").with(:body => {:id => "28439861609"}).to_return(:body => fixture("status.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
117
95
|
end
|
118
96
|
it "should request the correct resource" do
|
119
97
|
$stdout.should_receive(:print).with("Are you sure you want to remove @sferik's status: \"The problem with your code is that it's doing exactly what you told it to do.\" from your favorites? [y/N] ")
|
120
98
|
$stdin.should_receive(:gets).and_return("yes")
|
121
99
|
@delete.favorite("28439861609")
|
122
|
-
a_get("/1.1/statuses/show/28439861609.json").
|
123
|
-
|
124
|
-
should have_been_made
|
125
|
-
a_post("/1.1/favorites/destroy.json").
|
126
|
-
with(:body => {:id => "28439861609"}).
|
127
|
-
should have_been_made
|
100
|
+
expect(a_get("/1.1/statuses/show/28439861609.json").with(:query => {:include_my_retweet => "false", :trim_user => "true"})).to have_been_made
|
101
|
+
expect(a_post("/1.1/favorites/destroy.json").with(:body => {:id => "28439861609"})).to have_been_made
|
128
102
|
end
|
129
103
|
context "yes" do
|
130
104
|
it "should have the correct output" do
|
131
105
|
$stdout.should_receive(:print).with("Are you sure you want to remove @sferik's status: \"The problem with your code is that it's doing exactly what you told it to do.\" from your favorites? [y/N] ")
|
132
106
|
$stdin.should_receive(:gets).and_return("yes")
|
133
107
|
@delete.favorite("28439861609")
|
134
|
-
$stdout.string.
|
108
|
+
expect($stdout.string).to match /^@testcli unfavorited @sferik's status: "The problem with your code is that it's doing exactly what you told it to do\."$/
|
135
109
|
end
|
136
110
|
end
|
137
111
|
context "no" do
|
@@ -139,7 +113,7 @@ describe T::Delete do
|
|
139
113
|
$stdout.should_receive(:print).with("Are you sure you want to remove @sferik's status: \"The problem with your code is that it's doing exactly what you told it to do.\" from your favorites? [y/N] ")
|
140
114
|
$stdin.should_receive(:gets).and_return("no")
|
141
115
|
@delete.favorite("28439861609")
|
142
|
-
$stdout.string.chomp.
|
116
|
+
expect($stdout.string.chomp).to be_empty
|
143
117
|
end
|
144
118
|
end
|
145
119
|
context "--force" do
|
@@ -148,13 +122,11 @@ describe T::Delete do
|
|
148
122
|
end
|
149
123
|
it "should request the correct resource" do
|
150
124
|
@delete.favorite("28439861609")
|
151
|
-
a_post("/1.1/favorites/destroy.json").
|
152
|
-
with(:body => {:id => "28439861609"}).
|
153
|
-
should have_been_made
|
125
|
+
expect(a_post("/1.1/favorites/destroy.json").with(:body => {:id => "28439861609"})).to have_been_made
|
154
126
|
end
|
155
127
|
it "should have the correct output" do
|
156
128
|
@delete.favorite("28439861609")
|
157
|
-
$stdout.string.
|
129
|
+
expect($stdout.string).to match /^@testcli unfavorited @sferik's status: "The problem with your code is that it's doing exactly what you told it to do\."$/
|
158
130
|
end
|
159
131
|
end
|
160
132
|
end
|
@@ -162,31 +134,23 @@ describe T::Delete do
|
|
162
134
|
describe "#list" do
|
163
135
|
before do
|
164
136
|
@delete.options = @delete.options.merge("profile" => fixture_path + "/.trc")
|
165
|
-
stub_get("/1.1/account/verify_credentials.json").
|
166
|
-
|
167
|
-
|
168
|
-
with(:query => {:owner_screen_name => "sferik", :slug => 'presidents'}).
|
169
|
-
to_return(:body => fixture("list.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
170
|
-
stub_post("/1.1/lists/destroy.json").
|
171
|
-
with(:body => {:owner_id => "7505382", :list_id => "8863586"}).
|
172
|
-
to_return(:body => fixture("list.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
137
|
+
stub_get("/1.1/account/verify_credentials.json").to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
138
|
+
stub_get("/1.1/lists/show.json").with(:query => {:owner_screen_name => "sferik", :slug => 'presidents'}).to_return(:body => fixture("list.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
139
|
+
stub_post("/1.1/lists/destroy.json").with(:body => {:owner_id => "7505382", :list_id => "8863586"}).to_return(:body => fixture("list.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
173
140
|
end
|
174
141
|
it "should request the correct resource" do
|
175
142
|
$stdout.should_receive(:print).with("Are you sure you want to permanently delete the list \"presidents\"? [y/N] ")
|
176
143
|
$stdin.should_receive(:gets).and_return("yes")
|
177
144
|
@delete.list("presidents")
|
178
|
-
a_get("/1.1/account/verify_credentials.json").
|
179
|
-
|
180
|
-
a_post("/1.1/lists/destroy.json").
|
181
|
-
with(:body => {:owner_id => "7505382", :list_id => "8863586"}).
|
182
|
-
should have_been_made
|
145
|
+
expect(a_get("/1.1/account/verify_credentials.json")).to have_been_made
|
146
|
+
expect(a_post("/1.1/lists/destroy.json").with(:body => {:owner_id => "7505382", :list_id => "8863586"})).to have_been_made
|
183
147
|
end
|
184
148
|
context "yes" do
|
185
149
|
it "should have the correct output" do
|
186
150
|
$stdout.should_receive(:print).with("Are you sure you want to permanently delete the list \"presidents\"? [y/N] ")
|
187
151
|
$stdin.should_receive(:gets).and_return("yes")
|
188
152
|
@delete.list("presidents")
|
189
|
-
$stdout.string.chomp.
|
153
|
+
expect($stdout.string.chomp).to eq "@testcli deleted the list \"presidents\"."
|
190
154
|
end
|
191
155
|
end
|
192
156
|
context "no" do
|
@@ -194,7 +158,7 @@ describe T::Delete do
|
|
194
158
|
$stdout.should_receive(:print).with("Are you sure you want to permanently delete the list \"presidents\"? [y/N] ")
|
195
159
|
$stdin.should_receive(:gets).and_return("no")
|
196
160
|
@delete.list("presidents")
|
197
|
-
$stdout.string.chomp.
|
161
|
+
expect($stdout.string.chomp).to be_empty
|
198
162
|
end
|
199
163
|
end
|
200
164
|
context "--force" do
|
@@ -203,36 +167,26 @@ describe T::Delete do
|
|
203
167
|
end
|
204
168
|
it "should request the correct resource" do
|
205
169
|
@delete.list("presidents")
|
206
|
-
a_get("/1.1/account/verify_credentials.json").
|
207
|
-
|
208
|
-
a_post("/1.1/lists/destroy.json").
|
209
|
-
with(:body => {:owner_id => "7505382", :list_id => "8863586"}).
|
210
|
-
should have_been_made
|
170
|
+
expect(a_get("/1.1/account/verify_credentials.json")).to have_been_made
|
171
|
+
expect(a_post("/1.1/lists/destroy.json").with(:body => {:owner_id => "7505382", :list_id => "8863586"})).to have_been_made
|
211
172
|
end
|
212
173
|
it "should have the correct output" do
|
213
174
|
@delete.list("presidents")
|
214
|
-
$stdout.string.chomp.
|
175
|
+
expect($stdout.string.chomp).to eq "@testcli deleted the list \"presidents\"."
|
215
176
|
end
|
216
177
|
end
|
217
178
|
context "--id" do
|
218
179
|
before do
|
219
180
|
@delete.options = @delete.options.merge("id" => true)
|
220
|
-
stub_get("/1.1/lists/show.json").
|
221
|
-
with(:query => {:owner_screen_name => "sferik", :list_id => "8863586"}).
|
222
|
-
to_return(:body => fixture("list.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
181
|
+
stub_get("/1.1/lists/show.json").with(:query => {:owner_screen_name => "sferik", :list_id => "8863586"}).to_return(:body => fixture("list.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
223
182
|
end
|
224
183
|
it "should request the correct resource" do
|
225
184
|
$stdout.should_receive(:print).with("Are you sure you want to permanently delete the list \"presidents\"? [y/N] ")
|
226
185
|
$stdin.should_receive(:gets).and_return("yes")
|
227
186
|
@delete.list("8863586")
|
228
|
-
a_get("/1.1/lists/show.json").
|
229
|
-
|
230
|
-
|
231
|
-
a_get("/1.1/account/verify_credentials.json").
|
232
|
-
should have_been_made
|
233
|
-
a_post("/1.1/lists/destroy.json").
|
234
|
-
with(:body => {:owner_id => "7505382", :list_id => "8863586"}).
|
235
|
-
should have_been_made
|
187
|
+
expect(a_get("/1.1/lists/show.json").with(:query => {:owner_screen_name => "sferik", :list_id => "8863586"})).to have_been_made
|
188
|
+
expect(a_get("/1.1/account/verify_credentials.json")).to have_been_made
|
189
|
+
expect(a_post("/1.1/lists/destroy.json").with(:body => {:owner_id => "7505382", :list_id => "8863586"})).to have_been_made
|
236
190
|
end
|
237
191
|
end
|
238
192
|
end
|
@@ -240,30 +194,22 @@ describe T::Delete do
|
|
240
194
|
describe "#status" do
|
241
195
|
before do
|
242
196
|
@delete.options = @delete.options.merge("profile" => fixture_path + "/.trc")
|
243
|
-
stub_get("/1.1/statuses/show/26755176471724032.json").
|
244
|
-
|
245
|
-
to_return(:body => fixture("status.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
246
|
-
stub_post("/1.1/statuses/destroy/26755176471724032.json").
|
247
|
-
with(:body => {:trim_user => "true"}).
|
248
|
-
to_return(:body => fixture("status.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
197
|
+
stub_get("/1.1/statuses/show/26755176471724032.json").with(:query => {:include_my_retweet => "false", :trim_user => "true"}).to_return(:body => fixture("status.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
198
|
+
stub_post("/1.1/statuses/destroy/26755176471724032.json").with(:body => {:trim_user => "true"}).to_return(:body => fixture("status.json"), :headers => {:content_type => "application/json; charset=utf-8"})
|
249
199
|
end
|
250
200
|
it "should request the correct resource" do
|
251
201
|
$stdout.should_receive(:print).with("Are you sure you want to permanently delete @sferik's status: \"The problem with your code is that it's doing exactly what you told it to do.\"? [y/N] ")
|
252
202
|
$stdin.should_receive(:gets).and_return("yes")
|
253
203
|
@delete.status("26755176471724032")
|
254
|
-
a_get("/1.1/statuses/show/26755176471724032.json").
|
255
|
-
|
256
|
-
should have_been_made
|
257
|
-
a_post("/1.1/statuses/destroy/26755176471724032.json").
|
258
|
-
with(:body => {:trim_user => "true"}).
|
259
|
-
should have_been_made
|
204
|
+
expect(a_get("/1.1/statuses/show/26755176471724032.json").with(:query => {:include_my_retweet => "false", :trim_user => "true"})).to have_been_made
|
205
|
+
expect(a_post("/1.1/statuses/destroy/26755176471724032.json").with(:body => {:trim_user => "true"})).to have_been_made
|
260
206
|
end
|
261
207
|
context "yes" do
|
262
208
|
it "should have the correct output" do
|
263
209
|
$stdout.should_receive(:print).with("Are you sure you want to permanently delete @sferik's status: \"The problem with your code is that it's doing exactly what you told it to do.\"? [y/N] ")
|
264
210
|
$stdin.should_receive(:gets).and_return("yes")
|
265
211
|
@delete.status("26755176471724032")
|
266
|
-
$stdout.string.chomp.
|
212
|
+
expect($stdout.string.chomp).to eq "@testcli deleted the Tweet: \"The problem with your code is that it's doing exactly what you told it to do.\""
|
267
213
|
end
|
268
214
|
end
|
269
215
|
context "no" do
|
@@ -271,7 +217,7 @@ describe T::Delete do
|
|
271
217
|
$stdout.should_receive(:print).with("Are you sure you want to permanently delete @sferik's status: \"The problem with your code is that it's doing exactly what you told it to do.\"? [y/N] ")
|
272
218
|
$stdin.should_receive(:gets).and_return("no")
|
273
219
|
@delete.status("26755176471724032")
|
274
|
-
$stdout.string.chomp.
|
220
|
+
expect($stdout.string.chomp).to be_empty
|
275
221
|
end
|
276
222
|
end
|
277
223
|
context "--force" do
|
@@ -280,13 +226,11 @@ describe T::Delete do
|
|
280
226
|
end
|
281
227
|
it "should request the correct resource" do
|
282
228
|
@delete.status("26755176471724032")
|
283
|
-
a_post("/1.1/statuses/destroy/26755176471724032.json").
|
284
|
-
with(:body => {:trim_user => "true"}).
|
285
|
-
should have_been_made
|
229
|
+
expect(a_post("/1.1/statuses/destroy/26755176471724032.json").with(:body => {:trim_user => "true"})).to have_been_made
|
286
230
|
end
|
287
231
|
it "should have the correct output" do
|
288
232
|
@delete.status("26755176471724032")
|
289
|
-
$stdout.string.chomp.
|
233
|
+
expect($stdout.string.chomp).to eq "@testcli deleted the Tweet: \"The problem with your code is that it's doing exactly what you told it to do.\""
|
290
234
|
end
|
291
235
|
end
|
292
236
|
end
|
data/spec/helper.rb
CHANGED
@@ -13,6 +13,12 @@ require 'timecop'
|
|
13
13
|
require 'webmock/rspec'
|
14
14
|
require 'json'
|
15
15
|
|
16
|
+
RSpec.configure do |config|
|
17
|
+
config.expect_with :rspec do |c|
|
18
|
+
c.syntax = :expect
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
16
22
|
def a_delete(path, endpoint='https://api.twitter.com')
|
17
23
|
a_request(:delete, endpoint + path)
|
18
24
|
end
|