         (dc/psa {:name "bool" :data-type :boolean :value true})]}
       ["AdditionalAttributes"]
       ["Additional Attributes must be unique. This contains duplicates named [bool]."]))
+
   (testing "Nested Path Validation"
     (assert-invalid
       {:platforms [(dc/platform {:instruments [(dc/instrument {:short-name "I1"})
                                                (dc/instrument {:short-name "I1"})]})]}
       ["Platforms" 0 "Instruments"]
       ["Instruments must be unique. This contains duplicates named [I1]."]))
+
   (testing "Spatial validation"
     (testing "geodetic polygon"
       ;; Invalid points are caught in the schema validation

         "Spatial validation error: The shape contained duplicate points. Points 3 [lon=-180 lat=-90] and 4 [lon=180 lat=-90] were considered equivalent or very close."
         "Spatial validation error: The shape contained consecutive antipodal points. Points 2 [lon=-180 lat=90] and 3 [lon=-180 lat=-90] are antipodal."
         "Spatial validation error: The shape contained consecutive antipodal points. Points 4 [lon=180 lat=-90] and 5 [lon=180 lat=90] are antipodal."]))
    (testing "geodetic polygon with holes"
      ;; Hole validation is not supported yet. See CMR-1173.
      ;; Holes are ignored during validation for now.

             response)))))

(deftest dif-to-echo10-conversion
  (testing "Conversion from dif9 to echo10 is successful" 
    (let [coll (d/ingest "PROV1"
                         (dc/collection-dif 
                           {:short-name "S1"
                            :version-id "V1"
                            :entry-title "ET1"
                            :long-name "L4"
                            :summary (name :dif)
                            ;; The following fields are needed for DIF to pass xml validation
                            :science-keywords [(dc/science-keyword {:category "upcase"
                                                                    :topic "Cool"
                                                                    :term "Mild"})]
                            :organizations [(dc/org :distribution-center "Larc")]
                            ;; The following fields are needed for DIF10 to pass xml validation
                            :beginning-date-time "1965-12-12T12:00:00Z"
                            :ending-date-time "1967-12-12T12:00:00Z"
                            :product-specific-attributes 
                             [(c/map->ProductSpecificAttribute {:name "moo" :data-type :string})]})
                         {:format :dif})
          response (search/retrieve-concept (:concept-id coll) nil {:accept mt/echo10})
          concept-map {:metadata (:body response)
                       :format mt/echo10
                       :concept-type :collection
                       :provider-id "PROV1"
                       :native-id "new collection"}
          {:keys [status body]} (ingest/validate-concept concept-map {:raw? true})]
      (is (= 200 status)))))

(deftest umm-spec-validation-warnings
  ;; By default the config return-umm-spec-validation-errors is false, so warnings are returned with the collection. 
  (testing "Ingest and Ingest Validation with warning messages for all formats"
    (are3 [format collection warning-message]
          (do
            (let [response (d/ingest "PROV1" collection {:format format})]
