Fixed unit tests and fixture loading for postgres. The foreign keys were playing havoc with the tests when only some fixtures were loaded.

This commit is contained in:
Matt Amos 2009-03-28 20:18:26 +00:00
parent be75a1504f
commit f492a1b709
26 changed files with 79 additions and 77 deletions

View file

@ -240,6 +240,20 @@ EOF
assert_equal false, Node.find(node.id).visible
end
def test_repeated_changeset_create
30.times do
basic_authorization "test@openstreetmap.org", "test"
# create a temporary changeset
content "<osm><changeset>" +
"<tag k='created_by' v='osm test suite checking changesets'/>" +
"</changeset></osm>"
put :create
assert_response :success
changeset_id = @response.body.to_i
end
end
##
# test that deleting stuff in a transaction doesn't bypass the checks
# to ensure that used elements are not deleted.

View file

@ -25,43 +25,52 @@ class Test::Unit::TestCase
# then set this back to true.
self.use_instantiated_fixtures = false
# Load standard fixtures needed to test API methods
def self.api_fixtures
#print "setting up the api_fixtures"
fixtures :users, :changesets, :changeset_tags
fixtures :current_nodes, :nodes
set_fixture_class :current_nodes => Node
set_fixture_class :nodes => OldNode
set_fixture_class :current_nodes => 'Node'
set_fixture_class :nodes => 'OldNode'
fixtures :current_node_tags,:node_tags
set_fixture_class :current_node_tags => NodeTag
set_fixture_class :node_tags => OldNodeTag
set_fixture_class :current_node_tags => 'NodeTag'
set_fixture_class :node_tags => 'OldNodeTag'
fixtures :current_ways, :current_way_nodes, :current_way_tags
set_fixture_class :current_ways => Way
set_fixture_class :current_way_nodes => WayNode
set_fixture_class :current_way_tags => WayTag
fixtures :current_ways
set_fixture_class :current_ways => 'Way'
fixtures :ways, :way_nodes, :way_tags
set_fixture_class :ways => OldWay
set_fixture_class :way_nodes => OldWayNode
set_fixture_class :way_tags => OldWayTag
fixtures :current_way_nodes, :current_way_tags
set_fixture_class :current_way_nodes => 'WayNode'
set_fixture_class :current_way_tags => 'WayTag'
fixtures :current_relations, :current_relation_members, :current_relation_tags
set_fixture_class :current_relations => Relation
set_fixture_class :current_relation_members => RelationMember
set_fixture_class :current_relation_tags => RelationTag
fixtures :ways
set_fixture_class :ways => 'OldWay'
fixtures :relations, :relation_members, :relation_tags
set_fixture_class :relations => OldRelation
set_fixture_class :relation_members => OldRelationMember
set_fixture_class :relation_tags => OldRelationTag
fixtures :way_nodes, :way_tags
set_fixture_class :way_nodes => 'OldWayNode'
set_fixture_class :way_tags => 'OldWayTag'
fixtures :current_relations
set_fixture_class :current_relations => 'Relation'
fixtures :current_relation_members, :current_relation_tags
set_fixture_class :current_relation_members => 'RelationMember'
set_fixture_class :current_relation_tags => 'RelationTag'
fixtures :relations
set_fixture_class :relations => 'OldRelation'
fixtures :relation_members, :relation_tags
set_fixture_class :relation_members => 'OldRelationMember'
set_fixture_class :relation_tags => 'OldRelationTag'
fixtures :gpx_files, :gps_points, :gpx_file_tags
set_fixture_class :gpx_files => Trace
set_fixture_class :gps_points => Tracepoint
set_fixture_class :gpx_file_tags => Tracetag
set_fixture_class :gpx_files => 'Trace'
set_fixture_class :gps_points => 'Tracepoint'
set_fixture_class :gpx_file_tags => 'Tracetag'
end
##

View file

@ -1,7 +1,7 @@
require File.dirname(__FILE__) + '/../test_helper'
class ChangesetTagTest < Test::Unit::TestCase
fixtures :changeset_tags
api_fixtures
def test_changeset_tag_count
assert_equal 1, ChangesetTag.count

View file

@ -1,8 +1,7 @@
require File.dirname(__FILE__) + '/../test_helper'
class ChangesetTest < Test::Unit::TestCase
fixtures :changesets
api_fixtures
def test_changeset_count
assert_equal 6, Changeset.count

View file

@ -1,9 +1,9 @@
require File.dirname(__FILE__) + '/../test_helper'
class DiaryCommentTest < Test::Unit::TestCase
api_fixtures
fixtures :diary_comments
def test_diary_comment_count
assert_equal 1, DiaryComment.count
end

View file

@ -1,9 +1,9 @@
require File.dirname(__FILE__) + '/../test_helper'
class DiaryEntryTest < Test::Unit::TestCase
api_fixtures
fixtures :diary_entries
def test_diary_entry_count
assert_equal 2, DiaryEntry.count
end

View file

@ -1,9 +1,9 @@
require File.dirname(__FILE__) + '/../test_helper'
class FriendTest < Test::Unit::TestCase
api_fixtures
fixtures :friends
def test_friend_count
assert_equal 1, Friend.count
end

View file

@ -1,7 +1,8 @@
require File.dirname(__FILE__) + '/../test_helper'
class MessageTest < Test::Unit::TestCase
fixtures :messages, :users
api_fixtures
fixtures :messages
EURO = "\xe2\x82\xac" #euro symbol

View file

@ -1,9 +1,7 @@
require File.dirname(__FILE__) + '/../test_helper'
class NodeTagTest < Test::Unit::TestCase
fixtures :current_node_tags, :current_nodes
set_fixture_class :current_nodes => Node
set_fixture_class :current_node_tags => NodeTag
api_fixtures
def test_tag_count
assert_equal 6, NodeTag.count

View file

@ -1,12 +1,8 @@
require File.dirname(__FILE__) + '/../test_helper'
class NodeTest < Test::Unit::TestCase
fixtures :changesets, :current_nodes, :users, :current_node_tags, :nodes, :node_tags
set_fixture_class :current_nodes => Node
set_fixture_class :nodes => OldNode
set_fixture_class :node_tags => OldNodeTag
set_fixture_class :current_node_tags => NodeTag
api_fixtures
def test_node_too_far_north
invalid_node_test(:node_too_far_north)
end

View file

@ -1,10 +1,8 @@
require File.dirname(__FILE__) + '/../test_helper'
class OldNodeTest < Test::Unit::TestCase
set_fixture_class :nodes => OldNode
set_fixture_class :node_tags => OldNodeTag
fixtures :users, :nodes, :node_tags
api_fixtures
def test_old_node_tag_count
assert_equal 8, OldNodeTag.count, "Unexpected number of fixtures loaded."
end

View file

@ -1,12 +1,8 @@
require File.dirname(__FILE__) + '/../test_helper'
class OldNodeTest < Test::Unit::TestCase
set_fixture_class :current_nodes => Node
set_fixture_class :nodes => OldNode
set_fixture_class :node_tags => OldNodeTag
set_fixture_class :current_node_tags => NodeTag
fixtures :current_nodes, :users, :current_node_tags, :nodes, :node_tags
api_fixtures
def test_node_too_far_north
invalid_node_test(:node_too_far_north)
end

View file

@ -1,8 +1,7 @@
require File.dirname(__FILE__) + '/../test_helper'
class OldRelationTagTest < Test::Unit::TestCase
fixtures :relation_tags
set_fixture_class :relation_tags => OldRelationTag
api_fixtures
def test_tag_count
assert_equal 3, OldRelationTag.count

View file

@ -1,8 +1,7 @@
require File.dirname(__FILE__) + '/../test_helper'
class WayTagTest < Test::Unit::TestCase
fixtures :way_tags
set_fixture_class :way_tags => OldWayTag
api_fixtures
def test_tag_count
assert_equal 3, OldWayTag.count

View file

@ -1,8 +1,7 @@
require File.dirname(__FILE__) + '/../test_helper'
class RelationMemberTest < Test::Unit::TestCase
fixtures :current_relation_members
set_fixture_class :current_relation_members => RelationMember
api_fixtures
def test_relation_member_count
assert_equal 5, RelationMember.count

View file

@ -1,8 +1,7 @@
require File.dirname(__FILE__) + '/../test_helper'
class RelationTagTest < Test::Unit::TestCase
fixtures :current_relation_tags
set_fixture_class :current_relation_tags => RelationTag
api_fixtures
def test_relation_tag_count
assert_equal 3, RelationTag.count

View file

@ -1,8 +1,7 @@
require File.dirname(__FILE__) + '/../test_helper'
class RelationTest < Test::Unit::TestCase
fixtures :current_relations
set_fixture_class :current_relations => Relation
api_fixtures
def test_relation_count
assert_equal 3, Relation.count

View file

@ -1,8 +1,7 @@
require File.dirname(__FILE__) + '/../test_helper'
class TraceTest < Test::Unit::TestCase
fixtures :gpx_files
set_fixture_class :gpx_files => Trace
api_fixtures
def test_trace_count
assert_equal 1, Trace.count

View file

@ -1,8 +1,7 @@
require File.dirname(__FILE__) + '/../test_helper'
class TracepointTest < Test::Unit::TestCase
fixtures :gps_points
set_fixture_class :gps_points => Tracepoint
api_fixtures
def test_tracepoint_count
assert_equal 1, Tracepoint.count

View file

@ -1,8 +1,7 @@
require File.dirname(__FILE__) + '/../test_helper'
class TracetagTest < Test::Unit::TestCase
fixtures :gpx_file_tags
set_fixture_class :gpx_file_tags => Tracetag
api_fixtures
def test_tracetag_count
assert_equal 1, Tracetag.count

View file

@ -1,7 +1,8 @@
require File.dirname(__FILE__) + '/../test_helper'
class UserPreferenceTest < ActiveSupport::TestCase
fixtures :users, :user_preferences
api_fixtures
fixtures :user_preferences
# This checks to make sure that there are two user preferences
# stored in the test database.

View file

@ -1,8 +1,9 @@
require File.dirname(__FILE__) + '/../test_helper'
class UserTest < Test::Unit::TestCase
fixtures :users
api_fixtures
fixtures :friends
def test_invalid_with_empty_attributes
user = User.new
assert !user.valid?

View file

@ -1,8 +1,9 @@
require File.dirname(__FILE__) + '/../test_helper'
class UserTokenTest < Test::Unit::TestCase
fixtures :users
api_fixtures
fixtures :user_tokens
def test_user_token_count
assert_equal 0, UserToken.count
end

View file

@ -1,9 +1,7 @@
require File.dirname(__FILE__) + '/../test_helper'
class WayNodeTest < Test::Unit::TestCase
fixtures :way_nodes, :current_way_nodes
set_fixture_class :way_nodes=>OldWayNode
set_fixture_class :current_way_nodes=>WayNode
api_fixtures
def test_way_nodes_count
assert_equal 4, WayNode.count

View file

@ -1,8 +1,7 @@
require File.dirname(__FILE__) + '/../test_helper'
class WayTagTest < Test::Unit::TestCase
fixtures :current_way_tags
set_fixture_class :current_way_tags => WayTag
api_fixtures
def test_way_tag_count
assert_equal 3, WayTag.count

View file

@ -3,7 +3,6 @@ require File.dirname(__FILE__) + '/../test_helper'
class WayTest < Test::Unit::TestCase
api_fixtures
# Check that we have the correct number of currnet ways in the db
# This will need to updated whenever the current_ways.yml is updated
def test_db_count