diff options
Diffstat (limited to 'spec/dbshell/client')
-rw-r--r-- | spec/dbshell/client/database_spec.rb | 26 | ||||
-rw-r--r-- | spec/dbshell/client/postgres_spec.rb | 26 | ||||
-rw-r--r-- | spec/dbshell/client/sqlite3_spec.rb | 16 |
3 files changed, 68 insertions, 0 deletions
diff --git a/spec/dbshell/client/database_spec.rb b/spec/dbshell/client/database_spec.rb new file mode 100644 index 0000000..1659fa3 --- /dev/null +++ b/spec/dbshell/client/database_spec.rb @@ -0,0 +1,26 @@ +require 'minitest/autorun' +require 'dbshell/database_client' + +describe DBShell::DatabaseClient do + describe ".handler" do + it "handles SQLite3" do + DBShell::DatabaseClient.handler({ + 'adapter' => 'sqlite3' + }).must_equal(DBShell::Sqlite3Client) + end + + it "handles Postgres" do + DBShell::DatabaseClient.handler({ + 'adapter' => 'postgresql' + }).must_equal(DBShell::PostgresClient) + end + + it "raises an error if no suitable adapter is found" do + proc do + DBShell::DatabaseClient.handler({ + 'adapter' => 'sybil_system' + }) + end.must_raise(DBShell::InvalidDatabaseAdapter) + end + end +end diff --git a/spec/dbshell/client/postgres_spec.rb b/spec/dbshell/client/postgres_spec.rb new file mode 100644 index 0000000..2f767f1 --- /dev/null +++ b/spec/dbshell/client/postgres_spec.rb @@ -0,0 +1,26 @@ +require 'minitest/autorun' +require 'dbshell/postgres_client' + +describe DBShell::PostgresClient do + describe ".build_command" do + it "builds basic arguments" do + DBShell::PostgresClient.build_command({ + 'adapter' => 'postgresql', + 'host' => 'mailmarehost', + 'port' => 6027, + 'username' => 'derpyhooves', + 'password' => 'somepassword', + 'database' => 'dbname' + }).must_equal([ + 'psql', + '-U', + 'derpyhooves', + '-h', + 'mailmarehost', + '-p', + 6027, + 'dbname' + ]) + end + end +end diff --git a/spec/dbshell/client/sqlite3_spec.rb b/spec/dbshell/client/sqlite3_spec.rb new file mode 100644 index 0000000..4922993 --- /dev/null +++ b/spec/dbshell/client/sqlite3_spec.rb @@ -0,0 +1,16 @@ +require 'minitest/autorun' +require 'dbshell/sqlite3_client' + +describe DBShell::Sqlite3Client do + describe ".build_command" do + it "builds basic arguments" do + DBShell::Sqlite3Client.build_command({ + 'adapter' => 'sqlite3', + 'database' => 'db/development.sqlite3' + }).must_equal([ + 'sqlite3', + 'db/development.sqlite3' + ]) + end + end +end |