<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>test/schema.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,3 +1,4 @@
 cached-models-*.gem
 cached-models-*.tar.gz
 cached-models-*.tar.bz2
+test/*.log
\ No newline at end of file</diff>
      <filename>.gitignore</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,5 @@
+* Make test suite work with Rails 2.3.0
+
 * has_and_belongs_to_many association support
 
 * Fix memory leak issue in cached_associations</diff>
      <filename>CHANGELOG</filename>
    </modified>
    <modified>
      <diff>@@ -1,108 +1,16 @@
 # RAILS_ENV = &quot;test&quot;
-
-require 'rubygems'
-require 'active_record'
-require 'active_record/fixtures'
-
-path_to_fixtures = File.dirname(__FILE__) + '/../test/fixtures'
-fixtures = %w( addresses authors blogs posts categories categories_posts comments tags )
-
 desc 'Run default task (test)'
 task :cached_models =&gt; 'cached_models:test'
 
 namespace :cached_models do
-  desc 'Reset the CachedModels data'
-  task :reset =&gt; [ :teardown, :setup ]
-
   desc 'Create CachedModels test database tables and load fixtures'
-  task :setup =&gt; [ :create_tables, :load_fixtures ]
-
-  desc 'Remove all CachedModels data'
-  task :teardown =&gt; :drop_tables
-
-  desc 'Create CachedModels test database tables'
-  task :create_tables =&gt; :environment do
-    ActiveRecord::Schema.define do
-      create_table :addresses, :force =&gt; true do |t|
-        t.integer :author_id
-        t.string :street
-        t.string :zip
-        t.string :city
-        t.string :state
-        t.string :country
-
-        t.timestamps
-      end
-
-      create_table :authors, :force =&gt; true do |t|
-        t.integer :blog_id
-        t.string  :first_name
-        t.string  :last_name
-        t.integer :age
-
-        t.timestamps
-      end
-      
-      create_table :blogs, :force =&gt; true do |t|
-        t.string :title
-
-        t.timestamps
-      end
-      
-      create_table :posts, :force =&gt; true do |t|
-        t.integer :author_id
-        t.integer :blog_id
-        t.string :title
-        t.text :text
-        t.datetime :published_at
-        t.integer :rating, :default =&gt; 0
-
-        t.timestamps
-      end
-      
-      create_table :categories, :force =&gt; true do |t|
-        t.string :name
-
-        t.timestamps
-      end
-
-      create_table :categories_posts, :force =&gt; true, :id =&gt; false do |t|
-        t.integer :category_id
-        t.integer :post_id
-      end
-
-      create_table :comments, :force =&gt; true do |t|
-        t.integer :post_id
-        t.string :email
-        t.text :text
-
-        t.timestamps
-      end
-
-      create_table :tags, :force =&gt; true do |t|
-        t.integer :taggable_id
-        t.string :taggable_type
-        t.string :name
-
-        t.timestamps
-      end
-    end
-  end
-
-  desc 'Drops CachedModels test database tables'
-  task :drop_tables =&gt; :environment do
-    ActiveRecord::Base.connection.drop_table :addresses
-    ActiveRecord::Base.connection.drop_table :authors
-    ActiveRecord::Base.connection.drop_table :posts
-    ActiveRecord::Base.connection.drop_table :comments
-    ActiveRecord::Base.connection.drop_table :tags
-    ActiveRecord::Base.connection.drop_table :categories
-    ActiveRecord::Base.connection.drop_table :categories_posts
-  end
+  task :setup =&gt; [ ]
 
-  desc 'Load fixtures'
-  task :load_fixtures =&gt; :environment do
-    fixtures.each { |f| Fixtures.create_fixtures(path_to_fixtures, f) }
+  desc 'Prepare the environment'
+  task :environment do
+    ActiveRecord::Base.configurations['test'] = { :adapter =&gt; 'sqlite3', :file =&gt; ':memory:' }
+    ENV['SCHEMA'] = File.expand_path(File.join(File.dirname(__FILE__), '..', 'test', 'schema.rb'))
+    ENV['FIXTURES_PATH'] = File.expand_path(File.join(File.dirname(__FILE__), '..', 'test', 'fixtures'))
   end
 
   desc 'Test CachedModels'</diff>
      <filename>tasks/cached_models_tasks.rake</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,10 @@
 require File.dirname(__FILE__) + '/../../test_helper'
 
-class HasAndBelongsToManyAssociationTest &lt; Test::Unit::TestCase
+class HasAndBelongsToManyAssociationTest &lt; ActiveSupport::TestCase
   include ActiveRecord::Associations
   
   def setup
+    load_schema
     cache.clear rescue nil
   end
 </diff>
      <filename>test/active_record/associations/has_and_belongs_to_many_association_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,11 @@
 require File.dirname(__FILE__) + '/../../test_helper'
 require 'active_record/associations/has_many_association'
 
-class HasManyAssociationTest &lt; Test::Unit::TestCase
+class HasManyAssociationTest &lt; ActiveSupport::TestCase
   include ActiveRecord::Associations
   
   def setup
+    load_schema
     cache.clear rescue nil
   end
 </diff>
      <filename>test/active_record/associations/has_many_association_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 require File.dirname(__FILE__) + '/../../test_helper'
 
-class HasOneAssociationTest &lt; Test::Unit::TestCase
+class HasOneAssociationTest &lt; ActiveSupport::TestCase
   include ActiveRecord::Associations
 
   def test_should_not_raise_exception_when_use_has_one</diff>
      <filename>test/active_record/associations/has_one_association_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 require File.dirname(__FILE__) + '/../test_helper'
 
-class BaseTest &lt; Test::Unit::TestCase
+class BaseTest &lt; ActiveSupport::TestCase
   fixtures :authors
 
   def test_should_have_cache</diff>
      <filename>test/active_record/base_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,29 +1,30 @@
-RAILS_ENV = &quot;test&quot; unless defined? RAILS_ENV
+ENV['RAILS_ENV'] = 'test'
+ENV['RAILS_ROOT'] ||= File.dirname(__FILE__) + '/../../../..'
 
 require 'test/unit'
-require 'rubygems'
-
-# FIXME load path
-require File.dirname(__FILE__) + '/../../../../config/environment'
-
-require 'active_support'
-require 'action_controller'
-require 'active_support/test_case'
+require File.expand_path(File.join(ENV['RAILS_ROOT'], 'config/environment.rb'))
 require 'active_record/fixtures'
-require 'action_controller/integration'
 
 $:.unshift File.dirname(__FILE__) + '/models'
 require 'author'
 require 'post'
 
-Test::Unit::TestCase.fixture_path = File.dirname(__FILE__) + &quot;/fixtures&quot;
-ActionController::IntegrationTest.fixture_path = Test::Unit::TestCase.fixture_path
 silence_warnings do
   cache = ActiveSupport::Cache.lookup_store :mem_cache_store
   Object.const_set &quot;RAILS_CACHE&quot;, cache
   ActiveRecord::Base.rails_cache = cache
 end
 
+def load_schema
+  ActiveRecord::Base.logger = Logger.new(File.dirname(__FILE__) + &quot;/debug.log&quot;)
+  ActiveRecord::Schema.verbose = false
+
+  ActiveRecord::Base.establish_connection :adapter =&gt; 'sqlite3', :dbfile =&gt; ':memory:'
+  load(File.dirname(__FILE__) + &quot;/schema.rb&quot;)
+  fixtures = %w( addresses authors blogs posts categories categories_posts comments tags )
+  fixtures.each { |f| Fixtures.create_fixtures(ActiveSupport::TestCase.fixture_path, f) }
+end
+
 begin
   require 'memcache'
   MemCache.new('localhost').stats
@@ -53,11 +54,18 @@ module ActiveRecord
   end
 end
 
-class Test::Unit::TestCase
+class ActiveSupport::TestCase
+  include ActiveRecord::TestFixtures
+
+  self.fixture_path = File.expand_path(File.join(File.dirname(__FILE__), 'fixtures'))
   self.use_transactional_fixtures = true
   self.use_instantiated_fixtures  = false
   fixtures :all
   
+  def setup
+    load_schema
+  end
+  
   # Assert the given condition is false
   def assert_false(condition, message = nil)
     assert !condition, message
@@ -80,9 +88,11 @@ class Test::Unit::TestCase
         :title =&gt; &quot;Cached models review&quot;,
         :text =&gt; &quot;Cached models review..&quot;,
         :published_at =&gt; 1.week.ago }.merge(options)
-    end
+    end    
 end
 
+ActionController::IntegrationTest.fixture_path = ActiveSupport::TestCase.fixture_path
+
 def uses_mocha(description)
   require 'rubygems'
   require 'mocha'</diff>
      <filename>test/test_helper.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>d6281f451a7a20035b5134b2e53f97d98b5b0f41</id>
    </parent>
  </parents>
  <author>
    <name>Luca Guidi</name>
    <email>guidi.luca@gmail.com</email>
  </author>
  <url>http://github.com/jodosha/cached-models/commit/939ad71910b6ac6ac6c557583b745613ab83821b</url>
  <id>939ad71910b6ac6ac6c557583b745613ab83821b</id>
  <committed-date>2009-02-16T07:49:02-08:00</committed-date>
  <authored-date>2009-02-16T07:49:02-08:00</authored-date>
  <message>Make test suite work with Rails 2.3.0</message>
  <tree>13cdcc730bfd2c92b43d8e6783d40887489898d1</tree>
  <committer>
    <name>Luca Guidi</name>
    <email>guidi.luca@gmail.com</email>
  </committer>
</commit>
