powerdns 0.2.0 → 0.2.1
raw patch · 6 files changed
+23/−20 lines, 6 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ PowerDNS.Internal.Utils: map1 :: (a -> a) -> [a] -> [a]
Files
- PowerDNS/API/Servers.hs +5/−4
- PowerDNS/API/TSIGKeys.hs +0/−2
- PowerDNS/API/Zones.hs +5/−7
- PowerDNS/Internal/Utils.hs +5/−0
- powerdns.cabal +1/−1
- spec/Spec.hs +7/−6
PowerDNS/API/Servers.hs view
@@ -36,7 +36,8 @@ import Control.DeepSeq (NFData) import Data.Aeson (FromJSON(..), ToJSON(..), defaultOptions , Value(String)- , fieldLabelModifier, genericParseJSON+ , fieldLabelModifier, constructorTagModifier+ , genericParseJSON , allNullaryToStringTag , genericToJSON , (.:), (.=)@@ -47,7 +48,7 @@ import Servant.API import Servant.API.Generic -import PowerDNS.Internal.Utils (Empty(..), strip)+import PowerDNS.Internal.Utils (Empty(..), strip, map1) ---------------------------------------------------------------------------------------- @@ -120,11 +121,11 @@ deriving (Eq, Ord, Show, Generic, NFData, Data) instance ToJSON ObjectType where- toJSON = genericToJSON defaultOptions { fieldLabelModifier = fmap toLower . strip "Ty"+ toJSON = genericToJSON defaultOptions { constructorTagModifier = map1 toLower . strip "Ty" , allNullaryToStringTag = True } instance FromJSON ObjectType where- parseJSON = genericParseJSON defaultOptions { fieldLabelModifier = fmap toLower . strip "Ty"+ parseJSON = genericParseJSON defaultOptions { constructorTagModifier = map1 toLower . strip "Ty" , allNullaryToStringTag = True } instance FromHttpApiData ObjectType where
PowerDNS/API/TSIGKeys.hs view
@@ -26,9 +26,7 @@ import Data.Char (toLower) import Data.Functor ((<&>)) import Data.Data (Data)-#if !(MIN_VERSION_base(4,11,0)) import Control.Monad.Fail (MonadFail)-#endif import Control.DeepSeq (NFData) import Data.Aeson ( FromJSON(..), ToJSON(..), Value(String), allNullaryToStringTag
PowerDNS/API/Zones.hs view
@@ -32,7 +32,7 @@ import Control.DeepSeq (NFData) import Data.Aeson (FromJSON(..), ToJSON(..), allNullaryToStringTag,- defaultOptions, fieldLabelModifier,+ defaultOptions, fieldLabelModifier, constructorTagModifier, genericParseJSON, genericToJSON, omitNothingFields) import qualified Data.Text as T import Data.Time.Clock.POSIX (POSIXTime)@@ -125,12 +125,10 @@ deriving (Eq, Ord, Show, Generic, NFData, Data) instance ToJSON Kind where- toJSON = genericToJSON defaultOptions { fieldLabelModifier = fmap toUpper- , allNullaryToStringTag = True }+ toJSON = genericToJSON defaultOptions { allNullaryToStringTag = True } instance FromJSON Kind where- parseJSON = genericParseJSON defaultOptions { fieldLabelModifier = fmap toUpper- , allNullaryToStringTag = True }+ parseJSON = genericParseJSON defaultOptions { allNullaryToStringTag = True } ---------------------------------------------------------------------------------------- @@ -233,11 +231,11 @@ deriving (Eq, Ord, Show, Generic, NFData, Data) instance ToJSON ChangeType where- toJSON = genericToJSON defaultOptions { fieldLabelModifier = fmap toUpper+ toJSON = genericToJSON defaultOptions { constructorTagModifier = fmap toUpper , allNullaryToStringTag = True } instance FromJSON ChangeType where- parseJSON = genericParseJSON defaultOptions { fieldLabelModifier = fmap toUpper+ parseJSON = genericParseJSON defaultOptions { constructorTagModifier = fmap toUpper , allNullaryToStringTag = True } ----------------------------------------------------------------------------------------
PowerDNS/Internal/Utils.hs view
@@ -9,6 +9,7 @@ {-# LANGUAGE OverloadedStrings #-} module PowerDNS.Internal.Utils ( strip+ , map1 , Empty(..) , GEmpty(..) )@@ -23,6 +24,10 @@ Just ys -> ys Nothing -> xs +-- | Version of map that applies the function to the first element only+map1 :: (a -> a) -> [a] -> [a]+map1 f (x:xs) = f x : xs+map1 _ xss = xss -- | Typeclass of things we can generate empty values of. -- This is used to quickly build values from parameters to PowerDNS, because
powerdns.cabal view
@@ -1,6 +1,6 @@ cabal-version: >=1.10 name: powerdns-version: 0.2.0+version: 0.2.1 license: BSD3 license-file: LICENSE copyright: (c) 2021 Victor Nawothnig
spec/Spec.hs view
@@ -1,15 +1,16 @@ {-# LANGUAGE OverloadedStrings #-}-import Data.Either (isRight) import Control.Monad (unless)+import Data.Either (isRight) import GHC.Stack (HasCallStack) +import Network.HTTP.Client (Manager, defaultManagerSettings, newManager)+import Servant.Client (ClientEnv, ClientM, mkClientEnv, runClientM)+import Servant.Client.Core (BaseUrl, ClientError(..), parseBaseUrl,+ responseStatusCode) import System.IO.Unsafe (unsafePerformIO) import Test.Tasty import Test.Tasty.HUnit-import Network.HTTP.Client (newManager, defaultManagerSettings, Manager)-import Servant.Client (runClientM, mkClientEnv, ClientEnv, ClientM)-import Servant.Client.Core (parseBaseUrl, BaseUrl, ClientError(..), responseStatusCode) import PowerDNS.Client @@ -19,7 +20,7 @@ {-# NOINLINE baseUrl #-} baseUrl :: BaseUrl-baseUrl = unsafePerformIO (parseBaseUrl "localhost:8081")+baseUrl = unsafePerformIO (parseBaseUrl "pdns:8081") envNoAuth :: ClientEnv envNoAuth = mkClientEnv mgr baseUrl@@ -148,7 +149,7 @@ assertRight :: (Show a, HasCallStack) => String -> Either a b -> IO b assertRight preface e = case e of- Left e -> assertFailure (msg e)+ Left e -> assertFailure (msg e) Right r -> pure r where msg v = (if null preface then "" else preface ++ "\n") ++ "Unexpected Left: " ++ show v