mirror of
https://github.com/penpot/penpot.git
synced 2026-09-30 07:46:16 +00:00
* ✨ Add deployment info to events * ✨ Add get-environment-data RPC method Add a single public RPC method returning the deployment type and the enabled environment flags. It replaces get-deployment on the management API and get-enabled-flags on the main API. get-enabled-flags stays as a deprecated alias returning only the flags, so existing callers keep working until it is removed. The frontend event initialization now reads the flags from the new method. The exposed flags stay limited to audit-log and telemetry to avoid leaking internal backend flags. AI-assisted-by: deepseek-v4.1-flash --------- Co-authored-by: Andrey Antukh <niwi@niwi.nz>
44 lines
1.8 KiB
Clojure
44 lines
1.8 KiB
Clojure
;; This Source Code Form is subject to the terms of the Mozilla Public
|
|
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
;;
|
|
;; Copyright (c) KALEIDOS SUBSIDIARY SL
|
|
|
|
(ns frontend-tests.data.event-test
|
|
(:require
|
|
[app.main.data.event :as ev]
|
|
[app.main.repo :as rp]
|
|
[beicon.v2.core :as rx]
|
|
[cljs.test :as t :include-macros true]
|
|
[frontend-tests.helpers.async :as async]
|
|
[frontend-tests.helpers.mock :as mock]))
|
|
|
|
(t/deftest events-enabled?-truth-table
|
|
(t/testing "enabled when audit-log is present"
|
|
(t/is (true? (ev/events-enabled? #{:audit-log}))))
|
|
(t/testing "enabled when telemetry is present"
|
|
(t/is (true? (ev/events-enabled? #{:telemetry}))))
|
|
(t/testing "enabled when both are present"
|
|
(t/is (true? (ev/events-enabled? #{:audit-log :telemetry}))))
|
|
(t/testing "disabled when no event flag is present"
|
|
(t/is (false? (ev/events-enabled? #{})))
|
|
(t/is (false? (ev/events-enabled? #{:graph})))))
|
|
|
|
(t/deftest ^:async fetch-environment-data-uses-get-environment-data
|
|
(let [data (await
|
|
(mock/with-mocks*
|
|
{rp/cmd! (mock/stub
|
|
(fn [cmd]
|
|
(t/is (= :get-environment-data cmd))
|
|
(rx/of {:deployment "saas"
|
|
:flags #{:audit-log}})))}
|
|
(await (async/->promise (ev/fetch-environment-data)))))]
|
|
(t/is (= {:deployment "saas" :flags #{:audit-log}} data))))
|
|
|
|
(t/deftest ^:async fetch-environment-data-falls-back-to-telemetry-on-error
|
|
(let [data (await
|
|
(mock/with-mocks*
|
|
{rp/cmd! (mock/stub (fn [_cmd] (rx/throw (ex-info "boom" {}))))}
|
|
(await (async/->promise (ev/fetch-environment-data)))))]
|
|
(t/is (= {:flags #{:telemetry}} data))))
|