From 9d9ef2c079595179ec960812dc4abd428c0c1f8c Mon Sep 17 00:00:00 2001 From: Artem Medeu Date: Thu, 28 Mar 2024 16:28:44 +0500 Subject: [PATCH] test: dependent single bump test --- .../kmono/test/fixtures/dependents_config.edn | 172 ++++++++++++++++++ packages/kmono/test/k16/kmono/git_test.clj | 62 ++++++- 2 files changed, 230 insertions(+), 4 deletions(-) create mode 100644 packages/kmono/test/fixtures/dependents_config.edn diff --git a/packages/kmono/test/fixtures/dependents_config.edn b/packages/kmono/test/fixtures/dependents_config.edn new file mode 100644 index 0000000..365bc0f --- /dev/null +++ b/packages/kmono/test/fixtures/dependents_config.edn @@ -0,0 +1,172 @@ +{:include-unchanged? false, + :package-map + {"transit-engineering/runtime-api" + {:build-cmd "just install", + :group transit-engineering, + :dir "../../k42/runtime/packages/runtime-api", + :release-cmd "just release", + :name "transit-engineering/runtime-api", + :artifact runtime-api, + :commit-sha "dcbffa9", + :depends-on []}, + "transit-engineering/jollibee.ext" + {:build-cmd "just install", + :group transit-engineering, + :dir "../../k42/runtime/packages/jollibee.ext", + :release-cmd "just release", + :name "transit-engineering/jollibee.ext", + :artifact jollibee.ext, + :commit-sha "f9d17d9", + :depends-on + ["transit-engineering/runtime-api" + "transit-engineering/agent.ext"]}, + "transit-engineering/session-notification.ext" + {:build-cmd "just install", + :group transit-engineering, + :dir "../../k42/runtime/packages/session-notification.ext", + :release-cmd "just release", + :name "transit-engineering/session-notification.ext", + :artifact session-notification.ext, + :commit-sha "71b3a42", + :depends-on + ["transit-engineering/runtime-api" + "transit-engineering/swing.ext" + "transit-engineering/agent.ext"]}, + "transit-engineering/runtime" + {:build-cmd "just package", + :group transit-engineering, + :dir "../../k42/runtime/packages/runtime", + :release-cmd "just release", + :name "transit-engineering/runtime", + :artifact runtime, + :commit-sha "6a07da1", + :depends-on + ["transit-engineering/runtime-api" + "transit-engineering/jollibee.ext" + "transit-engineering/robinsons-loyalty.ext" + "transit-engineering/scan-hook.ext" + "transit-engineering/swing.ext" + "transit-engineering/agent.ext" + "transit-engineering/telemetry.ext" + "transit-engineering/session-notification.ext" + "transit-engineering/scan-training.ext" + "transit-engineering/healthchecker.ext"]}, + "transit-engineering/robinsons-loyalty.ext" + {:build-cmd "just install", + :group transit-engineering, + :dir "../../k42/runtime/packages/robinsons-loyalty.ext", + :release-cmd "just release", + :name "transit-engineering/robinsons-loyalty.ext", + :artifact robinsons-loyalty.ext, + :commit-sha "4fdb491", + :depends-on + ["transit-engineering/runtime-api" + "transit-engineering/swing.ext" + "transit-engineering/agent.ext"]}, + "transit-engineering/swing.ext" + {:build-cmd "just install", + :group transit-engineering, + :dir "../../k42/runtime/packages/swing.ext", + :release-cmd "just release", + :name "transit-engineering/swing.ext", + :artifact swing.ext, + :commit-sha "f9d17d9", + :depends-on ["transit-engineering/runtime-api"]}, + "transit-engineering/telemetry.ext" + {:build-cmd "just install", + :group transit-engineering, + :dir "../../k42/runtime/packages/telemetry.ext", + :release-cmd "just release", + :name "transit-engineering/telemetry.ext", + :artifact telemetry.ext, + :commit-sha "e9847c6", + :depends-on ["transit-engineering/runtime-api"]}, + "transit-engineering/healthchecker.ext" + {:build-cmd "just install", + :group transit-engineering, + :dir "../../k42/runtime/packages/healthchecker.ext", + :release-cmd "just release", + :name "transit-engineering/healthchecker.ext", + :artifact healthchecker.ext, + :commit-sha "f9d17d9", + :depends-on + ["transit-engineering/runtime-api" + "transit-engineering/agent.ext"]}, + "transit-engineering/scan-hook.ext" + {:build-cmd "just install", + :group transit-engineering, + :dir "../../k42/runtime/packages/scan-hook.ext", + :release-cmd "just release", + :name "transit-engineering/scan-hook.ext", + :artifact scan-hook.ext, + :commit-sha "1ac977f", + :depends-on + ["transit-engineering/runtime-api" + "transit-engineering/swing.ext" + "transit-engineering/agent.ext"]}, + "transit-engineering/agent.ext" + {:build-cmd "just install", + :group transit-engineering, + :dir "../../k42/runtime/packages/agent.ext", + :release-cmd "just release", + :name "transit-engineering/agent.ext", + :artifact agent.ext, + :commit-sha "6d56059", + :depends-on + ["transit-engineering/runtime-api" + "transit-engineering/swing.ext"]}, + "transit-engineering/scan-training.ext" + {:build-cmd "just install", + :group transit-engineering, + :dir "../../k42/runtime/packages/scan-training.ext", + :release-cmd "just release", + :name "transit-engineering/scan-training.ext", + :artifact scan-training.ext, + :commit-sha "f9d17d9", + :depends-on + ["transit-engineering/runtime-api" + "transit-engineering/swing.ext" + "transit-engineering/agent.ext"]}}, + :repo-root "../../k42/runtime", + :glob "packages/*", + :graph + {"transit-engineering/runtime-api" #{}, + "transit-engineering/jollibee.ext" + #{"transit-engineering/runtime-api" "transit-engineering/agent.ext"}, + "transit-engineering/session-notification.ext" + #{"transit-engineering/runtime-api" + "transit-engineering/swing.ext" + "transit-engineering/agent.ext"}, + "transit-engineering/runtime" + #{"transit-engineering/runtime-api" + "transit-engineering/jollibee.ext" + "transit-engineering/session-notification.ext" + "transit-engineering/robinsons-loyalty.ext" + "transit-engineering/swing.ext" + "transit-engineering/telemetry.ext" + "transit-engineering/healthchecker.ext" + "transit-engineering/scan-hook.ext" + "transit-engineering/agent.ext" + "transit-engineering/scan-training.ext"}, + "transit-engineering/robinsons-loyalty.ext" + #{"transit-engineering/runtime-api" + "transit-engineering/swing.ext" + "transit-engineering/agent.ext"}, + "transit-engineering/swing.ext" #{"transit-engineering/runtime-api"}, + "transit-engineering/telemetry.ext" + #{"transit-engineering/runtime-api"}, + "transit-engineering/healthchecker.ext" + #{"transit-engineering/runtime-api" "transit-engineering/agent.ext"}, + "transit-engineering/scan-hook.ext" + #{"transit-engineering/runtime-api" + "transit-engineering/swing.ext" + "transit-engineering/agent.ext"}, + "transit-engineering/agent.ext" + #{"transit-engineering/runtime-api" "transit-engineering/swing.ext"}, + "transit-engineering/scan-training.ext" + #{"transit-engineering/runtime-api" + "transit-engineering/swing.ext" + "transit-engineering/agent.ext"}}, + :create-tags? false, + :snapshot? false, + } diff --git a/packages/kmono/test/k16/kmono/git_test.clj b/packages/kmono/test/k16/kmono/git_test.clj index a4d4d30..8da8f7c 100644 --- a/packages/kmono/test/k16/kmono/git_test.clj +++ b/packages/kmono/test/k16/kmono/git_test.clj @@ -1,6 +1,8 @@ (ns k16.kmono.git-test (:require - [clojure.test :refer [deftest testing is]] + [clojure.edn :as edn] + [clojure.java.io :as io] + [clojure.test :refer [deftest is testing]] [k16.kmono.git :as git])) (def config @@ -69,9 +71,9 @@ :commit-sha "deadbee" :snapshot? false}))) (is (= "1.77.3.0-deadbee-SNAPSHOT" (git/bump {:version version - :bump-type :patch - :commit-sha "deadbee" - :snapshot? true}))) + :bump-type :patch + :commit-sha "deadbee" + :snapshot? true}))) (is (= "1.77.2.4" (git/bump {:version version :bump-type :build :commit-sha "deadbee" @@ -80,3 +82,55 @@ :bump-type :none :commit-sha "deadbee" :snapshot? false}))))) + +(deftest dependent-single-bump-test + (let [config (edn/read-string + (slurp (io/resource "fixtures/dependents_config.edn"))) + changes {"transit-engineering/runtime-api" + {:version "0.15.1.0", + :changed? true, + :package-name "transit-engineering/runtime-api"}, + "transit-engineering/jollibee.ext" + {:version "0.0.0.9", + :changed? false, + :package-name "transit-engineering/jollibee.ext"}, + "transit-engineering/session-notification.ext" + {:version "0.6.0.3", + :changed? false, + :package-name "transit-engineering/session-notification.ext"}, + "transit-engineering/runtime" + {:version "2.10.0.30", + :changed? false, + :package-name "transit-engineering/runtime"}, + "transit-engineering/robinsons-loyalty.ext" + {:version "0.1.1.0", + :changed? false, + :package-name "transit-engineering/robinsons-loyalty.ext"}, + "transit-engineering/swing.ext" + {:version "0.1.0.5", + :changed? false, + :package-name "transit-engineering/swing.ext"}, + "transit-engineering/telemetry.ext" + {:version "0.0.1.0", + :changed? true, + :package-name "transit-engineering/telemetry.ext"}, + "transit-engineering/healthchecker.ext" + {:version "0.0.2.9", + :changed? false, + :package-name "transit-engineering/healthchecker.ext"}, + "transit-engineering/scan-hook.ext" + {:version "0.4.0.0", + :changed? true, + :package-name "transit-engineering/scan-hook.ext"}, + "transit-engineering/agent.ext" + {:version "0.12.0.6", + :changed? false, + :package-name "transit-engineering/agent.ext"}, + "transit-engineering/scan-training.ext" + {:version "0.0.0.19", + :changed? false, + :package-name "transit-engineering/scan-training.ext"}}] + (is (= "2.10.0.31" (-> (git/ensure-dependend-builds config changes) + (get "transit-engineering/runtime") + :version))))) +