From e8930ced06f0c7c352a7e9e754ab4bc81b92c740 Mon Sep 17 00:00:00 2001 From: jem Date: Fri, 24 May 2019 14:54:18 +0200 Subject: [PATCH] naem refactorings --- main/src/data_test.clj | 2 +- main/src/data_test/file_loader.clj | 10 +++++++--- main/src/data_test/runner.clj | 4 ++-- .../data_test/file_loader_test/test_it.1.edn | 1 + .../data_test/file_loader_test/test_it.99.edn | 1 + test/src/data_test/file_loader_test.clj | 16 +++++++++------- test/src/data_test_test.clj | 2 +- 7 files changed, 22 insertions(+), 14 deletions(-) create mode 100644 test/resources/data_test/file_loader_test/test_it.1.edn create mode 100644 test/resources/data_test/file_loader_test/test_it.99.edn diff --git a/main/src/data_test.clj b/main/src/data_test.clj index be8b6c6..611c177 100644 --- a/main/src/data_test.clj +++ b/main/src/data_test.clj @@ -29,7 +29,7 @@ (defmacro defdatatest [n & body] (when ct/*load-tests* (let [namespaced-test-key# (keyword (str *ns*) (name n)) - file-prefix# (fl/data-file-prefix namespaced-test-key#)] + file-prefix# (fl/data-test-spec-file-prefix namespaced-test-key#)] `(def ~(vary-meta n assoc :test `(fn [] (let [testdata# (fl/load-test-data ~file-prefix#) diff --git a/main/src/data_test/file_loader.clj b/main/src/data_test/file_loader.clj index ae23dff..a445372 100644 --- a/main/src/data_test/file_loader.clj +++ b/main/src/data_test/file_loader.clj @@ -25,22 +25,26 @@ {:input s/Any :expectation s/Any}) -(s/defn read-data :- TestDataSpec +(s/defn read-test-data-spec :- TestDataSpec [resource-url :- s/Str] (aero/read-config resource-url)) -(s/defn data-file-prefix :- s/Str +(s/defn data-test-spec-file-prefix :- s/Str [name-key :- s/Keyword] (str/replace (str/replace (str (namespace name-key) "/" (name name-key)) #"-" "_") #"\." "/")) +(s/defn find-data-spec-files :- [s/Any] + [data-test-spec-file-prefix :- s/Str] + (.listFiles (io/resource (str data-test-spec-file-prefix "*.edn")))) + (s/defn load-test-data [file-prefix :- s/Str] (let [file-path (str file-prefix ".edn")] (try - (read-data (io/resource file-path)) + (read-test-data-spec (io/resource file-path)) (catch IllegalArgumentException e (throw (ex-info (str "Could not find test spec on " file-path) {:message "Could not find test spec" diff --git a/main/src/data_test/runner.clj b/main/src/data_test/runner.clj index eace2d4..30c158e 100644 --- a/main/src/data_test/runner.clj +++ b/main/src/data_test/runner.clj @@ -48,9 +48,9 @@ (extend-type TestRunner RunTest (name-prefix [_] - (fl/data-file-prefix (:name _))) + (fl/data-test-spec-file-prefix (:name _))) (run-tests [_] - (let [testdata (fl/load-test-data (fl/data-file-prefix (:name _))) + (let [testdata (fl/load-test-data (fl/data-test-spec-file-prefix (:name _))) {:keys [input expectation]} testdata] (data-test _ input expectation)))) diff --git a/test/resources/data_test/file_loader_test/test_it.1.edn b/test/resources/data_test/file_loader_test/test_it.1.edn new file mode 100644 index 0000000..e85d33d --- /dev/null +++ b/test/resources/data_test/file_loader_test/test_it.1.edn @@ -0,0 +1 @@ +{:test "data"} \ No newline at end of file diff --git a/test/resources/data_test/file_loader_test/test_it.99.edn b/test/resources/data_test/file_loader_test/test_it.99.edn new file mode 100644 index 0000000..e85d33d --- /dev/null +++ b/test/resources/data_test/file_loader_test/test_it.99.edn @@ -0,0 +1 @@ +{:test "data"} \ No newline at end of file diff --git a/test/src/data_test/file_loader_test.clj b/test/src/data_test/file_loader_test.clj index ab90b5a..20086fd 100644 --- a/test/src/data_test/file_loader_test.clj +++ b/test/src/data_test/file_loader_test.clj @@ -20,21 +20,23 @@ [schema.core :as s] [data-test.file-loader :as sut])) -(deftest should-read-data +(deftest should-read-test-data-spec (is (= {:simple "test"} - (sut/read-data (io/resource "simple_aero.edn")))) + (sut/read-test-data-spec (io/resource "simple_aero.edn")))) (is (= {:to-be-refernced "ref-test", :key1 "ref-test", :key2 "ref-test"} - (sut/read-data (io/resource "tagged_aero.edn")))) + (sut/read-test-data-spec (io/resource "tagged_aero.edn")))) ) -(deftest should-calculate-data-file-prefix +(deftest should-calculate-data-test-spec-file-prefix (is (= "data_test/file_loader_test/test_it" - (sut/data-file-prefix ::test-it)))) + (sut/data-test-spec-file-prefix ::test-it)))) (deftest should-load-data (is (= {:test "data"} - (sut/load-test-data (sut/data-file-prefix ::test-it))))) + (sut/load-test-data (sut/data-test-spec-file-prefix ::test-it))))) (deftest should-throw-exception (is (thrown? RuntimeException - (sut/load-test-data (sut/data-file-prefix ::not-existing))))) + (sut/load-test-data (sut/data-test-spec-file-prefix ::not-existing))))) + +(sut/find-data-spec-files (sut/data-test-spec-file-prefix ::test-it)) diff --git a/test/src/data_test_test.clj b/test/src/data_test_test.clj index 4a95bb3..9d77cce 100644 --- a/test/src/data_test_test.clj +++ b/test/src/data_test_test.clj @@ -24,7 +24,7 @@ ; -------------------- explicit version ------------------ (deftest should-test-with-data-explicit-version - (let [testdata (fl/read-data (io/resource "data_test_test/should-test-with-data-explicit-version.edn")) + (let [testdata (fl/read-test-data-spec (io/resource "data_test_test/should-test-with-data-explicit-version.edn")) {:keys [input expectation]} testdata] (is (= expectation input))))