module Main where
import qualified Net.DigitalOcean as DO
import qualified Data.Text as T
import Test.Hspec
import Control.Lens
import Data.Char (isSpace)
rstrip :: String -> String
rstrip = reverse . dropWhile isSpace . reverse
getAuthToken :: IO String
getAuthToken = fmap rstrip $ readFile "./auth_token.txt"
getConfig :: IO DO.Config
getConfig = fmap (DO.Config . T.pack) getAuthToken
main :: IO ()
main = do
c <- getConfig
putStrLn $ show c
hspec $ do
describe "SSHKeys.getSSHKeys" $ do
it "returns (at least) a key named milo" $ do
keys <- DO.getSSHKeys c
keys `shouldSatisfy` any (\k -> k ^. DO.keyName == "Milo")