r888888888
0b8d4105aa
fix tests
2017-04-04 12:39:17 -07:00
evazion
777937591e
Post#give_favorites_to_parent: move hidden favs.
2017-04-03 22:36:20 -05:00
evazion
5db39f308a
tests: fix post approval tests.
2017-04-03 17:18:32 -05:00
evazion
7c8135609b
post_approval_test.rb: tabs to spaces.
2017-04-03 17:18:32 -05:00
evazion
e6328b8d30
post_approval_test.rb: move to test/unit.
2017-04-03 17:18:32 -05:00
evazion
3c89ee3199
tests: add more post/pool version creation tests.
...
Adds the `test_after_commit` gem too because after_commit callbacks
don't fire inside tests in rails <5.0.
2017-04-03 15:03:59 -07:00
evazion
25b2b399cc
saved searches: fix exception when searching for search:adfijoioi.
...
Fixes this exception:
NoMethodError exception raised
undefined method `empty?' for nil:NilClass
app/logical/post_query_builder.rb:113:in `block in add_saved_search_relation'
app/logical/post_query_builder.rb:106:in `each'
app/logical/post_query_builder.rb:106:in `add_saved_search_relation'
app/logical/post_query_builder.rb:237:in `build'
app/models/post.rb:1624:in `tag_match'
app/models/post.rb:1172:in `block in fast_count_search'
config/initializers/active_record_extensions.rb:16:in `with_timeout'
app/models/post.rb:1171:in `fast_count_search'
app/models/post.rb:1162:in `fast_count'
app/logical/post_sets/post.rb:106:in `get_post_count'
app/logical/post_sets/post.rb:122:in `posts'
app/controllers/posts_controller.rb:15:in `index'
caused by this failure in listbooru when you send it an empty array as the list of queries:
Redis::CommandError - ERR wrong number of arguments for 'zunionstore' command:
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/redis-3.3.3/lib/redis/client.rb:121:in `call'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/redis-3.3.3/lib/redis.rb:1932:in `block in zunionstore'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/redis-3.3.3/lib/redis.rb:58:in `block in synchronize'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/redis-3.3.3/lib/redis.rb:58:in `synchronize'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/redis-3.3.3/lib/redis.rb:1931:in `zunionstore'
web/listbooru.rb:85:in `aggregate_searches'
web/listbooru.rb:104:in `block in <main>'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1611:in `call'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1611:in `block incompile!'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:975:in `block (3 levels) in route!'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:994:in `route_eval'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:975:in `block (2 levels) in route!'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1015:in `block inprocess_route'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1013:in `catch'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1013:in `process_route'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:973:in `block in route!'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:972:in `each'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:972:in `route!'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1085:in `block indispatch!'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in `block ininvoke'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in `catch'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in `invoke'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1082:in `dispatch!'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:907:in `block in call!'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in `block ininvoke'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in `catch'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in `invoke'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:907:in `call!'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:895:in `call'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/rack-protection-1.5.3/lib/rack/protection/xss_header.rb:18:in `call'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/rack-protection-1.5.3/lib/rack/protection/path_traversal.rb:16:in `call'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/rack-protection-1.5.3/lib/rack/protection/json_csrf.rb:18:in `call'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/rack-protection-1.5.3/lib/rack/protection/frame_options.rb:31:in `call'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/rack-1.6.5/lib/rack/logger.rb:15:in `call'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/rack-1.6.5/lib/rack/commonlogger.rb:33:in `call'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:219:in `call'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:212:in `call'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/rack-1.6.5/lib/rack/head.rb:13:in `call'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/rack-1.6.5/lib/rack/methodoverride.rb:22:in `call'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/show_exceptions.rb:25:in `call'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:182:in `call'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:2013:in `call'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1487:in `block incall'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1787:in `synchronize'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1487:in `call'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/rack-1.6.5/lib/rack/handler/webrick.rb:88:in `service'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/2.4.0/webrick/httpserver.rb:140:in `service'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/2.4.0/webrick/httpserver.rb:96:in `run'
/home/admin/.rbenv/versions/2.4.1/lib/ruby/2.4.0/webrick/server.rb:290:in `block in start_thread'
2017-04-03 15:03:26 -07:00
evazion
163d338874
post_vote_test.rb: add more voting tests.
2017-03-24 15:43:55 -05:00
evazion
4470828a3d
post_test.rb: add tests for moving favorites.
2017-03-24 15:43:55 -05:00
evazion
a5ecda2f0e
post_test.rb: fix voting tests.
2017-03-24 15:43:55 -05:00
evazion
3dc854c0c8
post_vote.rb: determine vote magnitude from voter, not CurrentUser.
...
Bug: when moving favorites, the parent is given an upvote for each gold+
favoriter, but the magnitude of these upvotes was based on the
CurrentUser, rather than the upvoter. This meant that upvotes for
supervoter favorites weren't given correctly.
To fix this, `magnitude` is changed to use the voting `user` instead of
CurrentUser.
New problem: when setting the score, `score=` calls `magnitude`, but
`user` isn't initialized yet. So we also refactor so that
1. `initialize_attributes` initializes `user` before setting `score`
2. the vote direction is given by `vote`, so it's separate from `score`
3. updating the score on the post happens in a callback instead of
directly in `score=`.
2017-03-24 15:43:55 -05:00
r888888888
022d9ede7f
expose bulk revert interface
2017-03-21 14:40:46 -07:00
r888888888
ecdea34323
revert e7b3fae215
2017-03-17 12:13:27 -07:00
r888888888
e7b3fae215
change daily flag limit to 5/day
2017-03-16 14:32:04 -07:00
r888888888
d9a26975ba
fix tests
2017-03-15 16:08:47 -07:00
r888888888
43f31529d7
fixes #2920 : "Undo" function not working for Post Versions
2017-03-09 11:44:28 -08:00
evazion
02122343c3
dmails: don't default IP addr to 127.0.0.1 in database ( fixes #2908 ).
...
Bug introduced in 1400f64; that commit changed dmails so that
creator_ip_addr defaulted to CurrentUser.ip_addr like this:
after_initialize :initialize_attributes, if: :new_record?
def initialize_attributes
self.from_id ||= CurrentUser.id
self.creator_ip_addr ||= CurrentUser.ip_addr
end
...but creator_ip_addr already defaulted to 127.0.0.1 from the database,
so the ||= assignment didn't work. Remove the database default so we
always default to CurrentUser.ip_addr.
2017-03-01 19:51:48 -06:00
Albert Yi
fd7cddc909
Merge branch 'master' into fix-mention-dmails
2017-02-27 17:00:24 -08:00
Albert Yi
1fa0aabbe0
Merge pull request #2896 from evazion/fix-username-whitespace
...
Disallow unicode whitespace in usernames (#2894 ).
2017-02-27 16:47:44 -08:00
r888888888
398f58684f
Merge branch 'post-archive'
2017-02-27 10:45:13 -08:00
evazion
46280f2227
mentions: include mentioner in subject line.
...
The template looks like this:
Subject:
#{creator_name} mentioned you in a comment on post ##{post_id}
Body:
@#{creator_name} mentioned you in a \"comment\":/posts/#{post_id}#comment-#{id} on post ##{post_id}:
[quote]
#{DText.excerpt(body, "@"+user_name)}
[/quote]
2017-02-25 23:05:44 -06:00
evazion
6e3ddb6ed6
dmails: don't save copies of outgoing dmails sent by DanbooruBot.
...
There's not much sense in saving copies of everything DanbooruBot sends
in DanbooruBot's inbox. They probably won't be checked so it just bloats
the dmails table.
2017-02-25 23:05:44 -06:00
evazion
6966b74e18
Disallow unicode whitespace in usernames ( #2894 ).
2017-02-25 01:51:33 -06:00
evazion
6704e71377
dmails: add tests for automated dmails.
2017-02-23 22:51:17 -06:00
r888888888
6bd03ee4db
fix tests
2017-02-21 15:04:55 -08:00
Albert Yi
5404c1d231
implement postarchive
2017-02-21 13:40:52 -08:00
r888888888
6c9d5e4f9a
remove advertisement code
2017-02-21 13:35:22 -08:00
evazion
f971f927fd
post_test.rb: add tag name validation tests.
2017-02-08 23:31:30 -06:00
r888888888
c01f48f18c
mock pool archive service in post test
2017-02-07 14:14:36 -08:00
Albert Yi
b1c33f2379
Merge pull request #2878 from evazion/fix-test-coverage
...
Improve controller test coverage
2017-02-07 13:45:16 -08:00
r888888888
7a3d1c7d1d
dont download original artstation images if they dont exist
2017-02-07 13:40:19 -08:00
r888888888
39b6601afe
Merge branch 'artstation'
2017-02-06 17:07:57 -08:00
r888888888
7a2f652152
add source strategy for artstation
2017-02-06 17:07:09 -08:00
evazion
35b3398142
post_test.rb: add more metatag search tests.
2017-02-06 18:48:39 -06:00
evazion
cac5eae3c4
tests: add more tags controller/model tests.
2017-02-06 18:48:39 -06:00
evazion
3edd814be5
tests: add iqdb queries controller tests.
2017-02-06 18:48:37 -06:00
r888888888
5c16e9ce48
add download strategy for artstation
2017-02-06 12:03:00 -08:00
r888888888
6bf050c607
add download strategy for artstation
2017-02-06 11:59:27 -08:00
evazion
e8cf417e9c
tests: update gems to latest versions.
...
Also fix a few things that broke under shoulda-matchers 3.1.1.
2017-02-04 22:17:15 -06:00
evazion
9b16c45edc
test_helper.rb: factor out upload test helpers.
2017-02-04 17:18:52 -06:00
evazion
beddc34958
tests: set Delayed::Worker.delay_jobs = false globally.
2017-02-04 17:18:51 -06:00
evazion
cd3b09b10a
tag_alias_correction_test.rb: fix assert_nil deprecation warning.
...
Use assert_nil if expecting nil from /home/danbooru/src/danbooru/test/unit/tag_alias_correction_test.rb:29
in `block (3 levels) in <class:TagAliasCorrectionTest>'. This will fail in MT6.
2017-02-04 17:06:59 -06:00
evazion
9429f54632
alias_and_implication_importer_test.rb: fix test failures.
...
1) Error:
AliasAndImplicationImporterTest#test_: The alias and implication importer given a valid list should process it. :
NoMethodError: undefined method `role' for nil:NilClass
app/models/tag_alias.rb:124:in `rescue in process!'
app/models/tag_alias.rb:135:in `process!'
app/models/tag_alias.rb:93:in `approve!'
app/logical/alias_and_implication_importer.rb:90:in `block (2 levels) in parse'
app/logical/alias_and_implication_importer.rb:82:in `map'
app/logical/alias_and_implication_importer.rb:82:in `block in parse'
app/logical/alias_and_implication_importer.rb:81:in `parse'
app/logical/alias_and_implication_importer.rb:13:in `process!'
test/unit/alias_and_implication_importer_test.rb:24:in `block (4 levels) in <class:AliasAndImplicationImporterTest>'
test/unit/alias_and_implication_importer_test.rb:23:in `block (3 levels) in <class:AliasAndImplicationImporterTest>'
2017-02-04 17:06:59 -06:00
evazion
a327854017
Fix post_update_count increment test.
...
7) Failure:
PostTest#test_: Tagging: A post that has been updated should increment the updater's post_update_count. [/home/danbooru/src/danbooru/test/unit/post_test.rb:1010]:
"CurrentUser.post_update_count" didn't change by 1.
Expected: 1
Actual: 3
2017-02-03 04:04:02 -06:00
evazion
27817cffcf
Fix saved search test.
...
16) Failure:
SavedSearchTest#test_: Fetching the post ids for a search with a name should return a list of ids. [/home/danbooru/src/danbooru/test/unit/saved_search_test.rb:31]:
Expected: [1, 2, 3, 4]
Actual: []
2017-02-03 04:03:44 -06:00
evazion
ace7d0c12d
Fix moving saved searches tests.
...
4) Failure:
TagAliasTest#test_: A tag alias should move saved searches. [/home/danbooru/src/danbooru/test/unit/tag_alias_test.rb:80]:
Expected: "123 bbb 456"
Actual: "123 ... 456"
36) Failure:
Moderator::TagBatchChangeTest#test_: a tag batch change should move saved searches. [/home/danbooru/src/danbooru/test/unit/moderator/tag_batch_change_test.rb:40]:
Expected: "123 456 bbb"
Actual: "123 ... 456"
2017-02-03 04:03:44 -06:00
evazion
72502dbe2f
Fix comment voting tests.
...
2) Error:
CommentTest#test_: A comment created by an unlimited user should not allow duplicate votes. :
ActiveRecord::RecordInvalid: Validation failed: You have already voted for this comment
app/models/comment.rb:142:in `vote!'
test/unit/comment_test.rb:164:in `block (3 levels) in <class:CommentTest>'
3) Error:
CommentTest#test_: A comment created by an unlimited user should not allow upvotes by the creator. :
ActiveRecord::RecordInvalid: Validation failed: You cannot upvote your own comments
app/models/comment.rb:142:in `vote!'
test/unit/comment_test.rb:179:in `block (3 levels) in <class:CommentTest>'
2017-02-03 04:03:44 -06:00
r888888888
f78160827f
remove unused config
2017-01-24 13:13:13 -08:00
evazion
601b439f96
Add order:comment_bumped, order:comment_bumped_asc metatags.
2017-01-21 11:10:40 +00:00
evazion
cf046eecbf
Fix ip addr search tests.
2017-01-12 09:28:52 +00:00