packages feed

rds-data 0.1.1.1 → 0.1.1.2

raw patch · 7 files changed

+72/−66 lines, 7 filesdep ~hw-polysemy

Dependency ranges changed: hw-polysemy

Files

app/App/Cli/Run/LocalStack.hs view
@@ -21,7 +21,6 @@ import qualified Control.Concurrent                                as IO import qualified Control.Concurrent.STM                            as IO import qualified Control.Exception                                 as IO-import           Control.Monad.IO.Class                            (MonadIO (..)) import qualified Control.Monad.Trans.Resource                      as IO import qualified Control.Monad.Trans.Resource.Internal             as IO import           Data.Acquire                                      (ReleaseType (ReleaseNormal))
integration/Test/Data/RdsData/Migration/ConnectionSpec.hs view
@@ -31,74 +31,84 @@ import           HaskellWorks.Polysemy.Prelude import           HaskellWorks.TestContainers.LocalStack import           Lens.Micro+import qualified System.Info                            as OS import qualified Test.Tasty                             as Tasty import qualified Test.Tasty.Hedgehog                    as H import qualified TestContainers.Tasty                   as TC +isWindows :: Bool+isWindows = OS.os == "mingw32"++isMacos :: Bool+isMacos = OS.os == "darwin"+ -- cabal test rds-data-test --test-options "--pattern \"/RDS integration test/\"" tasty_rds_integration_test :: Tasty.TestTree tasty_rds_integration_test =-  TC.withContainers (setupContainers' projectDefaultLocalStack) $ \getContainer ->-    H.testProperty "RDS integration test" $ propertyOnce $ localWorkspace "rds-data" $ runLocalTestEnv getContainer $ do-      rdsClusterDetails <- createRdsDbCluster "rds_data_migration" getContainer+  if isWindows || isMacos+    then Tasty.testGroup "LocalStackSpec skipped on Windows and MacOS" []+    else+      TC.withContainers (setupContainers' projectDefaultLocalStack) $ \getContainer ->+        H.testProperty "RDS integration test" $ propertyOnce $ localWorkspace "rds-data" $ runLocalTestEnv getContainer $ do+          rdsClusterDetails <- createRdsDbCluster "rds_data_migration" getContainer -      dbClusterArn <- rdsClusterDetails ^. the @"createDbClusterResponse" . the @"dbCluster" . _Just . the @"dbClusterArn"-        & nothingFail+          dbClusterArn <- rdsClusterDetails ^. the @"createDbClusterResponse" . the @"dbCluster" . _Just . the @"dbClusterArn"+            & nothingFail -      runReaderStatementContextFromClusterDetails rdsClusterDetails $ do-        waitUntilRdsDbClusterAvailable dbClusterArn-          & trapFail @AWS.Error-          & jotShowDataLog @AwsLogEntry+          runReaderStatementContextFromClusterDetails rdsClusterDetails $ do+            waitUntilRdsDbClusterAvailable dbClusterArn+              & trapFail @AWS.Error+              & jotShowDataLog @AwsLogEntry -        initialiseDb-          & trapFail @RdsDataError-          & trapFail @AWS.Error-          & jotShowDataLog @AwsLogEntry+            initialiseDb+              & trapFail @RdsDataError+              & trapFail @AWS.Error+              & jotShowDataLog @AwsLogEntry -        migrateUp "db/migration.yaml"-          & trapFail @AWS.Error-          & trapFail @IOException-          & trapFail @JsonDecodeError-          & trapFail @RdsDataError-          & trapFail @YamlDecodeError-          & jotShowDataLog+            migrateUp "db/migration.yaml"+              & trapFail @AWS.Error+              & trapFail @IOException+              & trapFail @JsonDecodeError+              & trapFail @RdsDataError+              & trapFail @YamlDecodeError+              & jotShowDataLog -        upResult <--          ( executeStatement $ mconcat-              [ "SELECT table_name"-              , "  FROM information_schema.tables"-              , "  WHERE table_schema = 'public'"-              , "    AND table_type = 'BASE TABLE';"-              ]-          )-          & trapFail @AWS.Error-          & trapFail @RdsDataError-          & jotShowDataLog+            upResult <-+              ( executeStatement $ mconcat+                  [ "SELECT table_name"+                  , "  FROM information_schema.tables"+                  , "  WHERE table_schema = 'public'"+                  , "    AND table_type = 'BASE TABLE';"+                  ]+              )+              & trapFail @AWS.Error+              & trapFail @RdsDataError+              & jotShowDataLog -        let upTables = upResult ^.. the @"records" . each . each . each . the @"stringValue" . _Just+            let upTables = upResult ^.. the @"records" . each . each . each . the @"stringValue" . _Just -        L.sort upTables === ["examples", "migration", "projects", "users"]+            L.sort upTables === ["examples", "migration", "projects", "users"] -        migrateDown "db/migration.yaml"-          & trapFail @AWS.Error-          & trapFail @IOException-          & trapFail @JsonDecodeError-          & trapFail @RdsDataError-          & trapFail @YamlDecodeError-          & jotShowDataLog+            migrateDown "db/migration.yaml"+              & trapFail @AWS.Error+              & trapFail @IOException+              & trapFail @JsonDecodeError+              & trapFail @RdsDataError+              & trapFail @YamlDecodeError+              & jotShowDataLog -        downResult <--          ( executeStatement $ mconcat-              [ "SELECT table_name"-              , "  FROM information_schema.tables"-              , "  WHERE table_schema = 'public'"-              , "    AND table_type = 'BASE TABLE'"-              ]-          )-          & trapFail @AWS.Error-          & trapFail @RdsDataError-          & jotShowDataLog+            downResult <-+              ( executeStatement $ mconcat+                  [ "SELECT table_name"+                  , "  FROM information_schema.tables"+                  , "  WHERE table_schema = 'public'"+                  , "    AND table_type = 'BASE TABLE'"+                  ]+              )+              & trapFail @AWS.Error+              & trapFail @RdsDataError+              & jotShowDataLog -        let downTables = downResult ^.. the @"records" . each . each . each . the @"stringValue" . _Just+            let downTables = downResult ^.. the @"records" . each . each . each . the @"stringValue" . _Just -        L.sort downTables === ["migration"]+            L.sort downTables === ["migration"]
polysemy/Data/RdsData/Polysemy/Core.hs view
@@ -16,7 +16,6 @@ import qualified Amazonka.RDSData.BatchExecuteStatement as AWS import qualified Amazonka.RDSData.ExecuteStatement      as AWS import qualified Amazonka.Types                         as AWS-import           Control.Monad.IO.Class                 (MonadIO) import           Data.Generics.Product.Any import           Data.RdsData.Aws import           Data.RdsData.Polysemy.Error
rds-data.cabal view
@@ -1,7 +1,7 @@ cabal-version: 3.6  name:                   rds-data-version:                0.1.1.1+version:                0.1.1.2 synopsis:               Codecs for use with AWS rds-data description:            Codecs for use with AWS rds-data. category:               Data@@ -13,7 +13,7 @@ copyright:              2024 John Ky license:                BSD-3-Clause license-file:           LICENSE-tested-with:            GHC == 9.6.6+tested-with:            GHC == 9.6.6, GHC == 9.4.8 build-type:             Simple extra-source-files:     README.md @@ -39,10 +39,10 @@ common hedgehog                                 { build-depends: hedgehog                                 >= 1.4        && < 2      } common hedgehog-extras                          { build-depends: hedgehog-extras                          >= 0.6.0.2    && < 0.7    } common http-client                              { build-depends: http-client                              >= 0.5.14     && < 0.8    }-common hw-polysemy-amazonka                     { build-depends: hw-polysemy:amazonka                     >= 0.3.1      && < 0.4    }-common hw-polysemy-core                         { build-depends: hw-polysemy:core                         >= 0.3.1      && < 0.4    }-common hw-polysemy-hedgehog                     { build-depends: hw-polysemy:hedgehog                     >= 0.3.1      && < 0.4    }-common hw-polysemy-testcontainers-localstack    { build-depends: hw-polysemy:testcontainers-localstack    >= 0.3.1      && < 0.4    }+common hw-polysemy-amazonka                     { build-depends: hw-polysemy:amazonka                     >= 0.3.1.1    && < 0.4    }+common hw-polysemy-core                         { build-depends: hw-polysemy:core                         >= 0.3.1.1    && < 0.4    }+common hw-polysemy-hedgehog                     { build-depends: hw-polysemy:hedgehog                     >= 0.3.1.1    && < 0.4    }+common hw-polysemy-testcontainers-localstack    { build-depends: hw-polysemy:testcontainers-localstack    >= 0.3.1.1    && < 0.4    } common hw-prelude                               { build-depends: hw-prelude                               >= 0.0.1.0    && < 0.1    } common microlens                                { build-depends: microlens                                >= 0.4.13     && < 0.5    } common mtl                                      { build-depends: mtl                                      >= 2          && < 3      }
src/Data/RdsData/Decode/Value.hs view
@@ -58,7 +58,6 @@ import           Data.Word import           Prelude                       hiding (fail, maybe, null) -import qualified Amazonka.Data.ByteString      as AWS import qualified Data.Aeson                    as J import qualified Data.ByteString.Base64        as B64 import qualified Data.ByteString.Base64.Lazy   as LB64@@ -248,7 +247,7 @@  bytestring :: DecodeValue ByteString bytestring =-  AWS.toBS <$> base64+  unBase64 <$> base64  lazyText :: DecodeValue LT.Text lazyText =
src/Data/RdsData/Encode/Param.hs view
@@ -60,7 +60,6 @@ import           Lens.Micro import           Prelude                       hiding (maybe, null) -import qualified Amazonka.Bytes                as AWS import qualified Amazonka.Data.Base64          as AWS import qualified Amazonka.RDSData              as AWS import qualified Data.Aeson                    as J@@ -179,7 +178,7 @@  bytestring :: EncodeParam ByteString bytestring =-  (AWS.Base64 . AWS.encodeBase64) >$< base64+  AWS.Base64 >$< base64  lazyBytestring :: EncodeParam LBS.ByteString lazyBytestring =
test/Data/RdsDataSpec.hs view
@@ -79,7 +79,7 @@       { TT.bigint             = 1234567890       , TT.bigserial          = 1       , TT.boolean            = True-      , TT.bytea              = "EjQ="+      , TT.bytea              = "\DC24"       , TT.character          = "A"       , TT.characters         = "AB"       , TT.varyingCharacter   = "C"