aboutsummaryrefslogtreecommitdiffstats
path: root/spec/dbshell
AgeCommit message (Collapse)Author
2017-04-29Move `DBShell::InvalidDatabaseAdapter` to the `Client` moduleTeddy Wing
Now that we have a `Client` module (46b019abd520870ab159b60c03c45675f64dd88a), it makes so much more sense to put this error class inside it.
2017-04-29Rename database client classesTeddy Wing
Update our class names to reflect the new file structure introduced in b700c1bef89a67a64f1040fb6bb03c0320eefe91. Use the module DBShell module Client end end syntax intead of `DBShell::Client` so that we don't have to define the `Client` module in a separate file and require it. Otherwise we'd get an error: lib/dbshell/client/sqlite3.rb:1:in `<top (required)>': uninitialized constant DBShell::Client (NameError)
2017-04-29Update `require` paths in database client filesTeddy Wing
Change the paths in the code to conform to the new file layout introduced in b700c1bef89a67a64f1040fb6bb03c0320eefe91.
2017-04-29Rename database client files to put them in a `Client` moduleTeddy Wing
Will be modifying the class names in the next commit. Here we change the file names & locations of the database client files. The format changes thusly: <adapter>_client.rb -> client/<adapter>.rb This organisation feels cleaner to me. Wasn't liking the previous structure.
2017-04-29Add `DBShell::DatabaseClient`Teddy Wing
A more generic interface to specific database adapter clients. This class will act as a frontend to the others. Calling its `.runshell()` will call the appropriate `.runshell()` for the adapter provided in `connection_params`. This way, we have a single entry point to start a database shell from the Rake `dbshell` task.
2017-04-29Add `DBShell::Sqlite3Client`Teddy Wing
Much simpler `.build_command` than the Postgres version. Only building arguments now. Want to try out executing the subprocess command. Inspired of course by: https://github.com/django/django/blob/66150f7cf61bc09547fa98586790df596eff6d77/django/db/backends/sqlite3/client.py
2017-04-29postgres_client_spec.rb: Use integer port instead of stringTeddy Wing
Match the expected type with the input.
2017-04-29postgres_client_spec.rb: Add missing `it` blockTeddy Wing
Forgot to add an `it` block for my test, which resulted in it failing with a non-obvious error message.
2017-04-29Add `DBShell::PostgresClient` stubTeddy Wing
Make an empty container to pass the basic tests.
2017-04-29Add preliminary test for `DBShell::PostgresClient`Teddy Wing
Thinking up an interface for generating command line arguments for the `psql` command. Based on Django's dbshell: https://github.com/django/django/blob/66150f7cf61bc09547fa98586790df596eff6d77/tests/dbshell/test_postgresql_psycopg2.py