From ffa7e5d64481bf836ced37d86cee3882800aa2a2 Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Fri, 9 Oct 2020 16:23:08 -0400 Subject: [PATCH] test: add uid --- login.sh | 4 ++++ test.hs | 11 +++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100755 login.sh diff --git a/login.sh b/login.sh new file mode 100755 index 0000000..46bcc0c --- /dev/null +++ b/login.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +PORT=${1:-8080} +curl -v "http://localhost:${PORT}/~/login" \ + --data-raw 'password=lidlut-tabwed-pillex-ridrup&redirect=%2F' \ diff --git a/test.hs b/test.hs index 539aa09..fa51ec9 100644 --- a/test.hs +++ b/test.hs @@ -8,11 +8,14 @@ import Control.Exception (SomeException (..), try) import Control.Lens ((^?)) import Data.Aeson (KeyValue ((.=))) import qualified Data.Aeson as Aeson +import qualified Data.Char as Char import Data.Maybe (isJust) import Data.Text (Text) import qualified Data.Text as Text import qualified Data.Text.IO as Text.IO import qualified Network.Wreq as Wreq +import qualified Numeric +import qualified System.Random as Random import Urbit.Airlock main :: IO () @@ -26,6 +29,7 @@ main = do testing "poke ship" $ isJust <$> do + n <- Random.randomRIO (0, 100) r <- poke ship "zod" "chat-hook" "json" $ Aeson.object @@ -34,10 +38,10 @@ main = do [ "path" .= Text.pack "/~/~zod/mc", "envelope" .= Aeson.object - [ "uid" .= Text.pack "FIXME", + [ "uid" .= (Text.pack $ base32 n), "number" .= lastEventId ship, "author" .= Text.pack "~zod", - "when" .= Text.pack "FIXME", -- int(time.time() * 1000) + "when" .= Text.pack "1602118786225.497", -- int(time.time() * 1000) "letter" .= Aeson.object ["text" .= Text.pack "hello world!"] ] ] @@ -73,6 +77,9 @@ testing description f = Right True -> Text.IO.putStrLn $ "PASS: " <> description +base32 :: Integer -> String +base32 n = Numeric.showIntAtBase 32 Char.intToDigit n "" + {- s = baseconvert.base(random.getrandbits(128), 10, 32, string=True).lower() uid = '0v' + '.'.join(s[i:i+5] for i in range(0, len(s), 5))[::-1]