influxdb 0.2.2 → 0.3.0
raw patch · 7 files changed
+38/−14 lines, 7 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Database.InfluxDB: adminUsername :: Admin -> Text
- Database.InfluxDB.Types: adminUsername :: Admin -> Text
+ Database.InfluxDB: adminName :: Admin -> Text
+ Database.InfluxDB.Types: adminName :: Admin -> Text
Files
- CHANGELOG.md +6/−0
- influxdb.cabal +2/−2
- src/Database/InfluxDB/Decode.hs +1/−1
- src/Database/InfluxDB/Encode.hs +1/−1
- src/Database/InfluxDB/Http.hs +6/−6
- src/Database/InfluxDB/Types.hs +1/−1
- tests/test-suite.hs +21/−3
CHANGELOG.md view
@@ -1,3 +1,9 @@+## v0.3.3 - 2014-06-03++* Support for InfluxDB v0.7+ * Renamed `username` field for `/cluster_admins` to `user`+ * No support for the old field name+ ## v0.2.2 - 2014-05-08 * Support for retry-0.4
influxdb.cabal view
@@ -1,5 +1,5 @@ name: influxdb-version: 0.2.2+version: 0.3.0 synopsis: Haskell client library for InfluxDB description: Haskell client library for InfluxDB homepage: https://github.com/maoe/influxdb-haskell@@ -141,5 +141,5 @@ source-repository this type: git- tag: v0.2.2+ tag: v0.3.0 location: https://github.com/maoe/influxdb-haskell.git
src/Database/InfluxDB/Decode.hs view
@@ -47,7 +47,7 @@ -- > data Event = Event Text EventType -- > data EventType = Login | Logout -- >--- > instance FromSeriesData where+-- > instance FromSeriesData Event where -- > parseSeriesData = withValues $ \values -> Event -- > <$> values .: "user" -- > <*> values .: "type"
src/Database/InfluxDB/Encode.hs view
@@ -27,7 +27,7 @@ -- > data Event = Event Text EventType -- > data EventType = Login | Logout -- >--- > instance ToSeriesData where+-- > instance ToSeriesData Event where -- > toSeriesColumn _ = V.fromList ["user", "type"] -- > toSeriesPoints (Event user ty) = V.fromList [toValue user, toValue ty] -- >
src/Database/InfluxDB/Http.hs view
@@ -76,7 +76,7 @@ import Data.Default.Class (Default(def)) import qualified Data.Aeson as A import qualified Data.Aeson.Encode as AE-import qualified Data.Attoparsec as P+import qualified Data.Attoparsec.ByteString as P import qualified Network.HTTP.Client as HC import Database.InfluxDB.Decode@@ -442,7 +442,7 @@ addClusterAdmin Config {..} name password = do void $ httpLbsWithRetry configServerPool makeRequest configHttpManager return Admin- { adminUsername = name+ { adminName = name } where makeRequest = def@@ -474,12 +474,12 @@ [ "password" .= password ] , HC.path = escapeString $ printf "/cluster_admins/%s"- (T.unpack adminUsername)+ (T.unpack adminName) , HC.queryString = escapeString $ printf "u=%s&p=%s" (T.unpack credsUser) (T.unpack credsPassword) }- Admin {adminUsername} = admin+ Admin {adminName} = admin Credentials {..} = configCreds -- | Delete a cluster administrator. Requires cluster admin privilege.@@ -493,12 +493,12 @@ makeRequest = def { HC.method = "DELETE" , HC.path = escapeString $ printf "/cluster_admins/%s"- (T.unpack adminUsername)+ (T.unpack adminName) , HC.queryString = escapeString $ printf "u=%s&p=%s" (T.unpack credsUser) (T.unpack credsPassword) }- Admin {adminUsername} = admin+ Admin {adminName} = admin Credentials {..} = configCreds -- | List database users.
src/Database/InfluxDB/Types.hs view
@@ -193,7 +193,7 @@ -- | Administrator newtype Admin = Admin- { adminUsername :: Text+ { adminName :: Text } deriving Show
tests/test-suite.hs view
@@ -129,6 +129,24 @@ [series] -> fromSeriesData series @?= Right [Val 42, Val 42, Val 42] _ -> assertFailure $ "Expect one series, but got: " ++ show ss +case_query_nonexistent_series :: Assertion+case_query_nonexistent_series = runTest $ \config ->+ withTestDatabase config $ \database -> do+ name <- liftIO newName+ ss <- query config database $ "select * from " <> name+ ss @?= ([] :: [SeriesData])++case_query_empty_series :: Assertion+case_query_empty_series = runTest $ \config ->+ withTestDatabase config $ \database -> do+ name <- liftIO newName+ post config database $+ writeSeries name $ Val 42+ ss1 <- query config database $ "delete from " <> name+ ss1 @?= ([] :: [SeriesData])+ ss2 <- query config database $ "select * from " <> name+ ss2 @?= ([] :: [SeriesData])+ case_queryChunked :: Assertion case_queryChunked = runTest $ \config -> withTestDatabase config $ \database -> do@@ -194,7 +212,7 @@ case_list_cluster_admins = runTest $ \config -> do admins <- listClusterAdmins config assertBool "No root admin" $- any (("root" ==) . adminUsername) admins+ any (("root" ==) . adminName) admins case_authenticate_cluster_admin :: Assertion case_authenticate_cluster_admin = runTest authenticateClusterAdmin@@ -205,11 +223,11 @@ admin <- addClusterAdmin config name "somePassword" listClusterAdmins config >>= \admins -> assertBool ("No such admin: " ++ T.unpack name) $- any ((name ==) . adminUsername) admins+ any ((name ==) . adminName) admins deleteClusterAdmin config admin listClusterAdmins config >>= \admins -> assertBool ("Found a deleted admin: " ++ T.unpack name) $- all ((name /=) . adminUsername) admins+ all ((name /=) . adminName) admins case_update_cluster_admin_password :: Assertion case_update_cluster_admin_password = runTest $ \config -> do