packages feed

eventful-postgresql 0.1.2 → 0.1.3

raw patch · 2 files changed

+15/−16 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

eventful-postgresql.cabal view
@@ -3,7 +3,7 @@ -- see: https://github.com/sol/hpack  name:           eventful-postgresql-version:        0.1.2+version:        0.1.3 synopsis:       Postgres implementations for eventful description:    Postgres implementations for eventful category:       Database,Eventsourcing,PostgreSQL
tests/Eventful/Store/PostgresqlSpec.hs view
@@ -8,10 +8,15 @@ import Database.Persist.Postgresql import Test.Hspec -import Eventful.Serializer import Eventful.Store.Postgresql import Eventful.TestHelpers +spec :: Spec+spec = do+  describe "Postgres event store" $ do+    eventStoreSpec postgresStoreRunner+    sequencedEventStoreSpec postgresStoreGlobalRunner+ makeStore :: (MonadIO m) => m (EventStore CounterEvent (SqlPersistT m), ConnectionPool) makeStore = do   -- TODO: Obviously this is hard-coded, make this use environment variables or@@ -42,19 +47,13 @@       query = "TRUNCATE TABLE " <> intercalate ", " escapedTables <> " RESTART IDENTITY CASCADE"     rawExecute query [] -makeGlobalStore-  :: (MonadIO m)-  => m (EventStore CounterEvent (SqlPersistT m), GloballyOrderedEventStore CounterEvent (SqlPersistT m), ConnectionPool)-makeGlobalStore = do+postgresStoreRunner :: EventStoreRunner (SqlPersistT IO)+postgresStoreRunner = EventStoreRunner $ \action -> do   (store, pool) <- makeStore-  let-    globalStore = sqlGloballyOrderedEventStore defaultSqlEventStoreConfig-    globalStore' = serializedGloballyOrderedEventStore jsonStringSerializer globalStore-  return (store, globalStore', pool)-+  runSqlPool (action store) pool -spec :: Spec-spec = do-  describe "Postgresql event store" $ do-    eventStoreSpec makeStore (flip runSqlPool)-    sequencedEventStoreSpec makeGlobalStore (flip runSqlPool)+postgresStoreGlobalRunner :: GloballyOrderedEventStoreRunner (SqlPersistT IO)+postgresStoreGlobalRunner = GloballyOrderedEventStoreRunner $ \action -> do+  (store, pool) <- makeStore+  let globalStore = serializedGloballyOrderedEventStore jsonStringSerializer (sqlGloballyOrderedEventStore defaultSqlEventStoreConfig)+  runSqlPool (action store globalStore) pool