test/unit/test_monetdb.rb in monetdb-0.1.3 vs test/unit/test_monetdb.rb in monetdb-0.2.0
- old
+ new
@@ -7,9 +7,85 @@
it "has the current version" do
version = File.read(path("VERSION")).strip
assert_equal version, MonetDB::VERSION
assert File.read(path "CHANGELOG.rdoc").include?("Version #{version}")
end
+
+ describe ".logger" do
+ it "returns its instance variable :@logger" do
+ MonetDB.instance_variable_set :@logger, (logger = mock)
+ assert_equal logger, MonetDB.logger
+ end
+ end
+
+ describe ".logger=" do
+ it "stores the passed value as the instance variable :@logger" do
+ MonetDB.logger = (logger = mock)
+ assert_equal logger, MonetDB.instance_variable_get(:@logger)
+ end
+ end
+
+ describe ".configurations" do
+ it "returns its instance variable :@configurations" do
+ MonetDB.instance_variable_set :@configurations, (configurations = mock)
+ assert_equal configurations, MonetDB.configurations
+ end
+ end
+
+ describe ".configurations=" do
+ it "stores the passed hash as the instance variable :@configurations" do
+ MonetDB.configurations = (configurations = {})
+ assert_equal configurations, MonetDB.instance_variable_get(:@configurations)
+ end
+
+ it "stringifies the passed hash" do
+ MonetDB.configurations = (configurations = {:a => "b"})
+ assert_equal({"a" => "b"}, MonetDB.instance_variable_get(:@configurations))
+ end
+ end
+
+ describe ".establish_connection" do
+ describe "valid" do
+ before do
+ @connection = mock
+ @connection.expects(:connect)
+ end
+
+ it "accepts configuration hashes" do
+ config = {"host" => "localhost"}
+ MonetDB::Connection.expects(:new).with(config).returns(@connection)
+ MonetDB.establish_connection config
+ end
+
+ it "accepts configuration names" do
+ config = {"host" => "localhost"}
+ MonetDB.instance_variable_set(:@configurations, {"foo" => config})
+ MonetDB::Connection.expects(:new).with(config).returns(@connection)
+ MonetDB.establish_connection "foo"
+ end
+ end
+
+ describe "invalid" do
+ it "denies non-configuration arguments" do
+ assert_raises MonetDB::ConnectionError do
+ MonetDB.establish_connection 123
+ end
+ assert_raises MonetDB::ConnectionError do
+ MonetDB.establish_connection true
+ end
+ assert_raises MonetDB::ConnectionError do
+ MonetDB.establish_connection "foo"
+ end
+ end
+ end
+ end
+
+ describe ".connection" do
+ it "returns its instance variable :@connection" do
+ MonetDB.instance_variable_set :@connection, (connection = mock)
+ assert_equal connection, MonetDB.connection
+ end
+ end
end
end
-end
\ No newline at end of file
+end