cl-scopes/test/test-config.lisp

36 lines
1.2 KiB
Common Lisp

;;;; cl-scopes/test/test-config
;;;; Tests for the scopes/config functionality.
(defpackage :scopes/test-config
(:use :common-lisp)
(:local-nicknames (:config :scopes/config)
(:util :scopes/util)
(:t :scopes/testing))
(:export #:run)
(:import-from :scopes/testing #:deftest #:==))
(in-package :scopes/test-config)
(defvar *config* nil)
(defclass test-config (config:base)
((config:override-keys :initform '(user password))))
(defun run ()
(let ((t:*test-suite* (t:test-suite "config")))
(setf *config* (make-instance 'test-config))
(test-make-path)
(test-env-override)
(t:show-result)))
(t:deftest test-make-path ()
(format t "~&relative-path: ~s" (util:relative-path "config" "app" "etc"))
(format t "~&system-path: ~s" (util:system-path :scopes "config" "test"))
(format t "~&test-path (config): ~s" (t:test-path :scopes "config"))
(format t "~&test-path (data): ~s" (t:test-path :scopes "test.db" "data"))
(format t "~&runtime-path: ~s" (util:runtime-path "config" "app" "etc"))
(format t "~&runtime-path (.env): ~s" (util:runtime-path ".env" "app")))
(t:deftest test-env-override ()
(format t "~&override-keys: ~s~%" (config:override-keys *config*)))