All checks were successful
build / build (push) Successful in 1m47s

This commit is contained in:
2026-03-25 15:32:24 -06:00
parent 06e6b8ebaf
commit c6d10b9776
4 changed files with 45 additions and 22 deletions

View File

@@ -63,6 +63,9 @@
(throw (ex-info "Failed to conform config"
(s/explain-data spec r))))))
(defn load-config! [var spec files & {:as opts}]
(alter-var-root var (constantly (read-config spec files opts))))
(def sources
[;; Default config.
(io/resource "net/deertopia/doerg/default-config.edn")

View File

@@ -6,17 +6,15 @@
[net.deertopia.publisher.config :as publisher-config]
[babashka.fs :as fs]))
(alter-var-root
#'doerg-config/*cfg*
(constantly (doerg-config/read-config ::doerg/config
(doerg-config/load-config! #'doerg-config/*cfg*
::doerg/config
doerg-config/sources
:profile :dev)))
:profile :dev)
(alter-var-root
#'publisher-config/*cfg*
(constantly (doerg-config/read-config ::publisher/config
(doerg-config/load-config! #'publisher-config/*cfg*
::publisher/config
publisher-config/sources
:profile :dev)))
:profile :dev)
(when (not= :running (server/status))
(when (nil? (server/status))
(server/start!))

View File

@@ -3,4 +3,4 @@
#envf ["%s/.local/share" HOME]]
"/doerg-publisher"]
:org-roam-db-path #join [#env HOME "/.cache/emacs/org-roam.db"]
:port 8080}
:port #profile {:default 8080}}

View File

@@ -2,19 +2,41 @@
(:require [net.deertopia.publisher.server :as sut]
[reitit.ring]
[clojure.test :as t]
[clojure.set :as set]
[net.deertopia.publisher.config :as cfg]
[net.deertopia.publisher :as-alias publisher]))
[net.deertopia.publisher.config :as publisher-cfg]
[net.deertopia.doerg.config :as doerg-cfg]
[net.deertopia.publisher :as-alias publisher]
[net.deertopia.doerg :as-alias doerg]))
(t/use-fixtures
:once (fn [f]
(binding [doerg-cfg/*cfg*
(doerg-cfg/read-config
::doerg/config doerg-cfg/sources
:profile :test)
publisher-cfg/*cfg*
(doerg-cfg/read-config
::publisher/config publisher-cfg/sources
:profile :test)]
(f))))
(defn with-server [f]
(let [was-already-running? (= :running (sut/status))]
(when-not was-already-running?
(sut/start!))
(f)
(when-not was-already-running?
(sut/stop!))))
(t/deftest server-is-running
;; 서버는 벌써 시작한 다음에 이 테스트 하면 잘못됩니다.
(assert (not= :running (sut/status)))
(sut/start!)
;; (assert (not= :running (sut/status)))
(with-server
(fn []
(t/is (= :running (sut/status)))
(t/is (->> (format "http://localhost:%d" (::publisher/port cfg/*cfg*))
(t/is (->> (format "http://localhost:%d"
(::publisher/port publisher-cfg/*cfg*))
slurp
string?))
(sut/stop!))
string?)))))
#_
(t/deftest get-nonexistent-node