chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
source "https://rubygems.org"
|
||||
gem 'pg'
|
||||
gem 'test'
|
||||
gem 'sequel'
|
||||
gem 'activerecord'
|
||||
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/ruby
|
||||
|
||||
require 'active_record'
|
||||
|
||||
user = ARGV[0]
|
||||
port = ARGV[1].to_i
|
||||
|
||||
ActiveRecord::Base.establish_connection(
|
||||
adapter: 'postgresql',
|
||||
host: 'localhost',
|
||||
port: port,
|
||||
database: 'postgres',
|
||||
username: user,
|
||||
password: 'password'
|
||||
)
|
||||
ActiveRecord::Base.logger = nil
|
||||
|
||||
conn = ActiveRecord::Base.connection
|
||||
|
||||
# SELECT pk from test_table (set up by bats setup())
|
||||
pk = conn.execute("SELECT pk FROM test_table LIMIT 1").first["pk"].to_i
|
||||
raise "expected pk=1, got #{pk}" unless pk == 1
|
||||
|
||||
# INSERT
|
||||
conn.execute("INSERT INTO test_table VALUES (2)")
|
||||
|
||||
# COUNT
|
||||
count = conn.execute("SELECT COUNT(*) FROM test_table").first["count"].to_i
|
||||
raise "expected count=2, got #{count}" unless count == 2
|
||||
|
||||
# Dolt workflow
|
||||
[
|
||||
"DROP TABLE IF EXISTS test",
|
||||
"CREATE TABLE test (pk int, value int, PRIMARY KEY(pk))",
|
||||
"INSERT INTO test (pk, value) VALUES (0, 0)",
|
||||
"SELECT dolt_add('-A')",
|
||||
"SELECT dolt_commit('-m', 'added table test')",
|
||||
"SELECT dolt_checkout('-b', 'mybranch')",
|
||||
"INSERT INTO test VALUES (1, 1)",
|
||||
"SELECT dolt_commit('-a', '-m', 'updated test')",
|
||||
"SELECT dolt_checkout('main')",
|
||||
"SELECT dolt_merge('mybranch')",
|
||||
].each { |sql| conn.execute(sql) }
|
||||
|
||||
log_count = conn.execute("SELECT COUNT(*) FROM dolt_log").first["count"].to_i
|
||||
raise "expected 4 dolt_log entries, got #{log_count}" unless log_count == 4
|
||||
|
||||
test_count = conn.execute("SELECT COUNT(*) FROM test").first["count"].to_i
|
||||
raise "expected 2 rows in test, got #{test_count}" unless test_count == 2
|
||||
|
||||
ActiveRecord::Base.connection_pool.disconnect!
|
||||
puts "ActiveRecord test passed"
|
||||
@@ -0,0 +1,49 @@
|
||||
#!/usr/bin/ruby
|
||||
|
||||
require 'pg'
|
||||
require 'test/unit'
|
||||
|
||||
extend Test::Unit::Assertions
|
||||
|
||||
user = ARGV[0]
|
||||
port = ARGV[1]
|
||||
db = "postgres"
|
||||
|
||||
queries = [
|
||||
"create table test (pk int, value int, d1 decimal(9, 3), f1 float, c1 char(10), t1 text, primary key(pk))",
|
||||
"select * from test",
|
||||
"insert into test (pk, value, d1, f1, c1, t1) values (0,0,0.0,0.0,'abc','a1')",
|
||||
"select * from test",
|
||||
"select dolt_add('-A');",
|
||||
"select dolt_commit('-m', 'my commit')",
|
||||
"select COUNT(*) FROM dolt.log",
|
||||
"select dolt_checkout('-b', 'mybranch')",
|
||||
"insert into test (pk, value, d1, f1, c1, t1) values (1,1, 123456.789, 420.42,'example','some text')",
|
||||
"select dolt_commit('-a', '-m', 'my commit2')",
|
||||
"select dolt_checkout('main')",
|
||||
"select dolt_merge('mybranch')",
|
||||
"select COUNT(*) FROM dolt.log",
|
||||
]
|
||||
|
||||
# Smoke test the queries to make sure nothing blows up
|
||||
conn = PG::Connection.new(:host => "localhost", :user => user, :dbname => db, :port => port, :password => "password")
|
||||
queries.each do |query|
|
||||
res = conn.query(query)
|
||||
end
|
||||
|
||||
# Then make sure we can read some data back
|
||||
res = conn.query("SELECT * from test where pk = 1;")
|
||||
rowCount = 0
|
||||
res.each do |row|
|
||||
rowCount += 1
|
||||
assert_equal 1, row["pk"].to_i
|
||||
assert_equal 1, row["value"].to_i
|
||||
assert_equal 123456.789, row["d1"].to_f
|
||||
assert_equal 420.42, row["f1"].to_f
|
||||
assert_equal "example ", row["c1"]
|
||||
assert_equal "some text", row["t1"]
|
||||
end
|
||||
assert_equal 1, rowCount
|
||||
|
||||
conn.close()
|
||||
exit(0)
|
||||
@@ -0,0 +1,49 @@
|
||||
#!/usr/bin/ruby
|
||||
|
||||
require 'sequel'
|
||||
|
||||
user = ARGV[0]
|
||||
port = ARGV[1].to_i
|
||||
|
||||
DB = Sequel.connect(
|
||||
adapter: 'postgres',
|
||||
host: 'localhost',
|
||||
port: port,
|
||||
database: 'postgres',
|
||||
user: user,
|
||||
password: 'password'
|
||||
)
|
||||
|
||||
# SELECT pk from test_table (set up by bats setup())
|
||||
pk = DB["SELECT pk FROM test_table LIMIT 1"].first[:pk]
|
||||
raise "expected pk=1, got #{pk}" unless pk == 1
|
||||
|
||||
# INSERT
|
||||
DB.run("INSERT INTO test_table VALUES (2)")
|
||||
|
||||
# COUNT
|
||||
count = DB["SELECT COUNT(*) FROM test_table"].first[:count]
|
||||
raise "expected count=2, got #{count}" unless count == 2
|
||||
|
||||
# Dolt workflow
|
||||
[
|
||||
"DROP TABLE IF EXISTS test",
|
||||
"CREATE TABLE test (pk int, value int, PRIMARY KEY(pk))",
|
||||
"INSERT INTO test (pk, value) VALUES (0, 0)",
|
||||
"SELECT dolt_add('-A')",
|
||||
"SELECT dolt_commit('-m', 'added table test')",
|
||||
"SELECT dolt_checkout('-b', 'mybranch')",
|
||||
"INSERT INTO test VALUES (1, 1)",
|
||||
"SELECT dolt_commit('-a', '-m', 'updated test')",
|
||||
"SELECT dolt_checkout('main')",
|
||||
"SELECT dolt_merge('mybranch')",
|
||||
].each { |sql| DB.run(sql) }
|
||||
|
||||
log_count = DB["SELECT COUNT(*) FROM dolt_log"].first[:count]
|
||||
raise "expected 4 dolt_log entries, got #{log_count}" unless log_count == 4
|
||||
|
||||
test_count = DB["SELECT COUNT(*) FROM test"].first[:count]
|
||||
raise "expected 2 rows in test, got #{test_count}" unless test_count == 2
|
||||
|
||||
DB.disconnect
|
||||
puts "Sequel test passed"
|
||||
Reference in New Issue
Block a user