openc3-cosmos-tool-docs 5.14.2 → 5.15.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/tools/staticdocs/404.html +2 -2
- data/tools/staticdocs/assets/js/019369f3.3a124fd7.js +1 -0
- data/tools/staticdocs/assets/js/058ffc22.c85ad785.js +1 -0
- data/tools/staticdocs/assets/js/0686a885.4d6b8154.js +1 -0
- data/tools/staticdocs/assets/js/{07876b9c.bcadf7df.js → 07876b9c.b8d12431.js} +1 -1
- data/tools/staticdocs/assets/js/078dbab0.45ea4593.js +1 -0
- data/tools/staticdocs/assets/js/0f5d161c.dda04dbb.js +1 -0
- data/tools/staticdocs/assets/js/0ff569c9.317b47d0.js +1 -0
- data/tools/staticdocs/assets/js/103cc3be.a946540f.js +1 -0
- data/tools/staticdocs/assets/js/13196248.d8f8ef9f.js +1 -0
- data/tools/staticdocs/assets/js/13c1b4e4.50ee3d02.js +1 -0
- data/tools/staticdocs/assets/js/1b2b4b61.2556cd65.js +1 -0
- data/tools/staticdocs/assets/js/2047b354.75fe47dd.js +1 -0
- data/tools/staticdocs/assets/js/22b3ac48.77516494.js +1 -0
- data/tools/staticdocs/assets/js/2601.ca992ab9.js +1 -0
- data/tools/staticdocs/assets/js/26b8abb2.dcdf815e.js +1 -0
- data/tools/staticdocs/assets/js/{2923e883.779dc8d3.js → 2923e883.ed90d0a7.js} +1 -1
- data/tools/staticdocs/assets/js/2bb7bf90.c642620c.js +1 -0
- data/tools/staticdocs/assets/js/3dd7ef3b.f84c6956.js +1 -0
- data/tools/staticdocs/assets/js/{3df159b4.edd6dd5f.js → 3df159b4.ff98bfab.js} +1 -1
- data/tools/staticdocs/assets/js/40365d27.c318f801.js +1 -0
- data/tools/staticdocs/assets/js/411898ad.e29e2db3.js +1 -0
- data/tools/staticdocs/assets/js/42170351.15f2f1e3.js +1 -0
- data/tools/staticdocs/assets/js/43652efd.4e7d6a97.js +1 -0
- data/tools/staticdocs/assets/js/53ca7c5b.3f1245d5.js +1 -0
- data/tools/staticdocs/assets/js/54d0d530.769f5473.js +1 -0
- data/tools/staticdocs/assets/js/{55cdbca5.e73bdb1a.js → 55cdbca5.695875ea.js} +1 -1
- data/tools/staticdocs/assets/js/5723.f6123e37.js +1 -0
- data/tools/staticdocs/assets/js/{9142.cab356f2.js → 5778.7d36f1c2.js} +1 -1
- data/tools/staticdocs/assets/js/5b233ba7.0029b2f5.js +1 -0
- data/tools/staticdocs/assets/js/5bc719f6.84f6ce9e.js +1 -0
- data/tools/staticdocs/assets/js/5c6ce5ec.8667906a.js +1 -0
- data/tools/staticdocs/assets/js/5e3ed378.91d6735f.js +1 -0
- data/tools/staticdocs/assets/js/{5fe211ef.debbddaa.js → 5fe211ef.1d991947.js} +1 -1
- data/tools/staticdocs/assets/js/{64630c4f.81b3c47d.js → 64630c4f.a229ae1d.js} +1 -1
- data/tools/staticdocs/assets/js/6831b732.a77e4761.js +1 -0
- data/tools/staticdocs/assets/js/696b4199.2700ad91.js +1 -0
- data/tools/staticdocs/assets/js/{6b210247.b50441ee.js → 6b210247.074332a1.js} +1 -1
- data/tools/staticdocs/assets/js/6b65133b.109a6bef.js +1 -0
- data/tools/staticdocs/assets/js/6f92e431.67f5a7a4.js +1 -0
- data/tools/staticdocs/assets/js/72c6d8a8.5fca8d68.js +1 -0
- data/tools/staticdocs/assets/js/{75373ac0.f35aa5aa.js → 75373ac0.6a0a4fa2.js} +1 -1
- data/tools/staticdocs/assets/js/{75e64983.9153c043.js → 75e64983.e31793e1.js} +1 -1
- data/tools/staticdocs/assets/js/7760.7f593c4f.js +2 -0
- data/tools/staticdocs/assets/js/7918.25ec42db.js +1 -0
- data/tools/staticdocs/assets/js/867640d5.a8f59357.js +1 -0
- data/tools/staticdocs/assets/js/89e76475.de702714.js +1 -0
- data/tools/staticdocs/assets/js/8f7843ee.0f25fdc3.js +1 -0
- data/tools/staticdocs/assets/js/9424f0b3.66b19930.js +1 -0
- data/tools/staticdocs/assets/js/{97535711.14f1644d.js → 97535711.ddc0f5af.js} +1 -1
- data/tools/staticdocs/assets/js/{99581c43.de6d7078.js → 99581c43.0767018a.js} +1 -1
- data/tools/staticdocs/assets/js/99b59eea.d4dd9989.js +1 -0
- data/tools/staticdocs/assets/js/9d6e81d0.c31feabc.js +1 -0
- data/tools/staticdocs/assets/js/9fb6059a.30085d79.js +1 -0
- data/tools/staticdocs/assets/js/a507c363.198e9246.js +1 -0
- data/tools/staticdocs/assets/js/a677c089.48b6c791.js +1 -0
- data/tools/staticdocs/assets/js/a9987364.cfb3492e.js +1 -0
- data/tools/staticdocs/assets/js/aa6b6c1b.065a8213.js +1 -0
- data/tools/staticdocs/assets/js/b4596165.b4c6c1b8.js +1 -0
- data/tools/staticdocs/assets/js/b6d70f94.66d95cb7.js +1 -0
- data/tools/staticdocs/assets/js/b9f60ba6.655a4097.js +1 -0
- data/tools/staticdocs/assets/js/{bd0034eb.ca5c64eb.js → bd0034eb.ff7f6265.js} +1 -1
- data/tools/staticdocs/assets/js/c24eae19.db62873a.js +1 -0
- data/tools/staticdocs/assets/js/cb8c3f08.f669adda.js +1 -0
- data/tools/staticdocs/assets/js/cd879be4.6ee752c7.js +1 -0
- data/tools/staticdocs/assets/js/{d1b923aa.c606e06a.js → d1b923aa.e7ee188a.js} +1 -1
- data/tools/staticdocs/assets/js/d1bfc316.963c2477.js +1 -0
- data/tools/staticdocs/assets/js/d24bf9b6.31d82456.js +1 -0
- data/tools/staticdocs/assets/js/d57a4b5d.905988ec.js +1 -0
- data/tools/staticdocs/assets/js/d5d77c37.80e1a28b.js +1 -0
- data/tools/staticdocs/assets/js/{d797a795.b35ee94f.js → d797a795.5725bf2b.js} +1 -1
- data/tools/staticdocs/assets/js/d8ca4191.56c22a69.js +1 -0
- data/tools/staticdocs/assets/js/d9b92eba.16d983a0.js +1 -0
- data/tools/staticdocs/assets/js/db8fa1d0.c35b153c.js +1 -0
- data/tools/staticdocs/assets/js/dc5f7beb.88b0f00b.js +1 -0
- data/tools/staticdocs/assets/js/e501b0d1.3aa571ae.js +1 -0
- data/tools/staticdocs/assets/js/ebec1ccb.a801549e.js +1 -0
- data/tools/staticdocs/assets/js/f15615f1.0b19ae07.js +1 -0
- data/tools/staticdocs/assets/js/fd886806.57eeb84b.js +1 -0
- data/tools/staticdocs/assets/js/main.a6fe34c0.js +2 -0
- data/tools/staticdocs/assets/js/runtime~main.256dc9a2.js +1 -0
- data/tools/staticdocs/docs/configuration/command.html +168 -74
- data/tools/staticdocs/docs/configuration/format.html +51 -22
- data/tools/staticdocs/docs/configuration/interfaces.html +78 -23
- data/tools/staticdocs/docs/configuration/plugins.html +162 -113
- data/tools/staticdocs/docs/configuration/protocols.html +86 -46
- data/tools/staticdocs/docs/configuration/ssl-tls.html +102 -31
- data/tools/staticdocs/docs/configuration/table.html +113 -48
- data/tools/staticdocs/docs/configuration/target.html +29 -21
- data/tools/staticdocs/docs/configuration/telemetry-screens.html +441 -183
- data/tools/staticdocs/docs/configuration/telemetry.html +175 -75
- data/tools/staticdocs/docs/configuration.html +2 -2
- data/tools/staticdocs/docs/development/curl.html +54 -11
- data/tools/staticdocs/docs/development/developing.html +78 -27
- data/tools/staticdocs/docs/development/host-install.html +20 -7
- data/tools/staticdocs/docs/development/json-api.html +30 -18
- data/tools/staticdocs/docs/development/log-structure.html +11 -11
- data/tools/staticdocs/docs/development/roadmap.html +11 -11
- data/tools/staticdocs/docs/development/streaming-api.html +81 -9
- data/tools/staticdocs/docs/development/testing.html +23 -14
- data/tools/staticdocs/docs/development.html +2 -2
- data/tools/staticdocs/docs/getting-started/generators.html +107 -33
- data/tools/staticdocs/docs/getting-started/gettingstarted.html +70 -22
- data/tools/staticdocs/docs/getting-started/installation.html +33 -22
- data/tools/staticdocs/docs/getting-started/key_concepts.html +33 -33
- data/tools/staticdocs/docs/getting-started/podman.html +54 -23
- data/tools/staticdocs/docs/getting-started/requirements.html +18 -18
- data/tools/staticdocs/docs/getting-started/upgrading.html +14 -9
- data/tools/staticdocs/docs/getting-started.html +2 -2
- data/tools/staticdocs/docs/guides/bridges.html +61 -17
- data/tools/staticdocs/docs/guides/cfs.html +182 -42
- data/tools/staticdocs/docs/guides/custom-widgets.html +44 -17
- data/tools/staticdocs/docs/guides/little-endian-bitfields.html +12 -3
- data/tools/staticdocs/docs/guides/local-mode.html +18 -13
- data/tools/staticdocs/docs/guides/logging.html +10 -10
- data/tools/staticdocs/docs/guides/monitoring.html +135 -20
- data/tools/staticdocs/docs/guides/performance.html +24 -15
- data/tools/staticdocs/docs/guides/raspberrypi.html +22 -7
- data/tools/staticdocs/docs/guides/script-writing.html +387 -82
- data/tools/staticdocs/docs/guides/scripting-api.html +1339 -476
- data/tools/staticdocs/docs/guides.html +2 -2
- data/tools/staticdocs/docs/meta/contributing.html +17 -12
- data/tools/staticdocs/docs/meta/licenses.html +28 -10
- data/tools/staticdocs/docs/meta/philosophy.html +2 -2
- data/tools/staticdocs/docs/meta/xtce.html +14 -12
- data/tools/staticdocs/docs/meta.html +2 -2
- data/tools/staticdocs/docs/privacy.html +17 -17
- data/tools/staticdocs/docs/tools/autonomic.html +20 -20
- data/tools/staticdocs/docs/tools/bucket-explorer.html +11 -11
- data/tools/staticdocs/docs/tools/calendar.html +19 -19
- data/tools/staticdocs/docs/tools/cmd-sender.html +13 -13
- data/tools/staticdocs/docs/tools/cmd-tlm-server.html +21 -21
- data/tools/staticdocs/docs/tools/data-extractor.html +24 -24
- data/tools/staticdocs/docs/tools/data-viewer.html +11 -11
- data/tools/staticdocs/docs/tools/handbooks.html +4 -4
- data/tools/staticdocs/docs/tools/limits-monitor.html +17 -17
- data/tools/staticdocs/docs/tools/packet-viewer.html +13 -13
- data/tools/staticdocs/docs/tools/script-runner.html +72 -33
- data/tools/staticdocs/docs/tools/table-manager.html +46 -11
- data/tools/staticdocs/docs/tools/tlm-grapher.html +20 -20
- data/tools/staticdocs/docs/tools/tlm-viewer.html +15 -15
- data/tools/staticdocs/docs/tools.html +2 -2
- data/tools/staticdocs/docs.html +12 -12
- data/tools/staticdocs/index.html +2 -2
- data/tools/staticdocs/lunr-index-1710043920959.json +1 -0
- data/tools/staticdocs/lunr-index.json +1 -1
- data/tools/staticdocs/markdown-page.html +3 -3
- data/tools/staticdocs/search-doc-1710043920959.json +1 -0
- data/tools/staticdocs/search-doc.json +1 -1
- metadata +86 -86
- data/tools/staticdocs/assets/js/019369f3.4c70e0f5.js +0 -1
- data/tools/staticdocs/assets/js/058ffc22.9fe67269.js +0 -1
- data/tools/staticdocs/assets/js/0686a885.bec3d8d0.js +0 -1
- data/tools/staticdocs/assets/js/078dbab0.21af6e8e.js +0 -1
- data/tools/staticdocs/assets/js/0f5d161c.821a434d.js +0 -1
- data/tools/staticdocs/assets/js/0ff569c9.b7b2f0e7.js +0 -1
- data/tools/staticdocs/assets/js/103cc3be.69ac319c.js +0 -1
- data/tools/staticdocs/assets/js/13196248.50c46920.js +0 -1
- data/tools/staticdocs/assets/js/13c1b4e4.cd1ff3e4.js +0 -1
- data/tools/staticdocs/assets/js/1b2b4b61.bc9d9dae.js +0 -1
- data/tools/staticdocs/assets/js/2047b354.a81749f4.js +0 -1
- data/tools/staticdocs/assets/js/22b3ac48.8087c066.js +0 -1
- data/tools/staticdocs/assets/js/2684.36b8c775.js +0 -1
- data/tools/staticdocs/assets/js/26b8abb2.b69bce6b.js +0 -1
- data/tools/staticdocs/assets/js/2bb7bf90.615ed3e3.js +0 -1
- data/tools/staticdocs/assets/js/3dd7ef3b.4ee9bb2b.js +0 -1
- data/tools/staticdocs/assets/js/40365d27.4c276089.js +0 -1
- data/tools/staticdocs/assets/js/411898ad.dba1dcf4.js +0 -1
- data/tools/staticdocs/assets/js/42170351.7de5b38a.js +0 -1
- data/tools/staticdocs/assets/js/43652efd.817db236.js +0 -1
- data/tools/staticdocs/assets/js/53ca7c5b.7c5b0f91.js +0 -1
- data/tools/staticdocs/assets/js/54d0d530.5600c9b0.js +0 -1
- data/tools/staticdocs/assets/js/5640.603af822.js +0 -2
- data/tools/staticdocs/assets/js/5b233ba7.816cf3c7.js +0 -1
- data/tools/staticdocs/assets/js/5bc719f6.832101d0.js +0 -1
- data/tools/staticdocs/assets/js/5c6ce5ec.29713d16.js +0 -1
- data/tools/staticdocs/assets/js/5e3ed378.2a1df40b.js +0 -1
- data/tools/staticdocs/assets/js/6624.7d23f967.js +0 -1
- data/tools/staticdocs/assets/js/6831b732.cb28ec2a.js +0 -1
- data/tools/staticdocs/assets/js/696b4199.3f5260ea.js +0 -1
- data/tools/staticdocs/assets/js/6b65133b.3e207b70.js +0 -1
- data/tools/staticdocs/assets/js/6f92e431.f39c2a82.js +0 -1
- data/tools/staticdocs/assets/js/72c6d8a8.9247374f.js +0 -1
- data/tools/staticdocs/assets/js/80.7f39c110.js +0 -1
- data/tools/staticdocs/assets/js/867640d5.1ad7ba44.js +0 -1
- data/tools/staticdocs/assets/js/89e76475.ed8629f4.js +0 -1
- data/tools/staticdocs/assets/js/8f7843ee.1efba1e7.js +0 -1
- data/tools/staticdocs/assets/js/9424f0b3.05020154.js +0 -1
- data/tools/staticdocs/assets/js/99b59eea.ff86d64b.js +0 -1
- data/tools/staticdocs/assets/js/9d6e81d0.118681ad.js +0 -1
- data/tools/staticdocs/assets/js/9fb6059a.d3e03463.js +0 -1
- data/tools/staticdocs/assets/js/a507c363.a5cb92f5.js +0 -1
- data/tools/staticdocs/assets/js/a677c089.1e72219d.js +0 -1
- data/tools/staticdocs/assets/js/a9987364.5e9c5fba.js +0 -1
- data/tools/staticdocs/assets/js/aa6b6c1b.bae800c5.js +0 -1
- data/tools/staticdocs/assets/js/b4596165.ca25b65e.js +0 -1
- data/tools/staticdocs/assets/js/b6d70f94.52733814.js +0 -1
- data/tools/staticdocs/assets/js/b9f60ba6.026c925c.js +0 -1
- data/tools/staticdocs/assets/js/c24eae19.94275d3c.js +0 -1
- data/tools/staticdocs/assets/js/cb8c3f08.bd1deb3f.js +0 -1
- data/tools/staticdocs/assets/js/cd879be4.6f45475a.js +0 -1
- data/tools/staticdocs/assets/js/d1bfc316.65307471.js +0 -1
- data/tools/staticdocs/assets/js/d24bf9b6.1233a5c6.js +0 -1
- data/tools/staticdocs/assets/js/d57a4b5d.d43ffea3.js +0 -1
- data/tools/staticdocs/assets/js/d5d77c37.32ff5b2f.js +0 -1
- data/tools/staticdocs/assets/js/d8ca4191.5c73f3e4.js +0 -1
- data/tools/staticdocs/assets/js/d9b92eba.694c3ff3.js +0 -1
- data/tools/staticdocs/assets/js/db8fa1d0.95630ed9.js +0 -1
- data/tools/staticdocs/assets/js/dc5f7beb.d4658c69.js +0 -1
- data/tools/staticdocs/assets/js/e501b0d1.83046007.js +0 -1
- data/tools/staticdocs/assets/js/ebec1ccb.6f1d3fbf.js +0 -1
- data/tools/staticdocs/assets/js/f15615f1.b8e79235.js +0 -1
- data/tools/staticdocs/assets/js/fd886806.a07830ee.js +0 -1
- data/tools/staticdocs/assets/js/main.4510cb33.js +0 -2
- data/tools/staticdocs/assets/js/runtime~main.87667807.js +0 -1
- data/tools/staticdocs/lunr-index-1707604600660.json +0 -1
- data/tools/staticdocs/search-doc-1707604600660.json +0 -1
- /data/tools/staticdocs/assets/js/{5640.603af822.js.LICENSE.txt → 7760.7f593c4f.js.LICENSE.txt} +0 -0
- /data/tools/staticdocs/assets/js/{main.4510cb33.js.LICENSE.txt → main.a6fe34c0.js.LICENSE.txt} +0 -0
@@ -4,34 +4,106 @@
|
|
4
4
|
<meta charset="UTF-8">
|
5
5
|
<meta name="generator" content="Docusaurus v3.1.0">
|
6
6
|
<title data-rh="true">Streaming API | OpenC3 Docs</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.openc3.com/tools/staticdocs/docs/development/streaming-api"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Streaming API | OpenC3 Docs"><meta data-rh="true" name="description" content="This information is just generally used behind the scenes in COSMOS tools"><meta data-rh="true" property="og:description" content="This information is just generally used behind the scenes in COSMOS tools"><link data-rh="true" rel="icon" href="/tools/staticdocs/img/favicon.png"><link data-rh="true" rel="canonical" href="https://docs.openc3.com/tools/staticdocs/docs/development/streaming-api"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/staticdocs/docs/development/streaming-api" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/staticdocs/docs/development/streaming-api" hreflang="x-default"><link rel="stylesheet" href="/tools/staticdocs/assets/css/styles.a4426211.css">
|
7
|
-
<script src="/tools/staticdocs/assets/js/runtime~main.
|
8
|
-
<script src="/tools/staticdocs/assets/js/main.
|
7
|
+
<script src="/tools/staticdocs/assets/js/runtime~main.256dc9a2.js" defer="defer"></script>
|
8
|
+
<script src="/tools/staticdocs/assets/js/main.a6fe34c0.js" defer="defer"></script>
|
9
9
|
</head>
|
10
10
|
<body class="navigation-with-keyboard">
|
11
|
-
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"dark")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_G6ar" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/tools/staticdocs/"><div class="navbar__logo"><img src="/tools/staticdocs/img/logo.svg" alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--light_DIHH"><img src="/tools/staticdocs/img/logo.svg" alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--dark_Bv2M"></div><b class="navbar__title text--truncate">OpenC3 Docs</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/tools/staticdocs/docs">Documentation</a><a href="https://openc3.com/enterprise/" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Enterprise</a></div><div class="navbar__items navbar__items--right"><div class="navbarSearchContainer_bmvg"><div class="navbar__search"><span aria-label="expand searchbar" role="button" class="search-icon" tabindex="0"></span><input id="search_input_react" type="search" placeholder="Loading..." aria-label="Search" class="navbar__search-input search-bar" disabled=""></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_UyTV"><div class="docsWrapper_XLvK"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type="button"></button><div class="docRoot_HciC"><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class="sidebarViewport_N8x0"><div class="sidebar_vJCc"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_qiME"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/staticdocs/docs">Introduction</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/getting-started">Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/configuration">Configuration</a><button aria-label="Expand sidebar category 'Configuration'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/tools">Tools</a><button aria-label="Expand sidebar category 'Tools'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/guides">Guides</a><button aria-label="Expand sidebar category 'Guides'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" aria-expanded="true" href="/tools/staticdocs/docs/development">Development</a><button aria-label="Collapse sidebar category 'Development'" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/curl">Testing with Curl</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/developing">Developing COSMOS</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/host-install">Host Install</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/json-api">JSON API</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/log-structure">Log Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/roadmap">Roadmap</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/tools/staticdocs/docs/development/streaming-api">Streaming API</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/testing">Testing COSMOS</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/meta">Meta</a><button aria-label="Expand sidebar category 'Meta'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/staticdocs/docs/privacy">OpenC3, Inc. Privacy Policy</a></li></ul></nav></div></div></aside><main class="docMainContainer_namt"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_YAwJ"><div class="docItemContainer_Rv5Z"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_zCmv" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/tools/staticdocs/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_JFrk"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/tools/staticdocs/docs/development"><span itemprop="name">Development</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Streaming API</span><meta itemprop="position" content="2"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Streaming API</h1></header><
|
11
|
+
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"dark")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_G6ar" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/tools/staticdocs/"><div class="navbar__logo"><img src="/tools/staticdocs/img/logo.svg" alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--light_DIHH"><img src="/tools/staticdocs/img/logo.svg" alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--dark_Bv2M"></div><b class="navbar__title text--truncate">OpenC3 Docs</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/tools/staticdocs/docs">Documentation</a><a href="https://openc3.com/enterprise/" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Enterprise</a></div><div class="navbar__items navbar__items--right"><div class="navbarSearchContainer_bmvg"><div class="navbar__search"><span aria-label="expand searchbar" role="button" class="search-icon" tabindex="0"></span><input id="search_input_react" type="search" placeholder="Loading..." aria-label="Search" class="navbar__search-input search-bar" disabled=""></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_UyTV"><div class="docsWrapper_XLvK"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type="button"></button><div class="docRoot_HciC"><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class="sidebarViewport_N8x0"><div class="sidebar_vJCc"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_qiME"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/staticdocs/docs">Introduction</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/getting-started">Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/configuration">Configuration</a><button aria-label="Expand sidebar category 'Configuration'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/tools">Tools</a><button aria-label="Expand sidebar category 'Tools'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/guides">Guides</a><button aria-label="Expand sidebar category 'Guides'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" aria-expanded="true" href="/tools/staticdocs/docs/development">Development</a><button aria-label="Collapse sidebar category 'Development'" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/curl">Testing with Curl</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/developing">Developing COSMOS</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/host-install">Host Install</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/json-api">JSON API</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/log-structure">Log Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/roadmap">Roadmap</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/tools/staticdocs/docs/development/streaming-api">Streaming API</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/testing">Testing COSMOS</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/meta">Meta</a><button aria-label="Expand sidebar category 'Meta'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/staticdocs/docs/privacy">OpenC3, Inc. Privacy Policy</a></li></ul></nav></div></div></aside><main class="docMainContainer_namt"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_YAwJ"><div class="docItemContainer_Rv5Z"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_zCmv" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/tools/staticdocs/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_JFrk"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/tools/staticdocs/docs/development"><span itemprop="name">Development</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Streaming API</span><meta itemprop="position" content="2"></li></ul></nav><div class="theme-doc-markdown markdown"><header><h1>Streaming API</h1></header><admonition title="This documentation is for COSMOS Developers" type="note"><p>This information is just generally used behind the scenes in COSMOS tools</p></admonition>
|
12
12
|
<p>The COSMOS 5 Streaming Api is the primary interface to receive a stream of the telemetry packets and/or command packets that have passed through the COSMOS system, both logged and continuously in realtime. Either raw binary packets or decommutated JSON packets can be requested.</p>
|
13
13
|
<p>This API is implemented over Websockets using the Rails ActionCable framework. Actioncable client libraries are known to exist for at least Javascript, Ruby, and Python. Other languages may exist or could be created. Websockets allow for easy interaction with the new COSMOS 5 Javascript based frontend.</p>
|
14
14
|
<p>The following interactions are all shown in Javascript, but would be very similar in any language.
|
15
15
|
Connecting to this API begins by initiating an ActionCable connection.</p>
|
16
|
-
<
|
16
|
+
<pre><code>cable = ActionCable.createConsumer('/openc3-api/cable')
|
17
|
+
</code></pre>
|
17
18
|
<p>This call opens the HTTP connection to the given URL and upgrades it to a websocket connection. This connection can then be shared with multiple “subscriptions”.</p>
|
18
19
|
<p>A subscription describes a set of data that you want the API to stream to you. Creating a subscription looks like this:</p>
|
19
|
-
<
|
20
|
+
<pre><code class="language-javascript">subscription = cable.subscriptions.create(
|
21
|
+
{
|
22
|
+
channel: "StreamingChannel",
|
23
|
+
scope: "DEFAULT",
|
24
|
+
token: token,
|
25
|
+
},
|
26
|
+
{
|
27
|
+
received: (data) => {
|
28
|
+
// Handle received data
|
29
|
+
},
|
30
|
+
connected: () => {
|
31
|
+
// First chance to add what you want to stream here
|
32
|
+
},
|
33
|
+
disconnected: () => {
|
34
|
+
// Handle the subscription being disconnected
|
35
|
+
},
|
36
|
+
rejected: () => {
|
37
|
+
// Handle the subscription being rejected
|
38
|
+
},
|
39
|
+
}
|
40
|
+
);
|
41
|
+
</code></pre>
|
20
42
|
<p>Subscribing to the StreamingApi requires passing a channel name set to “StreamingChannel”, a scope which is typically “DEFAULT”, and an access token (a password in OpenSource COSMOS). In Javascript you also pass a set of callback functions that run at various lifecycle points in the subscription. The most important of these are <code>connected</code> and <code>received</code>.</p>
|
21
43
|
<p><code>connected</code> runs when the subscription is accepted by the StreamApi. This callback is the first opportunity to request specific data that you would like streamed. Data can also be added or removed at any time while the subscription is open.</p>
|
22
44
|
<p>Data can be added to the stream by requesting individual items from a packet or by requesting the entire packet.</p>
|
23
45
|
<p>Adding items to stream is done as follows:</p>
|
24
|
-
<
|
46
|
+
<pre><code class="language-javascript">var items = [
|
47
|
+
["DECOM__TLM__INST__ADCS__Q1__RAW", "0"],
|
48
|
+
["DECOM__CMD__INST__COLLECT__DURATION__WITH_UNITS", "1"],
|
49
|
+
];
|
50
|
+
OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(() => {
|
51
|
+
this.subscription.perform("add", {
|
52
|
+
scope: window.openc3Scope,
|
53
|
+
token: localStorage.openc3Token,
|
54
|
+
items: items,
|
55
|
+
start_time: this.startDateTime,
|
56
|
+
end_time: this.endDateTime,
|
57
|
+
});
|
58
|
+
});
|
59
|
+
</code></pre>
|
25
60
|
<p>The values in the item name are separated by double underscores, e.g. <code><MODE>__<CMD or TLM>__<TARGET NAME>__<PACKET NAME>__<ITEM NAME>__<VALUE TYPE>__<REDUCED TYPE></code>. Mode is either RAW, DECOM, REDUCED_MINUTE, REDUCED_HOUR, or REDUCED_DAY. The next parameter is CMD or TLM followed by the target, packet and item names. The Value Type is one of RAW, CONVERTED, FORMATTED, or WITH_UNITS. The last parameter is optional if you want to use the reduced data types. Reduced Type is one of SAMPLE, MIN, MAX, AVG, or STDDEV.</p>
|
26
61
|
<p>Adding packets to stream is done as follows:</p>
|
27
|
-
<
|
62
|
+
<pre><code class="language-javascript">var packets = [
|
63
|
+
["RAW__TLM__INST__ADCS", "0"],
|
64
|
+
["DECOM__TLM__INST__HEALTH_STATUS__FORMATTED", "1"],
|
65
|
+
];
|
66
|
+
OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(() => {
|
67
|
+
this.subscription.perform("add", {
|
68
|
+
scope: window.openc3Scope,
|
69
|
+
token: localStorage.openc3Token,
|
70
|
+
packets: packets,
|
71
|
+
start_time: this.startDateTime,
|
72
|
+
end_time: this.endDateTime,
|
73
|
+
});
|
74
|
+
});
|
75
|
+
</code></pre>
|
28
76
|
<p>The values in the packet name are separated by double underscores, e.g. <code><MODE>__<CMD or TLM>__<TARGET NAME>__<PACKET NAME>__<VALUE TYPE></code>. Mode is either RAW or DECOM. The next parameter is CMD or TLM followed by the target and packet names. The Value Type is one of RAW, CONVERTED, FORMATTED, or WITH_UNITS.</p>
|
29
77
|
<p>For Raw mode, VALUE TYPE should be set to RAW or omitted (e.g. TLM__INST__ADCS__RAW or TLM__INST__ADCS).
|
30
78
|
start_time and end_time are standard COSMOS 64-bit integer timestamps in nanoseconds since the Unix Epoch (midnight January 1st, 1970). If start_time is null, that indicates to start streaming from the current time in realtime, indefinitely until items are removed, or the subscription is unsubscribed. end_time is ignored if start_time is null. If start_time is given and end_time is null, that indicates to playback from the given starttime and then continue indefinitely in realtime. If both start_time and end_time are given, then that indicates a temporary playback of historical data.</p>
|
31
79
|
<p>Data returned by the streaming API is handled by the received callback in Javascript. Data is returned as a JSON Array, with a JSON object in the array for each packet returned. Results are batched, and the current implementation will return up to 100 packets in each batch (the array will have 100 entries). 100 packets per batch is not guaranteed, and batches may take on varying sizes based on the size of the data returned, or other factors. An empty array indicates that all data has been sent for a purely historical query and can be used as an end of data indicator.</p>
|
32
80
|
<p>For decommutated items, each packet is represented as a JSON object with a 'time' field holding the COSMOS nanosecond timestamp of the packet, and then each of the requested item keys with their corresponding value from the packet.</p>
|
33
|
-
<
|
81
|
+
<pre><code class="language-json">[
|
82
|
+
{
|
83
|
+
"time": 1234657585858,
|
84
|
+
"TLM__INST__ADCS__Q1__RAW": 50.0,
|
85
|
+
"TLM__INST__ADCS__Q2__RAW": 100.0
|
86
|
+
},
|
87
|
+
{
|
88
|
+
"time": 1234657585859,
|
89
|
+
"TLM__INST__ADCS__Q1__RAW": 60.0,
|
90
|
+
"TLM__INST__ADCS__Q2__RAW": 110.0
|
91
|
+
}
|
92
|
+
]
|
93
|
+
</code></pre>
|
34
94
|
<p>For raw packets, each packet is represented as a JSON object with a time field holding the COSMOS nanosecond timestamp of the packet, a packet field holding the topic the packet was read from in the form of SCOPE__TELEMETRY__TARGETNAME__PACKETNAME, and a buffer field holding a BASE64 encoded copy of the packet data.</p>
|
35
|
-
<
|
95
|
+
<pre><code class="language-json">[
|
96
|
+
{
|
97
|
+
"time": 1234657585858,
|
98
|
+
"packet": "DEFAULT__TELEMETRY__INST__ADCS",
|
99
|
+
"buffer": "SkdfjGodkdfjdfoekfsg"
|
100
|
+
},
|
101
|
+
{
|
102
|
+
"time": 1234657585859,
|
103
|
+
"packet": "DEFAULT__TELEMETRY__INST__ADCS",
|
104
|
+
"buffer": "3i5n49dmnfg9fl32k3"
|
105
|
+
}
|
106
|
+
]
|
107
|
+
</code></pre></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/streaming-api.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_UohW" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_T23F"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/tools/staticdocs/docs/development/roadmap"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Roadmap</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/tools/staticdocs/docs/development/testing"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Testing COSMOS</div></a></nav></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Homepage</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://openc3.com" target="_blank" rel="noopener noreferrer" class="footer__link-item">Home</a></li></ul></div><div class="col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/tools/staticdocs/docs">Documentation</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://www.linkedin.com/company/openc3" target="_blank" rel="noopener noreferrer" class="footer__link-item">LinkedIn<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_awgD"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/OpenC3/cosmos" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_awgD"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a class="footer__link-item" href="/tools/staticdocs/docs/privacy">Privacy</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 OpenC3, Inc.</div></div></div></footer></div>
|
36
108
|
</body>
|
37
109
|
</html>
|
@@ -4,55 +4,64 @@
|
|
4
4
|
<meta charset="UTF-8">
|
5
5
|
<meta name="generator" content="Docusaurus v3.1.0">
|
6
6
|
<title data-rh="true">Testing COSMOS | OpenC3 Docs</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.openc3.com/tools/staticdocs/docs/development/testing"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Testing COSMOS | OpenC3 Docs"><meta data-rh="true" name="description" content="Playwright"><meta data-rh="true" property="og:description" content="Playwright"><link data-rh="true" rel="icon" href="/tools/staticdocs/img/favicon.png"><link data-rh="true" rel="canonical" href="https://docs.openc3.com/tools/staticdocs/docs/development/testing"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/staticdocs/docs/development/testing" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/staticdocs/docs/development/testing" hreflang="x-default"><link rel="stylesheet" href="/tools/staticdocs/assets/css/styles.a4426211.css">
|
7
|
-
<script src="/tools/staticdocs/assets/js/runtime~main.
|
8
|
-
<script src="/tools/staticdocs/assets/js/main.
|
7
|
+
<script src="/tools/staticdocs/assets/js/runtime~main.256dc9a2.js" defer="defer"></script>
|
8
|
+
<script src="/tools/staticdocs/assets/js/main.a6fe34c0.js" defer="defer"></script>
|
9
9
|
</head>
|
10
10
|
<body class="navigation-with-keyboard">
|
11
|
-
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"dark")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_G6ar" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/tools/staticdocs/"><div class="navbar__logo"><img src="/tools/staticdocs/img/logo.svg" alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--light_DIHH"><img src="/tools/staticdocs/img/logo.svg" alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--dark_Bv2M"></div><b class="navbar__title text--truncate">OpenC3 Docs</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/tools/staticdocs/docs">Documentation</a><a href="https://openc3.com/enterprise/" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Enterprise</a></div><div class="navbar__items navbar__items--right"><div class="navbarSearchContainer_bmvg"><div class="navbar__search"><span aria-label="expand searchbar" role="button" class="search-icon" tabindex="0"></span><input id="search_input_react" type="search" placeholder="Loading..." aria-label="Search" class="navbar__search-input search-bar" disabled=""></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_UyTV"><div class="docsWrapper_XLvK"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type="button"></button><div class="docRoot_HciC"><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class="sidebarViewport_N8x0"><div class="sidebar_vJCc"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_qiME"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/staticdocs/docs">Introduction</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/getting-started">Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/configuration">Configuration</a><button aria-label="Expand sidebar category 'Configuration'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/tools">Tools</a><button aria-label="Expand sidebar category 'Tools'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/guides">Guides</a><button aria-label="Expand sidebar category 'Guides'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" aria-expanded="true" href="/tools/staticdocs/docs/development">Development</a><button aria-label="Collapse sidebar category 'Development'" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/curl">Testing with Curl</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/developing">Developing COSMOS</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/host-install">Host Install</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/json-api">JSON API</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/log-structure">Log Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/roadmap">Roadmap</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/streaming-api">Streaming API</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/tools/staticdocs/docs/development/testing">Testing COSMOS</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/meta">Meta</a><button aria-label="Expand sidebar category 'Meta'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/staticdocs/docs/privacy">OpenC3, Inc. Privacy Policy</a></li></ul></nav></div></div></aside><main class="docMainContainer_namt"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_YAwJ"><div class="docItemContainer_Rv5Z"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_zCmv" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/tools/staticdocs/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_JFrk"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/tools/staticdocs/docs/development"><span itemprop="name">Development</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Testing COSMOS</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_O_Qc theme-doc-toc-mobile tocMobile_tjDr"><button type="button" class="clean-btn tocCollapsibleButton_htYj">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Testing COSMOS</h1></header><h2
|
12
|
-
<h3
|
11
|
+
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"dark")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_G6ar" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/tools/staticdocs/"><div class="navbar__logo"><img src="/tools/staticdocs/img/logo.svg" alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--light_DIHH"><img src="/tools/staticdocs/img/logo.svg" alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--dark_Bv2M"></div><b class="navbar__title text--truncate">OpenC3 Docs</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/tools/staticdocs/docs">Documentation</a><a href="https://openc3.com/enterprise/" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Enterprise</a></div><div class="navbar__items navbar__items--right"><div class="navbarSearchContainer_bmvg"><div class="navbar__search"><span aria-label="expand searchbar" role="button" class="search-icon" tabindex="0"></span><input id="search_input_react" type="search" placeholder="Loading..." aria-label="Search" class="navbar__search-input search-bar" disabled=""></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_UyTV"><div class="docsWrapper_XLvK"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type="button"></button><div class="docRoot_HciC"><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class="sidebarViewport_N8x0"><div class="sidebar_vJCc"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_qiME"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/staticdocs/docs">Introduction</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/getting-started">Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/configuration">Configuration</a><button aria-label="Expand sidebar category 'Configuration'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/tools">Tools</a><button aria-label="Expand sidebar category 'Tools'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/guides">Guides</a><button aria-label="Expand sidebar category 'Guides'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" aria-expanded="true" href="/tools/staticdocs/docs/development">Development</a><button aria-label="Collapse sidebar category 'Development'" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/curl">Testing with Curl</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/developing">Developing COSMOS</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/host-install">Host Install</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/json-api">JSON API</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/log-structure">Log Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/roadmap">Roadmap</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/streaming-api">Streaming API</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/tools/staticdocs/docs/development/testing">Testing COSMOS</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/meta">Meta</a><button aria-label="Expand sidebar category 'Meta'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/staticdocs/docs/privacy">OpenC3, Inc. Privacy Policy</a></li></ul></nav></div></div></aside><main class="docMainContainer_namt"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_YAwJ"><div class="docItemContainer_Rv5Z"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_zCmv" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/tools/staticdocs/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_JFrk"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/tools/staticdocs/docs/development"><span itemprop="name">Development</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Testing COSMOS</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_O_Qc theme-doc-toc-mobile tocMobile_tjDr"><button type="button" class="clean-btn tocCollapsibleButton_htYj">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Testing COSMOS</h1></header><h2 id="playwright">Playwright</h2>
|
12
|
+
<h3 id="prerequesits">Prerequesits</h3>
|
13
13
|
<ol>
|
14
14
|
<li>
|
15
15
|
<p>Install Yarn</p>
|
16
|
-
<
|
16
|
+
<pre><code class="language-bash">npm install --global yarn
|
17
|
+
</code></pre>
|
17
18
|
</li>
|
18
19
|
<li>
|
19
20
|
<p>Clone the COSMOS Playwright repo</p>
|
20
|
-
<
|
21
|
+
<pre><code class="language-bash">git clone https://github.com/OpenC3/cosmos-playwright
|
22
|
+
</code></pre>
|
21
23
|
</li>
|
22
24
|
<li>
|
23
25
|
<p>Install Playwright and dependencies</p>
|
24
|
-
<
|
26
|
+
<pre><code class="language-bash">cosmos-playwright % yarn install
|
27
|
+
</code></pre>
|
25
28
|
</li>
|
26
29
|
</ol>
|
27
|
-
<h3
|
30
|
+
<h3 id="playwright-testing">Playwright Testing</h3>
|
28
31
|
<ol>
|
29
32
|
<li>
|
30
33
|
<p>Start COSMOS</p>
|
31
|
-
<
|
34
|
+
<pre><code class="language-bash">cosmos % openc3.sh start
|
35
|
+
</code></pre>
|
32
36
|
</li>
|
33
37
|
<li>
|
34
38
|
<p>Open COSMOS in your browser. At the login screen, set the password to "password".</p>
|
35
39
|
</li>
|
36
40
|
<li>
|
37
41
|
<p>Run tests (Note the --headed option visually displays tests, leave it off to run in the background)</p>
|
38
|
-
<
|
42
|
+
<pre><code class="language-bash">cosmos-playwright % yarn playwright test --project=chromium --headed
|
43
|
+
</code></pre>
|
39
44
|
</li>
|
40
45
|
<li>
|
41
46
|
<p><em>[Optional]</em> Fix istanbul/nyc coverage source lookups (use <code>fixwindows</code> if not on Linux).</p>
|
42
47
|
<p>Tests will run successfully without this step and you will get coverage statistics, but line-by-line coverage won't work.</p>
|
43
|
-
<
|
48
|
+
<pre><code class="language-bash">cosmos-playwright % yarn fixlinux
|
49
|
+
</code></pre>
|
44
50
|
</li>
|
45
51
|
<li>
|
46
52
|
<p>Generate code coverage</p>
|
47
|
-
<
|
53
|
+
<pre><code class="language-bash">cosmos-playwright % yarn coverage
|
54
|
+
</code></pre>
|
48
55
|
</li>
|
49
56
|
</ol>
|
50
57
|
<p>Code coverage reports can be viewed at <code>openc3-playwright/coverage/index.html</code></p>
|
51
|
-
<h2
|
58
|
+
<h2 id="unit-tests">Unit Tests</h2>
|
52
59
|
<ol>
|
53
60
|
<li>
|
54
61
|
<p>Navigate to <strong>cosmos/openc3</strong> folder. Run the command:</p>
|
55
|
-
<
|
62
|
+
<pre><code class="language-bash">cosmos/openc3 % rake build
|
63
|
+
cosmos/openc3 % bundle exec rspec
|
64
|
+
</code></pre>
|
56
65
|
</li>
|
57
66
|
</ol>
|
58
67
|
<p>Code coverage reports can be found at <code>cosmos/openc3/coverage/index.html</code></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/testing.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_UohW" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_T23F"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/tools/staticdocs/docs/development/streaming-api"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Streaming API</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/tools/staticdocs/docs/meta"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Meta</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_TN1Q thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#playwright" class="table-of-contents__link toc-highlight">Playwright</a><ul><li><a href="#prerequesits" class="table-of-contents__link toc-highlight">Prerequesits</a></li><li><a href="#playwright-testing" class="table-of-contents__link toc-highlight">Playwright Testing</a></li></ul></li><li><a href="#unit-tests" class="table-of-contents__link toc-highlight">Unit Tests</a></li></ul></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Homepage</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://openc3.com" target="_blank" rel="noopener noreferrer" class="footer__link-item">Home</a></li></ul></div><div class="col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/tools/staticdocs/docs">Documentation</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://www.linkedin.com/company/openc3" target="_blank" rel="noopener noreferrer" class="footer__link-item">LinkedIn<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_awgD"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/OpenC3/cosmos" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_awgD"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a class="footer__link-item" href="/tools/staticdocs/docs/privacy">Privacy</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 OpenC3, Inc.</div></div></div></footer></div>
|
@@ -4,8 +4,8 @@
|
|
4
4
|
<meta charset="UTF-8">
|
5
5
|
<meta name="generator" content="Docusaurus v3.1.0">
|
6
6
|
<title data-rh="true">Development | OpenC3 Docs</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.openc3.com/tools/staticdocs/docs/development"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Development | OpenC3 Docs"><link data-rh="true" rel="icon" href="/tools/staticdocs/img/favicon.png"><link data-rh="true" rel="canonical" href="https://docs.openc3.com/tools/staticdocs/docs/development"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/staticdocs/docs/development" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.openc3.com/tools/staticdocs/docs/development" hreflang="x-default"><link rel="stylesheet" href="/tools/staticdocs/assets/css/styles.a4426211.css">
|
7
|
-
<script src="/tools/staticdocs/assets/js/runtime~main.
|
8
|
-
<script src="/tools/staticdocs/assets/js/main.
|
7
|
+
<script src="/tools/staticdocs/assets/js/runtime~main.256dc9a2.js" defer="defer"></script>
|
8
|
+
<script src="/tools/staticdocs/assets/js/main.a6fe34c0.js" defer="defer"></script>
|
9
9
|
</head>
|
10
10
|
<body class="navigation-with-keyboard">
|
11
11
|
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"dark")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_G6ar" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/tools/staticdocs/"><div class="navbar__logo"><img src="/tools/staticdocs/img/logo.svg" alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--light_DIHH"><img src="/tools/staticdocs/img/logo.svg" alt="OpenC3 Logo" class="themedComponent_DHUr themedComponent--dark_Bv2M"></div><b class="navbar__title text--truncate">OpenC3 Docs</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/tools/staticdocs/docs">Documentation</a><a href="https://openc3.com/enterprise/" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Enterprise</a></div><div class="navbar__items navbar__items--right"><div class="navbarSearchContainer_bmvg"><div class="navbar__search"><span aria-label="expand searchbar" role="button" class="search-icon" tabindex="0"></span><input id="search_input_react" type="search" placeholder="Loading..." aria-label="Search" class="navbar__search-input search-bar" disabled=""></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_UyTV"><div class="docsWrapper_XLvK"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_z1FD" type="button"></button><div class="docRoot_HciC"><aside class="theme-doc-sidebar-container docSidebarContainer_e5ai"><div class="sidebarViewport_N8x0"><div class="sidebar_vJCc"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_qiME"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/staticdocs/docs">Introduction</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/getting-started">Getting Started</a><button aria-label="Expand sidebar category 'Getting Started'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/configuration">Configuration</a><button aria-label="Expand sidebar category 'Configuration'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/tools">Tools</a><button aria-label="Expand sidebar category 'Tools'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/guides">Guides</a><button aria-label="Expand sidebar category 'Guides'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible menu__list-item-collapsible--active"><a class="menu__link menu__link--sublist menu__link--active" aria-current="page" aria-expanded="true" href="/tools/staticdocs/docs/development">Development</a><button aria-label="Collapse sidebar category 'Development'" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/curl">Testing with Curl</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/developing">Developing COSMOS</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/host-install">Host Install</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/json-api">JSON API</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/log-structure">Log Structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/roadmap">Roadmap</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/streaming-api">Streaming API</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/tools/staticdocs/docs/development/testing">Testing COSMOS</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/tools/staticdocs/docs/meta">Meta</a><button aria-label="Expand sidebar category 'Meta'" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tools/staticdocs/docs/privacy">OpenC3, Inc. Privacy Policy</a></li></ul></nav></div></div></aside><main class="docMainContainer_namt"><div class="container padding-top--md padding-bottom--lg"><div class="generatedIndexPage_ak01"><nav class="theme-doc-breadcrumbs breadcrumbsContainer_zCmv" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/tools/staticdocs/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_JFrk"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Development</span><meta itemprop="position" content="1"></li></ul></nav><header><h1 class="title_AulG">Development</h1></header><article class="margin-top--lg"><section class="row list_iQEt"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_Shn5" href="/tools/staticdocs/docs/development/curl"><h2 class="text--truncate cardTitle_h48N" title="Testing with Curl">📄️<!-- --> <!-- -->Testing with Curl</h2><p class="text--truncate cardDescription_CytT" title="This information is just generally used behind the scenes in COSMOS tools">This information is just generally used behind the scenes in COSMOS tools</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_Shn5" href="/tools/staticdocs/docs/development/developing"><h2 class="text--truncate cardTitle_h48N" title="Developing COSMOS">📄️<!-- --> <!-- -->Developing COSMOS</h2><p class="text--truncate cardDescription_CytT" title="So you want to help develop COSMOS? All of our open source COSMOS code is on Github so the first thing to do is get an account. Next clone the COSMOS repository. We accept contributions from others as Pull Requests.">So you want to help develop COSMOS? All of our open source COSMOS code is on Github so the first thing to do is get an account. Next clone the COSMOS repository. We accept contributions from others as Pull Requests.</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_Shn5" href="/tools/staticdocs/docs/development/host-install"><h2 class="text--truncate cardTitle_h48N" title="Host Install">📄️<!-- --> <!-- -->Host Install</h2><p class="text--truncate cardDescription_CytT" title="Installing COSMOS Directly onto a Host (No Containers)">Installing COSMOS Directly onto a Host (No Containers)</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_Shn5" href="/tools/staticdocs/docs/development/json-api"><h2 class="text--truncate cardTitle_h48N" title="JSON API">📄️<!-- --> <!-- -->JSON API</h2><p class="text--truncate cardDescription_CytT" title="If you're looking for the methods available to write test procedures using the COSMOS scripting API, refer to the Scripting API Guide page. If you're trying to interface to a COSMOS Command and Telemetry Server from an external application using any language then this is the right place.">If you're looking for the methods available to write test procedures using the COSMOS scripting API, refer to the Scripting API Guide page. If you're trying to interface to a COSMOS Command and Telemetry Server from an external application using any language then this is the right place.</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_Shn5" href="/tools/staticdocs/docs/development/log-structure"><h2 class="text--truncate cardTitle_h48N" title="Log Structure">📄️<!-- --> <!-- -->Log Structure</h2><p class="text--truncate cardDescription_CytT" title="Updated: 8-21-2023 to the format as of OpenC3 COSMOS 5.11.0">Updated: 8-21-2023 to the format as of OpenC3 COSMOS 5.11.0</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_Shn5" href="/tools/staticdocs/docs/development/roadmap"><h2 class="text--truncate cardTitle_h48N" title="Roadmap">📄️<!-- --> <!-- -->Roadmap</h2><p class="text--truncate cardDescription_CytT" title="Key Features Still to Come in OpenC3 COSMOS 5.x:">Key Features Still to Come in OpenC3 COSMOS 5.x:</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_Shn5" href="/tools/staticdocs/docs/development/streaming-api"><h2 class="text--truncate cardTitle_h48N" title="Streaming API">📄️<!-- --> <!-- -->Streaming API</h2><p class="text--truncate cardDescription_CytT" title="This information is just generally used behind the scenes in COSMOS tools">This information is just generally used behind the scenes in COSMOS tools</p></a></article><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_Shn5" href="/tools/staticdocs/docs/development/testing"><h2 class="text--truncate cardTitle_h48N" title="Testing COSMOS">📄️<!-- --> <!-- -->Testing COSMOS</h2><p class="text--truncate cardDescription_CytT" title="Playwright">Playwright</p></a></article></section></article><footer class="margin-top--lg"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/tools/staticdocs/docs/guides/scripting-api"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Scripting API Guide</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/tools/staticdocs/docs/development/curl"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Testing with Curl</div></a></nav></footer></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Homepage</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://openc3.com" target="_blank" rel="noopener noreferrer" class="footer__link-item">Home</a></li></ul></div><div class="col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/tools/staticdocs/docs">Documentation</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://www.linkedin.com/company/openc3" target="_blank" rel="noopener noreferrer" class="footer__link-item">LinkedIn<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_awgD"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/OpenC3/cosmos" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_awgD"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a class="footer__link-item" href="/tools/staticdocs/docs/privacy">Privacy</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 OpenC3, Inc.</div></div></div></footer></div>
|