typingpool 0.8.13 → 0.8.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/tp-finish +68 -4
- data/bin/tp-review +2 -16
- data/lib/typingpool/amazon/hit.rb +15 -24
- data/lib/typingpool/app/cli/formatter.rb +25 -0
- data/lib/typingpool/app.rb +17 -17
- data/lib/typingpool/test/fixtures/test_amazon_hit_full_time.txt +1 -1
- data/lib/typingpool/test/fixtures/tp_finish_4_id.txt +1 -0
- data/lib/typingpool/test/fixtures/tp_finish_4_sandbox-assignment.csv +7 -0
- data/lib/typingpool/test/fixtures/vcr/test_amazon_hit_base.yml +59 -22
- data/lib/typingpool/test/fixtures/vcr/test_amazon_hit_create.yml +28 -28
- data/lib/typingpool/test/fixtures/vcr/test_amazon_hit_full.yml +21 -21
- data/lib/typingpool/test/fixtures/vcr/test_amazon_hit_full_fromsearchhits.yml +40 -40
- data/lib/typingpool/test/fixtures/vcr/test_amazon_hit_retrievers.yml +61 -61
- data/lib/typingpool/test/fixtures/vcr/test_handles_hits_with_broken_external_question.yml +31 -31
- data/lib/typingpool/test/fixtures/vcr/tp_finish_10.yml +3316 -0
- data/lib/typingpool/test/fixtures/vcr/tp_finish_9.yml +416 -0
- data/lib/typingpool/utility/test/script.rb +52 -13
- data/lib/typingpool/utility/test.rb +3 -3
- data/lib/typingpool/version.rb +1 -1
- data/test/make_tp_finish_fixture_1.rb +27 -0
- data/test/make_tp_finish_fixture_2.rb +25 -0
- data/test/make_tp_finish_fixture_3.rb +26 -0
- data/test/test_integration_script_6_tp_finish.rb +50 -15
- data/test/test_unit_amazon.rb +1 -1
- metadata +9 -2
|
@@ -58,21 +58,6 @@ class TestTpFinish < Typingpool::Test::Script
|
|
|
58
58
|
end #with_temp_readymade_project do |dir|
|
|
59
59
|
end
|
|
60
60
|
|
|
61
|
-
def script_with_vcr(dir, fixture_name, config_path=config_path(dir))
|
|
62
|
-
yield([dir, config_path, project_default[:title], *vcr_args(fixture_name)])
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
def tp_finish_with_vcr(*args)
|
|
66
|
-
script_with_vcr(*args){|new_args| tp_finish(*new_args) }
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
def tp_finish_outside_sandbox_with_vcr(*args)
|
|
70
|
-
script_with_vcr(*args){|new_args| tp_finish_outside_sandbox(*new_args) }
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
def tp_finish_inside_sandbox_with_vcr(*args)
|
|
74
|
-
script_with_vcr(*args){|new_args| tp_finish_inside_sandbox(*new_args) }
|
|
75
|
-
end
|
|
76
61
|
|
|
77
62
|
def test_tp_finish_on_amazon_hits
|
|
78
63
|
skip_if_no_amazon_credentials('tp-finish Amazon test')
|
|
@@ -153,6 +138,34 @@ class TestTpFinish < Typingpool::Test::Script
|
|
|
153
138
|
end #with_temp_readymade_project do...
|
|
154
139
|
end
|
|
155
140
|
|
|
141
|
+
|
|
142
|
+
def test_tp_finish_warns_on_data_loss
|
|
143
|
+
skip_if_no_amazon_credentials('tp-finish warns on data loss test')
|
|
144
|
+
skip_if_no_s3_credentials('tp-finish wanrs on data loss test')
|
|
145
|
+
with_temp_readymade_project do |transcripts_dir|
|
|
146
|
+
copy_fixtures_to_project_dir('tp_finish_4_', File.join(transcripts_dir, project_default[:title]))
|
|
147
|
+
project = Typingpool::Project.new(project_default[:title], Typingpool::Config.file(config_path(transcripts_dir)))
|
|
148
|
+
begin
|
|
149
|
+
assert(File.exist? File.join(project.local, 'data','sandbox-assignment.csv'))
|
|
150
|
+
assert_equal(6, project.local.file('data','sandbox-assignment.csv').as(:csv).reject{|assignment| assignment['hit_id'].to_s.empty? }.count)
|
|
151
|
+
output = tp_review_with_fixture(transcripts_dir, 'tp_finish_9', %w(a r q), false, project_default[:title])
|
|
152
|
+
assert_equal(0, output[:status].to_i)
|
|
153
|
+
assert_equal(1, project_transcript_count(project, 'sandbox-assignment.csv'))
|
|
154
|
+
assert_equal(1, project_hits_rejected(project, 'sandbox-assignment.csv').count)
|
|
155
|
+
assert_equal(1, project_hits_approved(project, 'sandbox-assignment.csv').count)
|
|
156
|
+
assert_equal(1, project_transcript_count(project, 'sandbox-assignment.csv'))
|
|
157
|
+
out, err = tp_finish_inside_sandbox_with_vcr(transcripts_dir, 'tp_finish_10', config_path(transcripts_dir), false, false, %w(s a))
|
|
158
|
+
assert_match(/not been added/, err)
|
|
159
|
+
assert_match(/unreviewed submission/, err)
|
|
160
|
+
assert_equal(2, project_transcript_count(project, 'old-sandbox-assignment.csv'))
|
|
161
|
+
assert_equal(2, project_hits_approved(project, 'old-sandbox-assignment.csv').count)
|
|
162
|
+
ensure
|
|
163
|
+
restore_project_dir_from_fixtures('tp_finish_4_', File.join(transcripts_dir, project_default[:title]))
|
|
164
|
+
end #begin
|
|
165
|
+
|
|
166
|
+
end #with_temp_readymade_project do...
|
|
167
|
+
end
|
|
168
|
+
|
|
156
169
|
def test_abort_on_config_mismatch
|
|
157
170
|
skip_if_no_s3_credentials('tp-finish abort on config mismatch test')
|
|
158
171
|
with_temp_readymade_project do |dir|
|
|
@@ -172,4 +185,26 @@ class TestTpFinish < Typingpool::Test::Script
|
|
|
172
185
|
end #with_temp_readymade_project do...
|
|
173
186
|
end
|
|
174
187
|
|
|
188
|
+
|
|
189
|
+
def project_hits_rejected(project, csv='sandbox-assignment.csv')
|
|
190
|
+
project.local.file('data', csv).as(:csv).select{|assignment| assignment_rejected?(assignment) }
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
def project_hits_approved(project, csv='sandbox-assignment.csv')
|
|
194
|
+
project.local.file('data', csv).as(:csv).select{|assignment| assignment_approved?(assignment) }
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
def project_hits_pending(project, csv='sandbox-assignment.csv')
|
|
198
|
+
project.local.file('data', csv).as(:csv).reject{|assignment| assignment_approved?(assignment) || assignment_rejected?(assignment)}
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
def assignment_rejected?(assignment)
|
|
202
|
+
assignment['hit_id'].to_s.empty?
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
def assignment_approved?(assignment)
|
|
206
|
+
assignment['transcript'].to_s.match(/\S/)
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
|
|
175
210
|
end #TestTpFinish
|
data/test/test_unit_amazon.rb
CHANGED
|
@@ -84,7 +84,7 @@ class TestAmazon < Typingpool::Test
|
|
|
84
84
|
assert_instance_of(Typingpool::Transcript::Chunk, hit.transcript)
|
|
85
85
|
assert_kind_of(RTurk::Hit, hit.at_amazon)
|
|
86
86
|
assert_instance_of(Typingpool::Amazon::HIT::Full, hit.full)
|
|
87
|
-
assert_instance_of(Typingpool::Amazon::HIT::Assignment
|
|
87
|
+
assert_instance_of(Typingpool::Amazon::HIT::Assignment, hit.assignment)
|
|
88
88
|
end #with_dummy_hit_or_skip
|
|
89
89
|
end
|
|
90
90
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: typingpool
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.8.
|
|
4
|
+
version: 0.8.14
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ryan Tate
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2017-04-
|
|
11
|
+
date: 2017-04-14 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rturk
|
|
@@ -259,6 +259,8 @@ files:
|
|
|
259
259
|
- lib/typingpool/test/fixtures/tp_finish_3_assignment.csv
|
|
260
260
|
- lib/typingpool/test/fixtures/tp_finish_3_id.txt
|
|
261
261
|
- lib/typingpool/test/fixtures/tp_finish_3_time.txt
|
|
262
|
+
- lib/typingpool/test/fixtures/tp_finish_4_id.txt
|
|
263
|
+
- lib/typingpool/test/fixtures/tp_finish_4_sandbox-assignment.csv
|
|
262
264
|
- lib/typingpool/test/fixtures/tp_make_assignment.csv
|
|
263
265
|
- lib/typingpool/test/fixtures/tp_make_id.txt
|
|
264
266
|
- lib/typingpool/test/fixtures/tp_review2a_id.txt
|
|
@@ -301,6 +303,7 @@ files:
|
|
|
301
303
|
- lib/typingpool/test/fixtures/vcr/tp_assign_6.yml
|
|
302
304
|
- lib/typingpool/test/fixtures/vcr/tp_assign_7.yml
|
|
303
305
|
- lib/typingpool/test/fixtures/vcr/tp_finish_1.yml
|
|
306
|
+
- lib/typingpool/test/fixtures/vcr/tp_finish_10.yml
|
|
304
307
|
- lib/typingpool/test/fixtures/vcr/tp_finish_2.yml
|
|
305
308
|
- lib/typingpool/test/fixtures/vcr/tp_finish_3.yml
|
|
306
309
|
- lib/typingpool/test/fixtures/vcr/tp_finish_4.yml
|
|
@@ -308,6 +311,7 @@ files:
|
|
|
308
311
|
- lib/typingpool/test/fixtures/vcr/tp_finish_6.yml
|
|
309
312
|
- lib/typingpool/test/fixtures/vcr/tp_finish_7.yml
|
|
310
313
|
- lib/typingpool/test/fixtures/vcr/tp_finish_8.yml
|
|
314
|
+
- lib/typingpool/test/fixtures/vcr/tp_finish_9.yml
|
|
311
315
|
- lib/typingpool/test/fixtures/vcr/tp_make_1.yml
|
|
312
316
|
- lib/typingpool/test/fixtures/vcr/tp_make_2.yml
|
|
313
317
|
- lib/typingpool/test/script.rb
|
|
@@ -327,6 +331,9 @@ files:
|
|
|
327
331
|
- test/make_tp_collect_fixture_6.rb
|
|
328
332
|
- test/make_tp_collect_fixture_7.rb
|
|
329
333
|
- test/make_tp_collect_fixture_8.rb
|
|
334
|
+
- test/make_tp_finish_fixture_1.rb
|
|
335
|
+
- test/make_tp_finish_fixture_2.rb
|
|
336
|
+
- test/make_tp_finish_fixture_3.rb
|
|
330
337
|
- test/make_tp_review_fixture_1.rb
|
|
331
338
|
- test/make_tp_review_fixture_2.rb
|
|
332
339
|
- test/make_tp_review_fixture_3.rb
|