1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
|
# encoding: UTF-8
require 'rspec'
require 'mysql2'
require 'timeout'
require 'yaml'
DatabaseCredentials = YAML.load_file('spec/configuration.yml')
RSpec.configure do |config|
config.disable_monkey_patching!
def with_internal_encoding(encoding)
old_enc = Encoding.default_internal
old_verbose = $VERBOSE
$VERBOSE = nil
Encoding.default_internal = encoding
$VERBOSE = old_verbose
yield
ensure
$VERBOSE = nil
Encoding.default_internal = old_enc
$VERBOSE = old_verbose
end
config.before :each do
@client = Mysql2::Client.new DatabaseCredentials['root']
end
config.after :each do
@client.close
end
config.before(:all) do
client = Mysql2::Client.new DatabaseCredentials['root']
client.query %[
CREATE TABLE IF NOT EXISTS mysql2_test (
id MEDIUMINT NOT NULL AUTO_INCREMENT,
null_test VARCHAR(10),
bit_test BIT(64),
single_bit_test BIT(1),
tiny_int_test TINYINT,
bool_cast_test TINYINT(1),
small_int_test SMALLINT,
medium_int_test MEDIUMINT,
int_test INT,
big_int_test BIGINT,
float_test FLOAT(10,3),
float_zero_test FLOAT(10,3),
double_test DOUBLE(10,3),
decimal_test DECIMAL(10,3),
decimal_zero_test DECIMAL(10,3),
date_test DATE,
date_time_test DATETIME,
timestamp_test TIMESTAMP,
time_test TIME,
year_test YEAR(4),
char_test CHAR(10),
varchar_test VARCHAR(10),
binary_test BINARY(10),
varbinary_test VARBINARY(10),
tiny_blob_test TINYBLOB,
tiny_text_test TINYTEXT,
blob_test BLOB,
text_test TEXT,
medium_blob_test MEDIUMBLOB,
medium_text_test MEDIUMTEXT,
long_blob_test LONGBLOB,
long_text_test LONGTEXT,
enum_test ENUM('val1', 'val2'),
set_test SET('val1', 'val2'),
PRIMARY KEY (id)
)
]
client.query "DELETE FROM mysql2_test;"
client.query %[
INSERT INTO mysql2_test (
null_test, bit_test, single_bit_test, tiny_int_test, bool_cast_test, small_int_test, medium_int_test, int_test, big_int_test,
float_test, float_zero_test, double_test, decimal_test, decimal_zero_test, date_test, date_time_test, timestamp_test, time_test,
year_test, char_test, varchar_test, binary_test, varbinary_test, tiny_blob_test,
tiny_text_test, blob_test, text_test, medium_blob_test, medium_text_test,
long_blob_test, long_text_test, enum_test, set_test
)
VALUES (
NULL, b'101', b'1', 1, 1, 10, 10, 10, 10,
10.3, 0, 10.3, 10.3, 0, '2010-4-4', '2010-4-4 11:44:00', '2010-4-4 11:44:00', '11:44:00',
2009, "test", "test", "test", "test", "test",
"test", "test", "test", "test", "test",
"test", "test", 'val1', 'val1,val2'
)
]
end
end
|