1 ;;; sql-tests.el --- Tests for sql.el -*- lexical-binding: t; -*-
3 ;; Copyright (C) 2016-2017 Free Software Foundation, Inc.
5 ;; Author: Simen Heggestøyl <simenheg@gmail.com>
8 ;; This file is part of GNU Emacs.
10 ;; GNU Emacs is free software: you can redistribute it and/or modify
11 ;; it under the terms of the GNU General Public License as published by
12 ;; the Free Software Foundation, either version 3 of the License, or
13 ;; (at your option) any later version.
15 ;; GNU Emacs is distributed in the hope that it will be useful,
16 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 ;; GNU General Public License for more details.
20 ;; You should have received a copy of the GNU General Public License
21 ;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
33 (ert-deftest sql-tests-postgres-list-databases
()
34 "Test that output from `psql -ltX' is parsed correctly."
36 (((symbol-function 'executable-find
)
37 (lambda (_command) t
))
38 ((symbol-function 'process-lines
)
39 (lambda (_program &rest _args
)
40 '(" db-name-1 | foo-user | UTF8 | en_US.UTF-8 | en_US.UTF-8 | "
41 " db_name_2 | foo-user | UTF8 | en_US.UTF-8 | en_US.UTF-8 | "
43 (should (equal (sql-postgres-list-databases)
44 '("db-name-1" "db_name_2")))))
46 (ert-deftest sql-tests-postgres-list-databases-error
()
47 "Test that nil is returned when `psql -ltX' fails."
49 (((symbol-function 'executable-find
)
50 (lambda (_command) t
))
51 ((symbol-function 'process-lines
)
52 (lambda (_program &rest _args
)
54 (should-not (sql-postgres-list-databases))))
57 ;;; sql-tests.el ends here