|
1 | 1 | (ns aidbox-sdk.schema.verify-test
|
2 |
| - (:require [aidbox-sdk.schema.verify :as sut] |
| 2 | + (:require [aidbox-sdk.schema.verify :as sut :refer [simplify-package-meta]] |
3 | 3 | [matcher-combinators.test :refer [match? thrown-match?]]
|
4 | 4 | [clojure.test :refer [deftest is testing]]))
|
5 | 5 |
|
|
48 | 48 | (sut/find-core-package [us-core-package]))))
|
49 | 49 |
|
50 | 50 | (testing "throws an exception if more then one core package found"
|
51 |
| - (is (thrown-match? clojure.lang.ExceptionInfo |
52 |
| - {:packages [(:name r4-core-package) "hl7.fhir.r5.core"]} |
53 |
| - (sut/find-core-package [r4-core-package |
54 |
| - {:name "hl7.fhir.r5.core" |
55 |
| - :version "5.0.0" |
56 |
| - :type "fhir.core"}])))) |
| 51 | + (let [r5-core-package {:name "hl7.fhir.r5.core" |
| 52 | + :version "5.0.0" |
| 53 | + :type "fhir.core"}] |
| 54 | + (is (thrown-match? clojure.lang.ExceptionInfo |
| 55 | + {:packages [(simplify-package-meta r4-core-package) |
| 56 | + (simplify-package-meta r5-core-package)]} |
| 57 | + (sut/find-core-package [r4-core-package |
| 58 | + r5-core-package]))))) |
57 | 59 |
|
58 | 60 | (testing "returns a core package iff there is only one"
|
59 | 61 | (is (match? (sut/find-core-package [r4-core-package
|
60 | 62 | us-core-package])
|
61 | 63 | r4-core-package))))
|
62 | 64 |
|
| 65 | +(deftest find-extra-packages-test |
| 66 | + (testing "throws an exception if there is duplicate" |
| 67 | + (let [us-core-package' (assoc us-core-package :version "5.1.0")] |
| 68 | + (is (thrown-match? clojure.lang.ExceptionInfo |
| 69 | + {:packages [(:name us-core-package)]} |
| 70 | + (sut/find-extra-packages [r4-core-package |
| 71 | + us-core-package |
| 72 | + us-core-package']))))) |
| 73 | + |
| 74 | + (testing "returns extra packages if there is no duplicates" |
| 75 | + (is (match? (sut/find-extra-packages [r4-core-package |
| 76 | + us-core-package]) |
| 77 | + [us-core-package])))) |
| 78 | + |
63 | 79 | (deftest find-core-package-mismatch-test
|
64 | 80 | (testing "returns a vec with mismatched names"
|
65 | 81 | (let [us-mcode-package (assoc us-mcode-package :fhirVersions ["4.1.0"])]
|
|
88 | 104 | []))))
|
89 | 105 |
|
90 | 106 | (deftest find-dependencies-mismatch-test
|
91 |
| - (let [format-dep-for-check #(select-keys % [:name :version]) |
92 |
| - |
93 |
| - us-vsac-package {:name "us.nlm.vsac", :version "0.3.0"} |
| 107 | + (let [us-vsac-package {:name "us.nlm.vsac", :version "0.3.0"} |
94 | 108 | uv-sdc-package {:name "hl7.fhir.uv.sdc", :version "2.7.0"}
|
95 | 109 | term-package {:name "hl7.terminology.r4", :version "5.0.0"}]
|
96 | 110 | (testing "returns a vec with mismatched names and version"
|
|
99 | 113 | us-core-package
|
100 | 114 | us-mcode-package])
|
101 | 115 | [(assoc us-core-package :failed-dependencies
|
102 |
| - [{:required (format-dep-for-check us-vsac-package) |
| 116 | + [{:required (simplify-package-meta us-vsac-package) |
103 | 117 | :found []}
|
104 |
| - {:required (format-dep-for-check uv-sdc-package) |
| 118 | + {:required (simplify-package-meta uv-sdc-package) |
105 | 119 | :found []}])
|
106 | 120 |
|
107 | 121 | (assoc us-mcode-package :failed-dependencies
|
108 |
| - [{:required (format-dep-for-check term-package) |
| 122 | + [{:required (simplify-package-meta term-package) |
109 | 123 | :found []}])])))
|
110 | 124 |
|
111 | 125 | (testing "when required package is found, but version do not match"
|
|
118 | 132 | uv-sdc-package'
|
119 | 133 | term-package'])
|
120 | 134 | [(assoc us-core-package :failed-dependencies
|
121 |
| - [{:required (format-dep-for-check uv-sdc-package) |
122 |
| - :found [(format-dep-for-check uv-sdc-package')]}]) |
| 135 | + [{:required (simplify-package-meta uv-sdc-package) |
| 136 | + :found [(simplify-package-meta uv-sdc-package')]}]) |
123 | 137 |
|
124 | 138 | (assoc us-mcode-package :failed-dependencies
|
125 |
| - [{:required (format-dep-for-check term-package) |
126 |
| - :found [(format-dep-for-check term-package')]}])]))))) |
| 139 | + [{:required (simplify-package-meta term-package) |
| 140 | + :found [(simplify-package-meta term-package')]}])]))))) |
127 | 141 |
|
128 | 142 | (testing "returns an empty vec when no dependencies"
|
129 | 143 | (is (match? (sut/find-dependencies-mismatch [r4-core-package])
|
|
0 commit comments