 
     (testing "granule with end date slightly in the future and collection with
              EndsAtPresentFlag=true and end date in the far future (see CMR-1351)"
-             (let [collection (dc/collection {:entry-title "correct"
-                                              :short-name "S1"
-                                              :version-id "V1"
-                                              :temporal (dc/temporal
+             (let [collection (data-umm-c/collection {:EntryTitle "correct"
+                                              :ShortName "S1"
+                                              :Version "V1"
+                                              :TemporalExtents [(data-umm-c/temporal-extent
                                                           {:beginning-date-time "2009-03-08T00:00:00Z"
                                                            :ending-date-time "2121-11-04T00:00:00Z"
-                                                           :ends-at-present? true})})
-                   coll-concept (d/item->concept collection)
+                                                           :ends-at-present? true})]})
+                   coll-concept (d/umm-c-collection->concept collection)
                    future-date-time (t/plus (tk/now) (t/hours 1))
                    time-formatter (tf/formatters :date-time-no-ms)
                    future-date-time-str (tf/unparse time-formatter future-date-time)
-                   granule (assoc (dg/granule collection)
+                   granule (assoc (dg/granule-with-umm-spec-collection collection (:concept-id collection))
                                   :temporal (dg/temporal {:beginning-date-time "2010-11-04T00:00:00Z"
                                                           :ending-date-time future-date-time-str}))]
                (assert-validation-success

      ;; Holes are ignored during validation for now.
      (assert-valid-spatial
        :geodetic
        [(poly/polygon [(umm-s/ords->ring 1 1, -1 1, -1 -1, 1 -1, 1 1)
                        (umm-s/ords->ring 0,0, 0.00004,0, 0.00006,0.00005, 0.00002,0.00005, 0,0)])]))
    (testing "cartesian polygon"
      ;; The same shape from geodetic is valid as a cartesian.
      ;; Cartesian validation is not supported yet. See CMR-1172
      (assert-valid-spatial :cartesian
                            [(polygon 180 90, -180 90, -180 -90, 180 -90, 180 90)]))

    (testing "geodetic line"
      (assert-invalid-spatial
        :geodetic
        [(l/ords->line-string :geodetic [0,0,1,1,2,2,1,1])]
        ["Spatial validation error: The shape contained duplicate points. Points 2 [lon=1 lat=1] and 4 [lon=1 lat=1] were considered equivalent or very close."]))


   (assert-invalid coll-attributes gran-attributes field-path errors :echo10))
  ([coll-attributes gran-attributes field-path errors metadata-format]
   (testing "through validation api"
     (let [coll (data-umm-c/collection coll-attributes)
           coll-concept (d/umm-c-collection->concept coll metadata-format)
           granule (dg/granule-with-umm-spec-collection coll (:concept-id coll) gran-attributes)
           gran-concept (d/item->concept granule)
           response (ingest/validate-granule gran-concept coll-concept)]
       (is (= {:status 422
