mirror of https://github.com/logseq/logseq
enhance(sync): update file-sync:integration-tests
add md5 when compare local & remote filestemp/test-nil-fn
parent
4e8da96f16
commit
fe80384843
4
bb.edn
4
bb.edn
|
@ -8,7 +8,9 @@
|
||||||
{:git/url "https://github.com/logseq/bb-tasks"
|
{:git/url "https://github.com/logseq/bb-tasks"
|
||||||
:git/sha "4b3e623fb475cacb992425aa9dac770d6dd63e38"}
|
:git/sha "4b3e623fb475cacb992425aa9dac770d6dd63e38"}
|
||||||
logseq/graph-parser
|
logseq/graph-parser
|
||||||
{:local/root "deps/graph-parser"}}
|
{:local/root "deps/graph-parser"}
|
||||||
|
org.clj-commons/digest
|
||||||
|
{:mvn/version "1.4.100"}}
|
||||||
:pods
|
:pods
|
||||||
{clj-kondo/clj-kondo {:version "2022.02.09"}
|
{clj-kondo/clj-kondo {:version "2022.02.09"}
|
||||||
org.babashka/fswatcher {:version "0.0.3"}}
|
org.babashka/fswatcher {:version "0.0.3"}}
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
[babashka.curl :as curl]
|
[babashka.curl :as curl]
|
||||||
[clojure.data :as data]
|
[clojure.data :as data]
|
||||||
[clojure.test :as t :refer [deftest is]]
|
[clojure.test :as t :refer [deftest is]]
|
||||||
|
[clj-commons.digest :as digest]
|
||||||
[logseq.tasks.file-sync-actions :as file-sync-actions])
|
[logseq.tasks.file-sync-actions :as file-sync-actions])
|
||||||
(:import (java.net URLDecoder)))
|
(:import (java.net URLDecoder)))
|
||||||
|
|
||||||
|
@ -55,7 +56,14 @@
|
||||||
body (json/parse-string (:body resp) keyword)]
|
body (json/parse-string (:body resp) keyword)]
|
||||||
(->> body
|
(->> body
|
||||||
:Objects
|
:Objects
|
||||||
(map (comp #(URLDecoder/decode %) fs/file-name :Key)))))
|
(map (juxt (comp #(URLDecoder/decode %) fs/file-name :Key) :checksum)))))
|
||||||
|
|
||||||
|
(defn- get-local-all-files
|
||||||
|
[dir subdir]
|
||||||
|
(let [files (map fs/file (fs/list-dir (fs/file dir subdir)))
|
||||||
|
f (juxt fs/file-name digest/md5)]
|
||||||
|
(map f files)))
|
||||||
|
|
||||||
|
|
||||||
(defn- api-post-get-graphs
|
(defn- api-post-get-graphs
|
||||||
[]
|
[]
|
||||||
|
@ -95,14 +103,14 @@
|
||||||
(spit (fs/file dir file) new-content)))
|
(spit (fs/file dir file) new-content)))
|
||||||
|
|
||||||
(defn run-action [action-map]
|
(defn run-action [action-map]
|
||||||
(println "==\nRUN")
|
(println "===\nRUN")
|
||||||
(pp/pprint ((juxt :action #(get-in % [:args :file])) action-map))
|
(pp/pprint ((juxt :action #(get-in % [:args :file])) action-map))
|
||||||
(println "===")
|
(println "===")
|
||||||
(run-action* action-map))
|
(run-action* action-map))
|
||||||
|
|
||||||
(defn- ensure-dir-is-synced!
|
(defn- ensure-dir-is-synced!
|
||||||
[dir graph-id subdir]
|
[dir graph-id subdir]
|
||||||
(let [actual (set (map fs/file-name (fs/list-dir (fs/file dir subdir))))
|
(let [actual (set (get-local-all-files dir subdir))
|
||||||
expected (set (api-get-all-files graph-id subdir))]
|
expected (set (api-get-all-files graph-id subdir))]
|
||||||
(assert (= actual expected)
|
(assert (= actual expected)
|
||||||
(let [[local-only remote-only _] (data/diff actual expected)]
|
(let [[local-only remote-only _] (data/diff actual expected)]
|
||||||
|
@ -163,7 +171,7 @@
|
||||||
(doseq [actions partitioned-actions]
|
(doseq [actions partitioned-actions]
|
||||||
(doseq [action actions]
|
(doseq [action actions]
|
||||||
(run-action action)
|
(run-action action)
|
||||||
(Thread/sleep 500))
|
(Thread/sleep 1000))
|
||||||
(is (wait&files-are-in-sync? @root-dir @root-graph-id subdir)
|
(is (wait&files-are-in-sync? @root-dir @root-graph-id subdir)
|
||||||
(str "Test " (mapv (juxt :action #(get-in % [:args :file])) actions))))))
|
(str "Test " (mapv (juxt :action #(get-in % [:args :file])) actions))))))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue