                                    :branches {"master" #{3}}
                                    :schema {:type :geschichte
                                             :version 1}}}}})
-     ;; already authed
-     (<!! in) => {:topic :geschichte.p2p.auth/authed, :users #{"john"}}
      ;; again a new commit value is needed
      (<!! in) => {:topic :fetch,
                   :ids #{3}}

                                   :branches {"master" #{2}}
                                   :schema {:type :geschichte
                                            :version 1}}}}})
     ;; auth required
     (<!! in) => {:topic :geschichte.p2p.auth/auth-required, :users #{"john"},:tries-left 5}
     ;; send some credentials
     (>!! out {:topic :geschichte.p2p.auth/auth :users {"john" "häßkl"}})
     ;; ups
     (<!! in) => {:topic :geschichte.p2p.auth/auth-required, :users #{"john"},:tries-left 4}
     ;; let's try again
     (>!! out {:topic :geschichte.p2p.auth/auth :users {"john" "häskl"}})
     ;; wrong, how could that be?
     (<!! in) => {:topic :geschichte.p2p.auth/auth-required, :users #{"john"},:tries-left 3}
     ;; oh my, next try
     (>!! out {:topic :geschichte.p2p.auth/auth :users {"john" "häskel"}})
     ;; wrong again
     (<!! in) => {:topic :geschichte.p2p.auth/auth-required, :users #{"john"},:tries-left 2}
     ;; it's getting close
     (>!! out {:topic :geschichte.p2p.auth/auth :users {"john" "häsckl"}})
     ;; doh, wrong again
     (<!! in) => {:topic :geschichte.p2p.auth/auth-required, :users #{"john"},:tries-left 1}
     ;; last try
     (>!! out {:topic :geschichte.p2p.auth/auth :users {"john" "häskil"}})
     ;; oh no, epic fail
     (<!! in) => {:topic :geschichte.p2p.auth/auth-failed, :users #{"john"}}
     ;; let's try again
     (>!! out {:topic :meta-pub,
               :peer "STAGE",
               :metas {"john" {42 {:id 42
                                   :causal-order {1 []
                                                  2 [1]}
                                   :last-update (java.util.Date. 0)
                                   :description "Bookmark collection."
                                   :head "master"
                                   :branches {"master" #{2}}
                                   :schema {:type :geschichte
                                            :version 1}}}}})
     ;; auth required again
     (<!! in) => {:topic :geschichte.p2p.auth/auth-required, :users #{"john"},:tries-left 5}
     ;; this time with correct password
     (>!! out {:topic :geschichte.p2p.auth/auth :users {"john" "haskell"}})
     ;; authed
     (<!! in) => {:topic :geschichte.p2p.auth/authed, :users #{"john"}}
     ;; the peer replies with a request for missing commit values
     (<!! in) => {:topic :fetch,
                  :ids #{1 2}}

                                      :head "master",
                                      :pull-requests {}
                                      :branches {"master" #{2}}
                                      :schema {:type :geschichte, :version 1}}}}}

     ;; ack
     (>!! out {:topic :meta-pubed
