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