tricu

An interpreted language for exploring Tree Calculus
Log | Files | Refs | README | LICENSE

consumer_registry_bundle_run.tri (1621B)


      1 -- Independently imported SCP source compiler, runnable consumer and lambda.
      2 !import "source.module" !Local
      3 !import "io" !Local
      4 !import "http" H
      5 !import "prelude" !Local
      6 root = "__ROOT__"
      7 compare run program baseline request expected = bind (run program root request) (observed :
      8   bind (baseline root request) (reference :
      9     pure (and? (equal? observed reference) (equal? observed expected))))
     10 main = io (onResult_ (readFile "demos/consumers/registry/registry.scp")
     11   (problem : putStrLn "read-fail")
     12   (source : onResult_ (sourceModuleLoadSelected "__STORE__" "registryCompiler" "compileRouteSource")
     13     (problem : putStrLn "compiler-load-fail")
     14     (compile : onResult_ (sourceModuleLoadSelected "__STORE__" "registrySCP" "authored")
     15       (problem : putStrLn "program-load-fail")
     16       (packed : onResult_ (sourceModuleLoadSelected "__STORE__" "registrySCP" "routeRun")
     17         (problem : putStrLn "runner-load-fail")
     18         (run : onResult_ (sourceModuleLoadSelected "__STORE__" "registryLambda" "lambdaRoute")
     19           (problem : putStrLn "lambda-load-fail")
     20           (baseline : matchResult
     21             (_ _ : putStrLn "compiled-source-fail")
     22             (program _ : lazyBool
     23               (_ : bind (compare run program baseline
     24                 (pair "GET" "/_arboricx/bundle/hash/abc123")
     25                 (H.response 200 "application/vnd.arboricx.bundle" "sample-bundle"))
     26                 (same : putStrLn (matchBool "registry-bundle-ok" "registry-bundle-DIFFER" same)))
     27               (_ : putStrLn "program-identity-DIFFER")
     28               (equal? program packed))
     29             (compile source)))))))
     30 main