packages feed

conferer-1.1.0.0: test/Conferer/Source/NamespacedSpec.hs

module Conferer.Source.NamespacedSpec where

import Test.Hspec

import Conferer.Source

import qualified Conferer.Source.InMemory as InMemory
import Conferer.Source.Namespaced

spec :: Spec
spec = do
  describe "namespaced config" $ do
    let source =
          fromInner "postgres" $
            InMemory.fromAssociations [("url", "some url")]
    it "return nothing if the key doesn't match" $ do
      res <- getKeyInSource source "url"
      res `shouldBe` Nothing
    it "returns the wrapped value" $ do
      res <- getKeyInSource source "postgres.url"
      res `shouldBe` Just "some url"
    it "listing subkeys" $ do
      res <- getSubkeysInSource source "postgres"
      res `shouldBe` ["postgres.url"]