From b19ad7899fecfb6835e19e23a7069233654c9fc7 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Wed, 18 Feb 2026 23:20:28 -0600 Subject: feat(restclient): add REST API client for interactive API exploration restclient.el + restclient-jq integration with SkyFi API templates, tutorial file, auto key injection from authinfo, 17 ERT tests. --- tests/test-restclient-config-skyfi-buffer.el | 38 ++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 tests/test-restclient-config-skyfi-buffer.el (limited to 'tests/test-restclient-config-skyfi-buffer.el') diff --git a/tests/test-restclient-config-skyfi-buffer.el b/tests/test-restclient-config-skyfi-buffer.el new file mode 100644 index 00000000..7685c77c --- /dev/null +++ b/tests/test-restclient-config-skyfi-buffer.el @@ -0,0 +1,38 @@ +;;; test-restclient-config-skyfi-buffer.el --- Tests for cj/restclient-skyfi-buffer -*- lexical-binding: t; -*- + +;;; Commentary: +;; Unit tests for cj/restclient-skyfi-buffer function. +;; Opens the SkyFi API template file. +;; Covers Normal and Error cases. + +;;; Code: + +(when noninteractive + (package-initialize)) + +(require 'ert) +(require 'restclient-config) + +;;; Normal Cases + +(ert-deftest test-restclient-skyfi-buffer-opens-file () + "Opens existing skyfi-api.rest file and switches to it." + (let ((skyfi-file (expand-file-name "data/skyfi-api.rest" user-emacs-directory))) + (when (file-exists-p skyfi-file) + (unwind-protect + (progn + (cj/restclient-skyfi-buffer) + (should (string-match-p "skyfi-api\\.rest" + (buffer-file-name (current-buffer))))) + (when-let ((buf (get-file-buffer skyfi-file))) + (kill-buffer buf)))))) + +;;; Error Cases + +(ert-deftest test-restclient-skyfi-buffer-missing-file-signals-error () + "Signals user-error when skyfi-api.rest does not exist." + (let ((cj/restclient-data-dir "/tmp/nonexistent-restclient-test-dir/")) + (should-error (cj/restclient-skyfi-buffer) :type 'user-error))) + +(provide 'test-restclient-config-skyfi-buffer) +;;; test-restclient-config-skyfi-buffer.el ends here -- cgit v1.2.3