]> git.openstreetmap.org Git - rails.git/blobdiff - test/functional/changeset_controller_test.rb
Expose relation version to api and fix remaining server status typo in old_relation...
[rails.git] / test / functional / changeset_controller_test.rb
index 7faa5602899cbb49017931d3dcc4e9600efa4f07..932d685bb49fa67041af4f3001cc80a194ea0408 100644 (file)
@@ -4,14 +4,6 @@ require 'changeset_controller'
 class ChangesetControllerTest < ActionController::TestCase
   api_fixtures
 
-  def basic_authorization(user, pass)
-    @request.env["HTTP_AUTHORIZATION"] = "Basic %s" % Base64.encode64("#{user}:#{pass}")
-  end
-
-  def content(c)
-    @request.env["RAW_POST_DATA"] = c.to_s
-  end
-  
   # -----------------------
   # Test simple changeset creation
   # -----------------------
@@ -37,7 +29,7 @@ class ChangesetControllerTest < ActionController::TestCase
       assert_equal Rational(1,24), duration , "initial idle timeout should be an hour (#{cs.created_at} -> #{cs.closed_at})"
     else
       # must be number of seconds...
-      assert_equal 3600.0, duration , "initial idle timeout should be an hour (#{cs.created_at} -> #{cs.closed_at})"
+      assert_equal 3600, duration.round, "initial idle timeout should be an hour (#{cs.created_at} -> #{cs.closed_at})"
     end
   end
   
@@ -48,6 +40,18 @@ class ChangesetControllerTest < ActionController::TestCase
     assert_response :bad_request, "creating a invalid changeset should fail"
   end
 
+  def test_create_invalid_no_content
+    basic_authorization "test@openstreetmap.org", "test"
+    put :create
+    assert_response :bad_request, "creating a changeset with no content should fail"
+  end
+  
+  def test_create_wrong_method
+    basic_authorization "test@openstreetmap.org", "test"
+    get :create
+    assert_response :method_not_allowed
+  end
+    
   ##
   # check that the changeset can be read and returns the correct
   # document structure.
@@ -248,7 +252,9 @@ EOF
       content "<osm><changeset>" +
         "<tag k='created_by' v='osm test suite checking changesets'/>" + 
         "</changeset></osm>"
-      put :create
+      assert_difference('Changeset.count', 1) do
+        put :create
+      end
       assert_response :success
       changeset_id = @response.body.to_i
     end