require 'test/unit'
require File.expand_path(File.join(File.dirname(__FILE__), '/testing_app/config/environment.rb'))
class QueryMemcachedTest < Test::Unit::TestCase
def test_extract_table_names
p = "select * from pets"
q = "select * from author_favorites where (author_favorites.author_id = 36) AND (author_favorites.user_id = 11) LIMIT 1"
r = "SELECT * from binary_fields where (binary_fields.place_id = 3)"
s = "select distinct(p.id) from pets p, binary_fields u, binary_fields pu, where pu.user_id = u.id and pu.place_id = p.id and p.id != 3"
t = "select count(*) as count_all from pets inner join binary_fields on pets_id = binary_fields.place_id where (place_id = 3) AND (binary_fields.user_id = 11)"
u = "select * from categories order by created_at DESC limit 10"
v = "SELECT * from pets where id IN (SELECT * from pets where place_id = pets.id)"
w = "SELECT categories.* FROM categories INNER JOIN binary_fields ON binary_fields.id = categories.user_id WHERE ((binary_fields.contact_id = 1))"
assert_equal ['pets'], ActiveRecord::Base.extract_table_names(p)
assert_equal ['author_favorites'], ActiveRecord::Base.extract_table_names(q)
assert_equal ['binary_fields'], ActiveRecord::Base.extract_table_names(r)
assert_equal ['pets', 'binary_fields'], ActiveRecord::Base.extract_table_names(s)
assert_equal ['pets', 'binary_fields'], ActiveRecord::Base.extract_table_names(t)
assert_equal ['categories'], ActiveRecord::Base.extract_table_names(u)
assert_equal ['pets'], ActiveRecord::Base.extract_table_names(v)
assert_equal ['categories', 'binary_fields'], ActiveRecord::Base.extract_table_names(w)
end
end