impostor 0.2.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. data/.gemtest +0 -0
  2. data/.gitignore +1 -0
  3. data/.rspec +2 -0
  4. data/.rvmrc +1 -0
  5. data/Gemfile +17 -0
  6. data/Gemfile.lock +47 -0
  7. data/History.txt +8 -0
  8. data/Manifest.txt +87 -55
  9. data/README.txt +11 -11
  10. data/Rakefile +16 -20
  11. data/lib/impostor/auth.rb +103 -0
  12. data/lib/impostor/config.rb +171 -0
  13. data/lib/impostor/errors.rb +67 -0
  14. data/lib/impostor/phpbb2.rb +202 -0
  15. data/lib/impostor/phpbb3.rb +199 -0
  16. data/lib/impostor/post.rb +111 -0
  17. data/lib/impostor/topic.rb +115 -0
  18. data/lib/impostor/wwf79.rb +186 -0
  19. data/lib/impostor/wwf80.rb +190 -0
  20. data/lib/impostor.rb +108 -5
  21. data/spec/auth_spec.rb +148 -0
  22. data/spec/base_spec_helper.rb +12 -0
  23. data/{test/test_helper.rb → spec/caged_net_http.rb} +8 -17
  24. data/spec/config_spec.rb +136 -0
  25. data/spec/fixtures/junk.html +1 -0
  26. data/{test → spec}/fixtures/phpbb2-get-new_topic-form-good-response.html +0 -0
  27. data/{test → spec}/fixtures/phpbb2-get-viewtopic-for-new-topic-good-response.html +11 -11
  28. data/{test → spec}/fixtures/phpbb2-get-viewtopic-for-new-topic-malformed-response.html +0 -0
  29. data/{test → spec}/fixtures/phpbb2-index.html +0 -0
  30. data/{test → spec}/fixtures/phpbb2-logged-in.html +0 -0
  31. data/{test → spec}/fixtures/phpbb2-login.html +0 -0
  32. data/{test → spec}/fixtures/phpbb2-not-logged-in.html +0 -0
  33. data/{test → spec}/fixtures/phpbb2-post-new_topic-good-response.html +0 -0
  34. data/{test → spec}/fixtures/phpbb2-post-reply-good-response.html +0 -0
  35. data/{test → spec}/fixtures/phpbb2-post-reply-throttled-response.html +0 -0
  36. data/{test → spec}/fixtures/phpbb2-too-many-posts.html +0 -0
  37. data/{test → spec}/fixtures/phpbb3-get-new-topic-form-good-response.html +0 -0
  38. data/{test → spec}/fixtures/phpbb3-get-reply-form-good-response.html +0 -0
  39. data/{test → spec}/fixtures/phpbb3-logged-in.html +0 -0
  40. data/{test → spec}/fixtures/phpbb3-login.html +0 -0
  41. data/{test → spec}/fixtures/phpbb3-not-logged-in.html +0 -0
  42. data/{test → spec}/fixtures/phpbb3-post-new_topic-good-response.html +0 -0
  43. data/{test → spec}/fixtures/phpbb3-post-reply-good-response.html +0 -0
  44. data/spec/fixtures/vcr_cassettes/phpbb2-should-be-overlimit-creating-topic.yml +1308 -0
  45. data/spec/fixtures/vcr_cassettes/phpbb2-should-create-topic.yml +923 -0
  46. data/spec/fixtures/vcr_cassettes/phpbb2-should-login.yml +360 -0
  47. data/spec/fixtures/vcr_cassettes/phpbb2-should-not-create-new-topic.yml +497 -0
  48. data/spec/fixtures/vcr_cassettes/phpbb2-should-not-login.yml +287 -0
  49. data/spec/fixtures/vcr_cassettes/phpbb2-should-not-post.yml +497 -0
  50. data/spec/fixtures/vcr_cassettes/phpbb2-should-overlimit-error-post.yml +1140 -0
  51. data/spec/fixtures/vcr_cassettes/phpbb2-should-post.yml +751 -0
  52. data/spec/fixtures/vcr_cassettes/phpbb3-should-be-overlimit-creating-topic.yml +995 -0
  53. data/spec/fixtures/vcr_cassettes/phpbb3-should-create-topic.yml +675 -0
  54. data/spec/fixtures/vcr_cassettes/phpbb3-should-login.yml +245 -0
  55. data/spec/fixtures/vcr_cassettes/phpbb3-should-not-create-new-topic.yml +350 -0
  56. data/spec/fixtures/vcr_cassettes/phpbb3-should-not-login.yml +253 -0
  57. data/spec/fixtures/vcr_cassettes/phpbb3-should-not-post.yml +350 -0
  58. data/spec/fixtures/vcr_cassettes/phpbb3-should-overlimit-error-post.yml +1046 -0
  59. data/spec/fixtures/vcr_cassettes/phpbb3-should-post.yml +605 -0
  60. data/{test → spec}/fixtures/wwf79-forum_posts.html +0 -0
  61. data/{test → spec}/fixtures/wwf79-general-new-topic-error.html +0 -0
  62. data/{test → spec}/fixtures/wwf79-general-posting-error.html +0 -0
  63. data/{test → spec}/fixtures/wwf79-good-post-forum_posts.html +1 -1
  64. data/{test → spec}/fixtures/wwf79-index.html +0 -0
  65. data/{test → spec}/fixtures/wwf79-logged-in.html +0 -0
  66. data/{test → spec}/fixtures/wwf79-login.html +0 -0
  67. data/{test → spec}/fixtures/wwf79-new-topic-forum_posts-response.html +0 -0
  68. data/{test → spec}/fixtures/wwf79-new-topic-post_message_form.html +0 -0
  69. data/{test → spec}/fixtures/wwf79-not-logged-in.html +0 -0
  70. data/{test → spec}/fixtures/wwf79-too-many-posts.html +0 -0
  71. data/{test → spec}/fixtures/wwf79-too-many-topics.html +0 -0
  72. data/{test → spec}/fixtures/wwf80-general-posting-error.html +0 -0
  73. data/{test → spec}/fixtures/wwf80-get-new_topic-form-good-response.html +0 -0
  74. data/{test → spec}/fixtures/wwf80-get-viewtopic-for-new-topic-good-response.html +0 -0
  75. data/{test → spec}/fixtures/wwf80-index.html +0 -0
  76. data/{test → spec}/fixtures/wwf80-logged-in.html +0 -0
  77. data/{test → spec}/fixtures/wwf80-login.html +0 -0
  78. data/{test → spec}/fixtures/wwf80-new_reply_form.html +0 -0
  79. data/{test → spec}/fixtures/wwf80-not-logged-in.html +0 -0
  80. data/{test → spec}/fixtures/wwf80-post-new_topic-good-response.html +1 -1
  81. data/{test → spec}/fixtures/wwf80-post-reply-good-response.html +0 -0
  82. data/{test → spec}/fixtures/wwf80-too-many-posts.html +0 -0
  83. data/spec/impostor_spec_helper.rb +162 -0
  84. data/spec/integration/phpbb2_spec.rb +111 -0
  85. data/spec/integration/phpbb3_spec.rb +109 -0
  86. data/spec/integration_spec_helper.rb +7 -0
  87. data/spec/phpbb2_spec.rb +346 -0
  88. data/spec/phpbb3_spec.rb +332 -0
  89. data/spec/post_spec.rb +134 -0
  90. data/spec/spec_helper.rb +2 -0
  91. data/spec/test_impostor.rb +12 -0
  92. data/spec/topic_spec.rb +143 -0
  93. data/spec/wwf79_spec.rb +342 -0
  94. data/spec/wwf80_spec.rb +339 -0
  95. metadata +156 -87
  96. data/lib/www/impostor/phpbb2.rb +0 -258
  97. data/lib/www/impostor/phpbb3.rb +0 -236
  98. data/lib/www/impostor/wwf79.rb +0 -254
  99. data/lib/www/impostor/wwf80.rb +0 -264
  100. data/lib/www/impostor.rb +0 -269
  101. data/test/test_github.rb +0 -12
  102. data/test/test_www_impostor.rb +0 -165
  103. data/test/test_www_impostor_phpbb2.rb +0 -536
  104. data/test/test_www_impostor_phpbb3.rb +0 -483
  105. data/test/test_www_impostor_wwf79.rb +0 -535
  106. data/test/test_www_impostor_wwf80.rb +0 -535
  107. data/vendor/plugins/impostor/lib/autotest/discover.rb +0 -3
  108. data/vendor/plugins/impostor/lib/autotest/impostor.rb +0 -49
@@ -0,0 +1,339 @@
1
+ require File.join(File.dirname(__FILE__), 'spec_helper')
2
+
3
+ describe "a Web Wiz Forum 8.0 impostor" do
4
+
5
+ describe "authentication routines" do
6
+
7
+ before do
8
+ @auth = wwf80_auth
9
+
10
+ @login_uri = URI.parse("http://example.com/forum/login_user.asp")
11
+
12
+ @login_page = load_fixture_page(
13
+ "wwf80-login.html",
14
+ @auth.config.login_page, 200, @auth.config.agent
15
+ )
16
+
17
+ @logged_in_page = load_fixture_page(
18
+ "wwf80-logged-in.html",
19
+ @auth.config.app_root, 200, @auth.config.agent
20
+ )
21
+
22
+ @not_logged_in_page = load_fixture_page(
23
+ "wwf80-not-logged-in.html",
24
+ @auth.config.app_root, 200, @auth.config.agent
25
+ )
26
+
27
+ @junk_page = load_fixture_page(
28
+ "junk.html", @auth.config.login_page, 200, @auth.config.agent
29
+ )
30
+ end
31
+
32
+ it "should logout only if not logged in" do
33
+ @auth.should_receive(:authenticated?).once.and_return(false)
34
+ @auth.logout.should_not be_true
35
+ end
36
+
37
+ it "should logout" do
38
+ @auth.config.should_receive(:save_topics).once
39
+ @auth.config.should_receive(:save_cookie_jar).once
40
+ @auth.instance_variable_set("@authenticated", true)
41
+
42
+ @auth.logout.should be_true
43
+ @auth.authenticated?.should_not be_true
44
+ end
45
+
46
+ it "should be logged_in? when wwf 8.0 displays the user name" do
47
+ lambda {
48
+ @auth.logged_in?(@logged_in_page).should be_true
49
+ }.should_not raise_error
50
+ end
51
+
52
+ it "should not be logged_in? when wwf 8.0 does not display the user name" do
53
+ lambda {
54
+ @auth.logged_in?(@not_logged_in_page).should_not be_true
55
+ }.should_not raise_error
56
+ end
57
+
58
+ it "should return a page from fetch_login_page" do
59
+ @auth.config.agent.should_receive(:get).with(@login_uri)
60
+
61
+ lambda {
62
+ @auth.fetch_login_page
63
+ }.should_not raise_error
64
+ end
65
+
66
+ it "should handle an error in fetch_login_page" do
67
+ @auth.config.agent.should_receive(:get).with(@login_uri).and_raise(StandardError)
68
+
69
+ lambda {
70
+ @auth.fetch_login_page
71
+ }.should raise_error( Impostor::LoginError )
72
+ end
73
+
74
+ it "should return a login form from get_login_form" do
75
+ lambda {
76
+ @auth.get_login_form(@login_page).name.should == 'frmLogin'
77
+ }.should_not raise_error
78
+ end
79
+
80
+ it "should raise login error when get_login_form receives a bad page" do
81
+ lambda {
82
+ @auth.get_login_form(@junk_page)
83
+ }.should raise_error( Impostor::LoginError )
84
+ end
85
+
86
+ it "should setup login form in set_username_and_password" do
87
+ form = mock "login form"
88
+ form.should_receive(:[]=).with("name", "tester")
89
+ form.should_receive(:[]=).with("password", "password")
90
+ lambda {
91
+ @auth.set_username_and_password(form).should == form
92
+ }.should_not raise_error
93
+ end
94
+
95
+ it "should return a logged in page when posting the login" do
96
+ form = @auth.get_login_form(@login_page)
97
+ @auth.config.agent.should_receive(:submit).with(instance_of(Mechanize::Form), nil, {}).and_return(@logged_in_page)
98
+ lambda {
99
+ @auth.post_login(form).should == @logged_in_page
100
+ }.should_not raise_error
101
+ end
102
+
103
+ it "should raise a login error when posting has an underlying exception" do
104
+ form = @login_page.form('frmLogin')
105
+ @auth.config.agent.should_receive(:submit).with(instance_of(Mechanize::Form), nil, {}).and_raise(StandardError)
106
+ lambda {
107
+ @auth.post_login(form)
108
+ }.should raise_error( Impostor::LoginError )
109
+ end
110
+
111
+ it "should login" do
112
+ @auth.config.agent.should_receive(:get).with(@login_uri).and_return(@login_page)
113
+ @auth.config.agent.should_receive(:submit).with(instance_of(Mechanize::Form), nil, {}).and_return(@logged_in_page)
114
+
115
+ lambda {
116
+ @auth.login.should be_true
117
+ }.should_not raise_error
118
+ end
119
+
120
+ end
121
+
122
+ describe "posting routines" do
123
+
124
+ before do
125
+ @post = wwf80_post
126
+
127
+ @reply_uri = URI.parse("http://example.com/forum/new_reply_form.asp?TID=2")
128
+
129
+ @reply_page = load_fixture_page(
130
+ "wwf80-new_reply_form.html", @reply_uri, 200, @post.config.agent
131
+ )
132
+
133
+ @good_post_page = load_fixture_page(
134
+ "wwf80-post-reply-good-response.html",
135
+ @post.config.app_root, 200, @post.config.agent
136
+ )
137
+
138
+ @junk_page = load_fixture_page(
139
+ "junk.html", @reply_uri, 200, @post.config.agent
140
+ )
141
+
142
+ @error_page = load_fixture_page(
143
+ "wwf80-general-posting-error.html",
144
+ @post.config.app_root, 200, @post.config.agent
145
+ )
146
+ end
147
+
148
+ it "should post a message in the topic of a forum" do
149
+ @post.auth.should_receive(:login_with_raises)
150
+ @post.config.agent.should_receive(:get).with(@reply_uri).and_return(@reply_page)
151
+ @post.config.agent.should_receive(:submit).with(instance_of(Mechanize::Form), nil, {}).and_return(@good_post_page)
152
+
153
+ lambda {
154
+ @post.post(formum=1, topic=2, message="Hello World").should == {
155
+ :forum => 1,
156
+ :topic => 2,
157
+ :post => 101899,
158
+ :message => "Hello World",
159
+ :result => true
160
+ }
161
+ }.should_not raise_error
162
+ end
163
+
164
+ it "should get a reply uri from get_reply_uri(forum, topic)" do
165
+ lambda {
166
+ @post.get_reply_uri(1,2).should == @reply_uri
167
+ }.should_not raise_error
168
+ end
169
+
170
+ it "should get_reply_page(uri)" do
171
+ @post.config.agent.should_receive(:get).with(@reply_uri).and_return(@reply_page)
172
+ lambda {
173
+ @post.get_reply_page(@reply_uri).should == @reply_page
174
+ }.should_not raise_error
175
+ end
176
+
177
+ it "should return reply from with get_post_form(page)" do
178
+ lambda {
179
+ @post.get_post_form(@reply_page).name.should == 'frmMessageForm'
180
+ }.should_not raise_error
181
+ end
182
+
183
+ it "should raise error when page to get_post_form(page) receives a bad page" do
184
+ lambda {
185
+ @post.get_post_form(@junk_page)
186
+ }.should raise_error( Impostor::PostError )
187
+ end
188
+
189
+ it "should set_message(form, message)" do
190
+ form = @post.get_post_form(@reply_page)
191
+ form.should_receive(:message=, "Hello World")
192
+ lambda {
193
+ @post.set_message(form, "Hello World")
194
+ }.should_not raise_error
195
+ end
196
+
197
+ it "should return response page from post_message(form)" do
198
+ form = mock "post form"
199
+ form.should_receive(:submit).and_return @reply_page
200
+ lambda {
201
+ @post.post_message(form).should == @reply_page
202
+ }.should_not raise_error
203
+ end
204
+
205
+ it "should raise post error when post_form fails" do
206
+ form = mock "post form"
207
+ form.should_receive(:submit).and_raise( Impostor::PostError )
208
+ lambda {
209
+ @post.post_message(form)
210
+ }.should raise_error( Impostor::PostError )
211
+ end
212
+
213
+ it "should not raise post error on valid reply get_post_from_result(page)" do
214
+ lambda {
215
+ @post.get_post_from_result(@good_post_page).should be_true
216
+ }.should_not raise_error
217
+ end
218
+
219
+ it "should raise post error on invalid reply get_post_from_result(page)" do
220
+ lambda {
221
+ @post.get_post_from_result(@error_page)
222
+ }.should raise_error( Impostor::PostError )
223
+ end
224
+
225
+ end
226
+
227
+ describe "topic routines" do
228
+
229
+ before do
230
+ @topic = wwf80_topic
231
+
232
+ @new_topic_uri = URI.parse("http://example.com/forum/new_topic_form.asp?FID=1")
233
+ @new_topic_page = load_fixture_page(
234
+ "wwf80-get-new_topic-form-good-response.html",
235
+ @new_topic_uri, 200, @topic.config.agent
236
+ )
237
+
238
+ @new_topic_response_page = load_fixture_page(
239
+ "wwf80-post-new_topic-good-response.html",
240
+ @topic.config.app_root, 200, @topic.config.agent
241
+ )
242
+
243
+ @error_page = load_fixture_page(
244
+ "wwf80-general-posting-error.html",
245
+ @topic.config.app_root, 200, @topic.config.agent
246
+ )
247
+ end
248
+
249
+ it "should return new topic uri when get_new_topic_uri called" do
250
+ lambda {
251
+ @topic.get_new_topic_uri(1, "OMG!", "Hello World").should == @new_topic_uri
252
+ }.should_not raise_error
253
+ end
254
+
255
+ it "should return new topic page when get_new_topic_page called" do
256
+
257
+ @topic.config.agent.should_receive(:get).with(@new_topic_uri).and_return(@new_topic_page)
258
+
259
+ lambda {
260
+ @topic.get_new_topic_page(@new_topic_uri)
261
+ }.should_not raise_error
262
+ end
263
+
264
+ it "should return new topic form when get_new_topic_form called" do
265
+ lambda {
266
+ @topic.get_new_topic_form(@new_topic_page).name.should == 'frmMessageForm'
267
+ }.should_not raise_error
268
+ end
269
+
270
+ it "should raise topic error when get_new_topic_form has error" do
271
+ @new_topic_page.should_receive(:form).with("frmMessageForm").and_return nil
272
+ lambda {
273
+ @topic.get_new_topic_form(@new_topic_page)
274
+ }.should raise_error( Impostor::TopicError )
275
+ end
276
+
277
+ it "should set subject and message on a form when set_subject_and_message called" do
278
+ form = mock "wwf80 topic form"
279
+ form.should_receive(:subject=).with("OMG!")
280
+ form.should_receive(:message=).with("Hello World")
281
+ lambda {
282
+ @topic.set_subject_and_message(form, "OMG!", "Hello World")
283
+ }.should_not raise_error
284
+ end
285
+
286
+ it "should post new topic with form when post_new_topic called" do
287
+ @topic.config.agent.should_receive(:submit).with(instance_of(Mechanize::Form), nil, {}).and_return(@new_topic_response_page)
288
+ new_topic_form = @topic.get_new_topic_form(@new_topic_page)
289
+ lambda {
290
+ @topic.post_new_topic(new_topic_form)
291
+ }.should_not raise_error
292
+ end
293
+
294
+ it "should raise topic error when posting_new_topic has an error" do
295
+ form = mock "a wwf80 form"
296
+ form.should_receive(:submit).and_raise(StandardError)
297
+ lambda {
298
+ @topic.post_new_topic(form)
299
+ }.should raise_error( Impostor::TopicError )
300
+ end
301
+
302
+ it "should not raise topic error on valid reply validate_new_topic_result(page)" do
303
+ lambda {
304
+ @topic.validate_new_topic_result(@new_topic_response_page).should be_true
305
+ }.should_not raise_error
306
+ end
307
+
308
+ it "should raise topic error on invalid reply validate_new_topic_result(page)" do
309
+ lambda {
310
+ @topic.validate_new_topic_result(@error_page)
311
+ }.should raise_error( Impostor::TopicError )
312
+ end
313
+
314
+ it "should return the created topic id from get_topic_from_result" do
315
+ lambda {
316
+ @topic.get_topic_from_result(@new_topic_response_page).should == 2
317
+ }.should_not raise_error
318
+ end
319
+
320
+ it "should create new topic" do
321
+
322
+ @topic.auth.should_receive(:login_with_raises)
323
+ @topic.config.agent.should_receive(:get).with(@new_topic_uri).and_return(@new_topic_page)
324
+ @topic.config.agent.should_receive(:submit).with(instance_of(Mechanize::Form), nil, {}).and_return(@new_topic_response_page)
325
+ @topic.config.should_receive(:add_subject).with(1, 2, "OMG!")
326
+
327
+ lambda {
328
+ @topic.new_topic(formum=1, subject="OMG!", message="Hello World").should == {
329
+ :forum => 1,
330
+ :topic => 2,
331
+ :subject => "OMG!",
332
+ :message => "Hello World",
333
+ :result => true
334
+ }
335
+ }.should_not raise_error
336
+ end
337
+ end
338
+
339
+ end
metadata CHANGED
@@ -1,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: impostor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ hash: 23
5
+ prerelease:
6
+ segments:
7
+ - 1
8
+ - 0
9
+ - 0
10
+ version: 1.0.0
5
11
  platform: ruby
6
12
  authors:
7
13
  - Mike Mondragon
@@ -9,40 +15,68 @@ autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
17
 
12
- date: 2008-09-24 00:00:00 -07:00
18
+ date: 2011-02-27 00:00:00 -08:00
13
19
  default_executable:
14
20
  dependencies:
15
21
  - !ruby/object:Gem::Dependency
16
- name: hpricot
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
22
+ name: nokogiri
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
20
26
  requirements:
21
27
  - - ">="
22
28
  - !ruby/object:Gem::Version
23
- version: 0.5.0
24
- version:
29
+ hash: 15
30
+ segments:
31
+ - 1
32
+ - 4
33
+ - 4
34
+ version: 1.4.4
35
+ type: :runtime
36
+ version_requirements: *id001
25
37
  - !ruby/object:Gem::Dependency
26
38
  name: mechanize
27
- type: :runtime
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
30
42
  requirements:
31
43
  - - ">="
32
44
  - !ruby/object:Gem::Version
33
- version: 0.7.0
34
- version:
45
+ hash: 23
46
+ segments:
47
+ - 1
48
+ - 0
49
+ - 0
50
+ version: 1.0.0
51
+ type: :runtime
52
+ version_requirements: *id002
35
53
  - !ruby/object:Gem::Dependency
36
54
  name: hoe
37
- type: :development
38
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
55
+ prerelease: false
56
+ requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
40
58
  requirements:
41
59
  - - ">="
42
60
  - !ruby/object:Gem::Version
43
- version: 1.7.0
44
- version:
45
- description: "== FEATURES/PROBLEMS: Makes automated posts to the following forum applications: * Web Wiz Forums (WWF) 7.9 * Web Wiz Forums (WWF) 8.0 * PHP Bullitin Board (phpBB) 2.0 (2.0.22) * PHP Bullitin Board (phpBB) 3.0 == SYNOPSIS:"
61
+ hash: 43
62
+ segments:
63
+ - 2
64
+ - 9
65
+ - 0
66
+ version: 2.9.0
67
+ type: :development
68
+ version_requirements: *id003
69
+ description: |-
70
+ imPOSTor posts messages to forums
71
+
72
+ == FEATURES/PROBLEMS:
73
+
74
+ Makes automated posts to the following forum applications:
75
+
76
+ * Web Wiz Forums (WWF) 7.9
77
+ * Web Wiz Forums (WWF) 8.0
78
+ * PHP Bullitin Board (phpBB) 2.2
79
+ * PHP Bullitin Board (phpBB) 3.0
46
80
  email: mikemondragon@gmail.com
47
81
  executables: []
48
82
 
@@ -54,6 +88,10 @@ extra_rdoc_files:
54
88
  - README.txt
55
89
  files:
56
90
  - .gitignore
91
+ - .rspec
92
+ - .rvmrc
93
+ - Gemfile
94
+ - Gemfile.lock
57
95
  - History.txt
58
96
  - Manifest.txt
59
97
  - README.txt
@@ -61,63 +99,94 @@ files:
61
99
  - dev_tools/github.rb
62
100
  - impostor.gemspec
63
101
  - lib/impostor.rb
64
- - lib/www/impostor.rb
65
- - lib/www/impostor/phpbb2.rb
66
- - lib/www/impostor/phpbb3.rb
67
- - lib/www/impostor/wwf79.rb
68
- - lib/www/impostor/wwf80.rb
69
- - test/fixtures/phpbb2-get-new_topic-form-good-response.html
70
- - test/fixtures/phpbb2-get-viewtopic-for-new-topic-good-response.html
71
- - test/fixtures/phpbb2-get-viewtopic-for-new-topic-malformed-response.html
72
- - test/fixtures/phpbb2-index.html
73
- - test/fixtures/phpbb2-logged-in.html
74
- - test/fixtures/phpbb2-login.html
75
- - test/fixtures/phpbb2-not-logged-in.html
76
- - test/fixtures/phpbb2-post-new_topic-good-response.html
77
- - test/fixtures/phpbb2-post-reply-good-response.html
78
- - test/fixtures/phpbb2-post-reply-throttled-response.html
79
- - test/fixtures/phpbb2-too-many-posts.html
80
- - test/fixtures/phpbb3-get-new-topic-form-good-response.html
81
- - test/fixtures/phpbb3-get-reply-form-good-response.html
82
- - test/fixtures/phpbb3-logged-in.html
83
- - test/fixtures/phpbb3-login.html
84
- - test/fixtures/phpbb3-not-logged-in.html
85
- - test/fixtures/phpbb3-post-new_topic-good-response.html
86
- - test/fixtures/phpbb3-post-reply-good-response.html
87
- - test/fixtures/wwf79-forum_posts.html
88
- - test/fixtures/wwf79-general-new-topic-error.html
89
- - test/fixtures/wwf79-general-posting-error.html
90
- - test/fixtures/wwf79-good-post-forum_posts.html
91
- - test/fixtures/wwf79-index.html
92
- - test/fixtures/wwf79-logged-in.html
93
- - test/fixtures/wwf79-login.html
94
- - test/fixtures/wwf79-new-topic-forum_posts-response.html
95
- - test/fixtures/wwf79-new-topic-post_message_form.html
96
- - test/fixtures/wwf79-not-logged-in.html
97
- - test/fixtures/wwf79-too-many-posts.html
98
- - test/fixtures/wwf79-too-many-topics.html
99
- - test/fixtures/wwf80-general-posting-error.html
100
- - test/fixtures/wwf80-get-new_topic-form-good-response.html
101
- - test/fixtures/wwf80-get-viewtopic-for-new-topic-good-response.html
102
- - test/fixtures/wwf80-index.html
103
- - test/fixtures/wwf80-logged-in.html
104
- - test/fixtures/wwf80-login.html
105
- - test/fixtures/wwf80-new_reply_form.html
106
- - test/fixtures/wwf80-not-logged-in.html
107
- - test/fixtures/wwf80-post-new_topic-good-response.html
108
- - test/fixtures/wwf80-post-reply-good-response.html
109
- - test/fixtures/wwf80-too-many-posts.html
110
- - test/test_github.rb
111
- - test/test_helper.rb
112
- - test/test_www_impostor.rb
113
- - test/test_www_impostor_phpbb2.rb
114
- - test/test_www_impostor_phpbb3.rb
115
- - test/test_www_impostor_wwf79.rb
116
- - test/test_www_impostor_wwf80.rb
117
- - vendor/plugins/impostor/lib/autotest/discover.rb
118
- - vendor/plugins/impostor/lib/autotest/impostor.rb
102
+ - lib/impostor/auth.rb
103
+ - lib/impostor/config.rb
104
+ - lib/impostor/errors.rb
105
+ - lib/impostor/phpbb2.rb
106
+ - lib/impostor/phpbb3.rb
107
+ - lib/impostor/post.rb
108
+ - lib/impostor/topic.rb
109
+ - lib/impostor/wwf79.rb
110
+ - lib/impostor/wwf80.rb
111
+ - spec/auth_spec.rb
112
+ - spec/base_spec_helper.rb
113
+ - spec/caged_net_http.rb
114
+ - spec/config_spec.rb
115
+ - spec/fixtures/junk.html
116
+ - spec/fixtures/phpbb2-get-new_topic-form-good-response.html
117
+ - spec/fixtures/phpbb2-get-viewtopic-for-new-topic-good-response.html
118
+ - spec/fixtures/phpbb2-get-viewtopic-for-new-topic-malformed-response.html
119
+ - spec/fixtures/phpbb2-index.html
120
+ - spec/fixtures/phpbb2-logged-in.html
121
+ - spec/fixtures/phpbb2-login.html
122
+ - spec/fixtures/phpbb2-not-logged-in.html
123
+ - spec/fixtures/phpbb2-post-new_topic-good-response.html
124
+ - spec/fixtures/phpbb2-post-reply-good-response.html
125
+ - spec/fixtures/phpbb2-post-reply-throttled-response.html
126
+ - spec/fixtures/phpbb2-too-many-posts.html
127
+ - spec/fixtures/phpbb3-get-new-topic-form-good-response.html
128
+ - spec/fixtures/phpbb3-get-reply-form-good-response.html
129
+ - spec/fixtures/phpbb3-logged-in.html
130
+ - spec/fixtures/phpbb3-login.html
131
+ - spec/fixtures/phpbb3-not-logged-in.html
132
+ - spec/fixtures/phpbb3-post-new_topic-good-response.html
133
+ - spec/fixtures/phpbb3-post-reply-good-response.html
134
+ - spec/fixtures/vcr_cassettes/phpbb2-should-be-overlimit-creating-topic.yml
135
+ - spec/fixtures/vcr_cassettes/phpbb2-should-create-topic.yml
136
+ - spec/fixtures/vcr_cassettes/phpbb2-should-login.yml
137
+ - spec/fixtures/vcr_cassettes/phpbb2-should-not-create-new-topic.yml
138
+ - spec/fixtures/vcr_cassettes/phpbb2-should-not-login.yml
139
+ - spec/fixtures/vcr_cassettes/phpbb2-should-not-post.yml
140
+ - spec/fixtures/vcr_cassettes/phpbb2-should-overlimit-error-post.yml
141
+ - spec/fixtures/vcr_cassettes/phpbb2-should-post.yml
142
+ - spec/fixtures/vcr_cassettes/phpbb3-should-be-overlimit-creating-topic.yml
143
+ - spec/fixtures/vcr_cassettes/phpbb3-should-create-topic.yml
144
+ - spec/fixtures/vcr_cassettes/phpbb3-should-login.yml
145
+ - spec/fixtures/vcr_cassettes/phpbb3-should-not-create-new-topic.yml
146
+ - spec/fixtures/vcr_cassettes/phpbb3-should-not-login.yml
147
+ - spec/fixtures/vcr_cassettes/phpbb3-should-not-post.yml
148
+ - spec/fixtures/vcr_cassettes/phpbb3-should-overlimit-error-post.yml
149
+ - spec/fixtures/vcr_cassettes/phpbb3-should-post.yml
150
+ - spec/fixtures/wwf79-forum_posts.html
151
+ - spec/fixtures/wwf79-general-new-topic-error.html
152
+ - spec/fixtures/wwf79-general-posting-error.html
153
+ - spec/fixtures/wwf79-good-post-forum_posts.html
154
+ - spec/fixtures/wwf79-index.html
155
+ - spec/fixtures/wwf79-logged-in.html
156
+ - spec/fixtures/wwf79-login.html
157
+ - spec/fixtures/wwf79-new-topic-forum_posts-response.html
158
+ - spec/fixtures/wwf79-new-topic-post_message_form.html
159
+ - spec/fixtures/wwf79-not-logged-in.html
160
+ - spec/fixtures/wwf79-too-many-posts.html
161
+ - spec/fixtures/wwf79-too-many-topics.html
162
+ - spec/fixtures/wwf80-general-posting-error.html
163
+ - spec/fixtures/wwf80-get-new_topic-form-good-response.html
164
+ - spec/fixtures/wwf80-get-viewtopic-for-new-topic-good-response.html
165
+ - spec/fixtures/wwf80-index.html
166
+ - spec/fixtures/wwf80-logged-in.html
167
+ - spec/fixtures/wwf80-login.html
168
+ - spec/fixtures/wwf80-new_reply_form.html
169
+ - spec/fixtures/wwf80-not-logged-in.html
170
+ - spec/fixtures/wwf80-post-new_topic-good-response.html
171
+ - spec/fixtures/wwf80-post-reply-good-response.html
172
+ - spec/fixtures/wwf80-too-many-posts.html
173
+ - spec/impostor_spec_helper.rb
174
+ - spec/integration/phpbb2_spec.rb
175
+ - spec/integration/phpbb3_spec.rb
176
+ - spec/integration_spec_helper.rb
177
+ - spec/phpbb2_spec.rb
178
+ - spec/phpbb3_spec.rb
179
+ - spec/post_spec.rb
180
+ - spec/spec_helper.rb
181
+ - spec/test_impostor.rb
182
+ - spec/topic_spec.rb
183
+ - spec/wwf79_spec.rb
184
+ - spec/wwf80_spec.rb
185
+ - .gemtest
119
186
  has_rdoc: true
120
- homepage: " by Mike Mondragon"
187
+ homepage: https://github.com/monde/impostor
188
+ licenses: []
189
+
121
190
  post_install_message:
122
191
  rdoc_options:
123
192
  - --main
@@ -125,29 +194,29 @@ rdoc_options:
125
194
  require_paths:
126
195
  - lib
127
196
  required_ruby_version: !ruby/object:Gem::Requirement
197
+ none: false
128
198
  requirements:
129
199
  - - ">="
130
200
  - !ruby/object:Gem::Version
201
+ hash: 3
202
+ segments:
203
+ - 0
131
204
  version: "0"
132
- version:
133
205
  required_rubygems_version: !ruby/object:Gem::Requirement
206
+ none: false
134
207
  requirements:
135
208
  - - ">="
136
209
  - !ruby/object:Gem::Version
210
+ hash: 3
211
+ segments:
212
+ - 0
137
213
  version: "0"
138
- version:
139
214
  requirements: []
140
215
 
141
216
  rubyforge_project: impostor
142
- rubygems_version: 1.2.0
217
+ rubygems_version: 1.5.0
143
218
  signing_key:
144
- specification_version: 2
219
+ specification_version: 3
145
220
  summary: imPOSTor posts messages to non-RESTful forums and blogs
146
- test_files:
147
- - test/test_www_impostor_phpbb2.rb
148
- - test/test_www_impostor_phpbb3.rb
149
- - test/test_www_impostor_wwf79.rb
150
- - test/test_www_impostor_wwf80.rb
151
- - test/test_github.rb
152
- - test/test_helper.rb
153
- - test/test_www_impostor.rb
221
+ test_files: []
222
+