/+ *test :: /= jael-raw /: /===/sys/vane/jael /!noun/ =/ type-spear -:!>(jael-raw) :: =/ test-pit=vase !>(.) =/ jael-gate (jael-raw test-pit) :: |% :: tests that booting into %jael inits other vanes :: ++ test-boot-dawn :: +key ~nul =/ key=ring 0w8O.k5Ry4.QsKQq.1k~uj.DBOU4.numfq.nXOwa.cSk7B.VcHVm. -8~kX.3ALiG.rQjOi.HZ9hj.84b6G.P5pCZ.UtNtt.Lh9TE.2DQJ2 =/ url (de-purl:html 'http://localhost:8545') =/ dan [`seed:able:jael`[~nul 1 key ~] ~nul ~ [/org/urbit ~] 0 url ~] :: =^ results1 jael-gate =/ hen=duct [/ /term/1 / ~] %- jael-call :* jael-gate now=~1234.5.6 call-args=[hen type=*type %dawn dan] :~ [hen %slip %a %init ~nul] [hen %slip %c %init ~nul] [hen %slip %g %init ~nul] [hen %slip %d %init ~nul] [hen %slip %r %init ~nul] [hen %give %init ~nul] [hen %pass /~nul/init %b %wait +(~1234.5.6)] == == :: =^ results2 jael-gate =/ wir=wire /our/~nul/now/(scot %da (add ~s1 ~1234.5.6)) %- jael-call-with-comparator :* jael-gate now=(add ~s1 ~1234.5.6) call-args=[duct=[/ /term/1 wir ~] type=*type %vein ~] ^= comparator |= moves=(list move:jael-gate) ;: weld %+ expect-eq !> 1 !> (lent moves) :: %+ expect-eq !> [%give %vein 1 (my [1 key] ~)] !> q:(head moves) == == :: =^ results3 jael-gate :: =/ request=request:http %+ light-json-request:rpc:ethereum (need url) %+ request-to-json:rpc:ethereum `'block number' [%eth-block-number ~] :: %- jael-take-with-comparator :* jael-gate now=(add ~s2 ~1234.5.6) take-args=[wire=/~nul/init duct=[/ /term/1 ~] type=*type %b %wake ~] ^= comparator |= moves=(list move:jael-gate) ?> ?=(^ moves) ?> ?=([* %pass * %l %request *] i.moves) ;: weld %+ expect-eq !> 1 !> (lent moves) :: %+ expect-eq !> request !> request.q.q.i.moves == == :: :(weld results1 results2 results3) :: ++ jael-call |= $: jael-gate=_jael-gate now=@da call-args=[=duct wrapped-task=(hypo (hobo task:able:jael-gate))] expected-moves=(list move:jael-gate) == ^- [tang _jael-gate] :: =/ jael (jael-gate our=~nul now=now eny=`@`0xdead.beef scry=*sley) :: =^ moves jael-gate %- call:jael call-args :: =/ output=tang %+ expect-eq !> expected-moves !> moves :: [output jael-gate] :: ++ jael-call-with-comparator |= $: jael-gate=_jael-gate now=@da call-args=[=duct wrapped-task=(hypo (hobo task:able:jael-gate))] move-comparator=$-((list move:jael-gate) tang) == ^- [tang _jael-gate] :: =/ jael (jael-gate our=~nul now=now eny=`@`0xdead.beef scry=*sley) :: =^ moves jael-gate %- call:jael call-args :: =/ output=tang (move-comparator moves) :: [output jael-gate] :: ++ jael-take |= $: jael-gate=_jael-gate now=@da take-args=[=wire =duct wrapped-task=(hypo sign:jael-gate)] expected-moves=(list move:jael-gate) == ^- [tang _jael-gate] :: =/ jael (jael-gate our=~nul now=now eny=`@`0xdead.beef scry=*sley) :: =^ moves jael-gate %- take:jael take-args :: =/ output=tang %+ expect-eq !> expected-moves !> moves :: [output jael-gate] :: ++ jael-take-with-comparator |= $: jael-gate=_jael-gate now=@da take-args=[=wire =duct wrapped-task=(hypo sign:jael-gate)] move-comparator=$-((list move:jael-gate) tang) == ^- [tang _jael-gate] :: =/ jael (jael-gate our=~nul now=now eny=`@`0xdead.beef scry=*sley) :: =^ moves jael-gate %- take:jael take-args :: =/ output=tang (move-comparator moves) :: [output jael-gate] --