]> git.openstreetmap.org Git - rails.git/commitdiff
Merge branch 'pull/5020'
authorAnton Khorev <tony29@yandex.ru>
Sun, 28 Jul 2024 15:54:42 +0000 (18:54 +0300)
committerAnton Khorev <tony29@yandex.ru>
Sun, 28 Jul 2024 15:54:42 +0000 (18:54 +0300)
1  2 
test/controllers/api/changeset_comments_controller_test.rb

index d3b171588b71cd8d86a2b753624a7a8dff7c77e0,01d5ecb5d30363492a8a7fbd30c244c6610d063c..f479b24b3cb99b3b9f68921fd772086f69bd4103
@@@ -46,7 -46,7 +46,7 @@@ module Ap
        assert_difference "ChangesetComment.count", 1 do
          assert_no_difference "ActionMailer::Base.deliveries.size" do
            perform_enqueued_jobs do
 -            post changeset_comment_path(:id => private_user_closed_changeset, :text => "This is a comment"), :headers => auth_header
 +            post changeset_comment_path(private_user_closed_changeset, :text => "This is a comment"), :headers => auth_header
            end
          end
        end
@@@ -61,7 -61,7 +61,7 @@@
        assert_difference "ChangesetComment.count", 1 do
          assert_difference "ActionMailer::Base.deliveries.size", 1 do
            perform_enqueued_jobs do
 -            post changeset_comment_path(:id => changeset, :text => "This is a comment"), :headers => auth_header
 +            post changeset_comment_path(changeset, :text => "This is a comment"), :headers => auth_header
            end
          end
        end
@@@ -79,7 -79,7 +79,7 @@@
        assert_difference "ChangesetComment.count", 1 do
          assert_difference "ActionMailer::Base.deliveries.size", 2 do
            perform_enqueued_jobs do
 -            post changeset_comment_path(:id => changeset, :text => "This is a comment"), :headers => auth_header
 +            post changeset_comment_path(changeset, :text => "This is a comment"), :headers => auth_header
            end
          end
        end
      # create comment fail
      def test_create_comment_fail
        # unauthorized
 -      post changeset_comment_path(:id => create(:changeset, :closed), :text => "This is a comment")
 +      post changeset_comment_path(create(:changeset, :closed), :text => "This is a comment")
        assert_response :unauthorized
  
        auth_header = basic_authorization_header create(:user).email, "test"
  
        # bad changeset id
        assert_no_difference "ChangesetComment.count" do
 -        post changeset_comment_path(:id => 999111, :text => "This is a comment"), :headers => auth_header
 +        post changeset_comment_path(999111, :text => "This is a comment"), :headers => auth_header
        end
        assert_response :not_found
  
        # not closed changeset
        assert_no_difference "ChangesetComment.count" do
 -        post changeset_comment_path(:id => create(:changeset), :text => "This is a comment"), :headers => auth_header
 +        post changeset_comment_path(create(:changeset), :text => "This is a comment"), :headers => auth_header
        end
        assert_response :conflict
  
        # no text
        assert_no_difference "ChangesetComment.count" do
 -        post changeset_comment_path(:id => create(:changeset, :closed)), :headers => auth_header
 +        post changeset_comment_path(create(:changeset, :closed)), :headers => auth_header
        end
        assert_response :bad_request
  
        # empty text
        assert_no_difference "ChangesetComment.count" do
 -        post changeset_comment_path(:id => create(:changeset, :closed), :text => ""), :headers => auth_header
 +        post changeset_comment_path(create(:changeset, :closed), :text => ""), :headers => auth_header
        end
        assert_response :bad_request
      end
  
        assert_difference "ChangesetComment.count", Settings.initial_changeset_comments_per_hour do
          1.upto(Settings.initial_changeset_comments_per_hour) do |count|
 -          post changeset_comment_path(:id => changeset, :text => "Comment #{count}"), :headers => auth_header
 +          post changeset_comment_path(changeset, :text => "Comment #{count}"), :headers => auth_header
            assert_response :success
          end
        end
  
        assert_no_difference "ChangesetComment.count" do
 -        post changeset_comment_path(:id => changeset, :text => "One comment too many"), :headers => auth_header
 +        post changeset_comment_path(changeset, :text => "One comment too many"), :headers => auth_header
          assert_response :too_many_requests
        end
      end
  
        assert_difference "ChangesetComment.count", Settings.max_changeset_comments_per_hour do
          1.upto(Settings.max_changeset_comments_per_hour) do |count|
 -          post changeset_comment_path(:id => changeset, :text => "Comment #{count}"), :headers => auth_header
 +          post changeset_comment_path(changeset, :text => "Comment #{count}"), :headers => auth_header
            assert_response :success
          end
        end
  
        assert_no_difference "ChangesetComment.count" do
 -        post changeset_comment_path(:id => changeset, :text => "One comment too many"), :headers => auth_header
 +        post changeset_comment_path(changeset, :text => "One comment too many"), :headers => auth_header
          assert_response :too_many_requests
        end
      end
  
        assert_difference "ChangesetComment.count", Settings.initial_changeset_comments_per_hour / 2 do
          1.upto(Settings.initial_changeset_comments_per_hour / 2) do |count|
 -          post changeset_comment_path(:id => changeset, :text => "Comment #{count}"), :headers => auth_header
 +          post changeset_comment_path(changeset, :text => "Comment #{count}"), :headers => auth_header
            assert_response :success
          end
        end
  
        assert_no_difference "ChangesetComment.count" do
 -        post changeset_comment_path(:id => changeset, :text => "One comment too many"), :headers => auth_header
 +        post changeset_comment_path(changeset, :text => "One comment too many"), :headers => auth_header
          assert_response :too_many_requests
        end
      end
  
        assert_difference "ChangesetComment.count", Settings.moderator_changeset_comments_per_hour do
          1.upto(Settings.moderator_changeset_comments_per_hour) do |count|
 -          post changeset_comment_path(:id => changeset, :text => "Comment #{count}"), :headers => auth_header
 +          post changeset_comment_path(changeset, :text => "Comment #{count}"), :headers => auth_header
            assert_response :success
          end
        end
  
        assert_no_difference "ChangesetComment.count" do
 -        post changeset_comment_path(:id => changeset, :text => "One comment too many"), :headers => auth_header
 +        post changeset_comment_path(changeset, :text => "One comment too many"), :headers => auth_header
          assert_response :too_many_requests
        end
      end
      # But writing oauth tests is hard, and so it's easier to put in a controller test.)
      def test_api_write_and_terms_agreed_via_token
        user = create(:user, :terms_agreed => nil)
-       token = create(:access_token, :user => user, :allow_write_api => true)
+       token = create(:oauth_access_token, :resource_owner_id => user.id, :scopes => %w[write_api])
        changeset = create(:changeset, :closed)
  
        assert_difference "ChangesetComment.count", 0 do
-         signed_post changeset_comment_path(changeset), :params => { :text => "This is a comment" }, :oauth => { :token => token }
 -        post changeset_comment_path(:id => changeset), :params => { :text => "This is a comment" }, :headers => bearer_authorization_header(token.token)
++        post changeset_comment_path(changeset), :params => { :text => "This is a comment" }, :headers => bearer_authorization_header(token.token)
        end
        assert_response :forbidden
  
        user.save!
  
        assert_difference "ChangesetComment.count", 1 do
-         signed_post changeset_comment_path(changeset), :params => { :text => "This is a comment" }, :oauth => { :token => token }
 -        post changeset_comment_path(:id => changeset), :params => { :text => "This is a comment" }, :headers => bearer_authorization_header(token.token)
++        post changeset_comment_path(changeset), :params => { :text => "This is a comment" }, :headers => bearer_authorization_header(token.token)
        end
        assert_response :success
      end
        auth_header = basic_authorization_header user.email, "test"
  
        assert_difference "ChangesetComment.count", 0 do
 -        post changeset_comment_path(:id => changeset, :text => "This is a comment"), :headers => auth_header
 +        post changeset_comment_path(changeset, :text => "This is a comment"), :headers => auth_header
        end
        assert_response :forbidden
  
        user.save!
  
        assert_difference "ChangesetComment.count", 1 do
 -        post changeset_comment_path(:id => changeset, :text => "This is a comment"), :headers => auth_header
 +        post changeset_comment_path(changeset, :text => "This is a comment"), :headers => auth_header
        end
        assert_response :success
      end