 (defn basic-test
   "A simple test of Onyx's safety."
   [version]
-  (merge tests/noop-test
-         {:os os
-          :db (setup version)
-          :client (write-log-client (atom nil) (atom []) (atom []))
-          :model (->OnyxModel) ;; Not actually used for anything currently
-          :checker (onyx-checker/->Checker peer-config (:n-peers peer-setup))
-          :generator (gen/phases
-                       (->> (onyx-gen/filter-new identity 
-                                                 (onyx-gen/frequency [(adds) 
-                                                                      ;(gen/once (gc-peer-logs))
-                                                                      (gen/once 
-                                                                        (gen/each 
-                                                                          {:type :invoke :f :submit-job}))]
-                                                                     [0.98
-                                                                      ;0.01
-                                                                      0.01]))
-                            (gen/stagger 1/10)
-                            ;(gen/delay 1)
-                            (gen/nemesis
-                              (gen/seq (cycle
-                                         [(gen/sleep 30)
-                                          {:type :info :f :start}
-                                          (gen/sleep 200)
-                                          {:type :info :f :stop}])))
-                            (gen/time-limit 4000)) 
-                       (close-await-completion-gen)
-                       (read-ledgers-gen)
-                       (read-peer-log-gen))
-          ;:nemesis (nemesis/partitioner (comp nemesis/bridge shuffle))
-          :nemesis (nemesis/partition-random-halves)
-          }))
+  ;; TODO, have map with test parameters in edn
+  (let [n-jobs 1] 
+    (merge tests/noop-test
+           {:os os
+            :db (setup version)
+            :client (write-log-client (atom []) (atom []) (atom []))
+            :model (->OnyxModel) ;; Currently not actually used for anything
+            :checker (onyx-checker/->Checker peer-config (:n-peers peer-setup))
+            :generator (gen/phases
+                         (->> (onyx-gen/filter-new identity 
+                                                   (onyx-gen/frequency [(adds) 
+                                                                        (submit-job-gen n-jobs)
+                                                                        ;(gen/once (gc-peer-logs))
+                                                                        ]
+                                                                       [0.98
+                                                                        ;0.01
+                                                                        0.01]))
+                              (gen/stagger 1/10)
+                              ;(gen/delay 1)
+                              (gen/nemesis
+                                (gen/seq (cycle
+                                           [(gen/sleep 30)
+                                            {:type :info :f :start}
+                                            (gen/sleep 200)
+                                            {:type :info :f :stop}])))
+                              (gen/time-limit 14000)) 
+
+                         ;; Bring everything back at the end
+                         ;; This way we can test that the peers came back up
+                         (gen/nemesis (gen/once {:type :info :f :stop}))
+                         ;; Sleep for a while to give peers a chance to come back up
+                         ;; Should be enough time that curator backoff * max-retries is covered
+                         (gen/sleep 120)
+
+                         (close-await-completion-gen)
+                         (read-ledgers-gen)
+                         (read-peer-log-gen))
+            ;:nemesis (nemesis/partitioner (comp nemesis/bridge shuffle))
+            :nemesis (nemesis/partition-random-halves)
+            })))

  (teardown! [_ test]
    (.close client)))

(defn write-log-client [job-data ledger-handles ledger-ids]
  (->WriteLogClient nil job-data ledger-handles nil ledger-ids nil))

;; Not actually used for anything currently
(defrecord OnyxModel []

    (let [zk-addr (:zookeeper/address env-config)
          onyx-id (:onyx/id env-config)] 
      (case (:f op)
        :read-peer-log (timeout 1000000
                                (assoc op :type :info :value :timed-out)
                                (try
                                  (assoc op 
