           app               (bootstrap-services-with-empty-config [test-service])]
       (is (false? @shutdown-called?))
       (internal/shutdown! (app-context app))
-      (is (true? @shutdown-called?))))
-
+      (is (true? @shutdown-called?)))))
+
+(deftest shutdown-dep-order-test
   (testing "services are shut down in dependency order"
     (let [order       (atom [])
           service1    (service ShutdownTestService

          app         (bootstrap-services-with-empty-config [service1 service2])]
      (is (empty? @order))
      (internal/shutdown! (app-context app))
      (is (= @order [2 1]))))

  (testing "services continue to shut down when one throws an exception"
    (let [shutdown-called?  (atom false)
          test-service      (service []

          app               (bootstrap-services-with-empty-config [test-service broken-service])]
      (is (false? @shutdown-called?))
      (logging/with-test-logging
       (internal/shutdown! (app-context app))
       (is (logged? #"Encountered error during shutdown sequence" :error)))
      (is (true? @shutdown-called?)))))

(deftest shutdown-run-app-test
  (testing "`tk/run-app` runs the framework (blocking until shutdown signal received), and `request-shutdown` shuts down services"
    (let [shutdown-called?  (atom false)
          test-service      (service []
