<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="generator" content="pandoc">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<meta name="author" content="Manuel Bachmann">
<meta name="author" content="José Bollo">
<title>Overview of tests shipped with AFB-Daemon</title>
<style type="text/css">code{white-space: pre;}</style>
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link rel="stylesheet" href="doc.css">
</head>
<body>
<header>
<h1 class="title">Overview of tests shipped with AFB-Daemon</h1>
<h2 class="author">Manuel Bachmann</h2>
<h2 class="author">José Bollo</h2>
<h3 class="date">24 juin 2016</h3>
</header>
<nav id="TOC">
<ul>
<li><a href="#overview-of-tests-shipped-with-afb-daemon">Overview of tests shipped with AFB-Daemon</a><ul>
<li><a href="#list-of-tests">List of tests</a></li>
<li><a href="#detail-of-tests">Detail of tests</a><ul>
<li><a href="#afb-client-demo-command-line-websockets">afb-client-demo (command-line WebSockets)</a></li>
<li><a href="#token-websock.qml-qtqml-websockets">token-websock.qml (Qt/QML WebSockets)</a></li>
<li><a href="#html-html5js-http-rest-websockets">*.html (HTML5/JS HTTP-REST & WebSockets)</a></li>
</ul></li>
</ul></li>
</ul>
</nav>
<h1 id="overview-of-tests-shipped-with-afb-daemon">Overview of tests shipped with AFB-Daemon</h1>
<h2 id="list-of-tests">List of tests</h2>
<p>Here are the tests shipped in the source tree:</p>
<ul>
<li><p><strong>afb-client-demo</strong> (command-line WebSockets)</p></li>
<li><p><strong>token-websock.qml</strong> (Qt/QML WebSockets)</p></li>
<li><p>*<strong>.html</strong> (HTML5/JS HTTP-REST & WebSockets)</p></li>
</ul>
<h2 id="detail-of-tests">Detail of tests</h2>
<h3 id="afb-client-demo-command-line-websockets">afb-client-demo (command-line WebSockets)</h3>
<p>This clients interactively calls bindings APIs from the command line, using the binder <a href="https://en.wikipedia.org/wiki/WebSocket">WebSockets</a> facility.</p>
<p>If <em>afb-daemon</em> has been launched with the following parameters:</p>
<pre><code>$ afb-daemon --port=1234 --token=123456 [...]</code></pre>
<p>Then run the client with :</p>
<pre><code>afb-client-demo ws://localhost:1234/api?token=123456 [<api> <verb> [<json-data>]]</code></pre>
<p>For instance, to initialize the Audio binding from the command line :</p>
<pre><code>afb-client-demo ws://localhost:1234/api?token=123456</code></pre>
<p>The command doesn't return. You should type requests of type <api> <verb> [<json-data>]. So, try:</p>
<pre><code>auth connect
hello pingjson true</code></pre>
<p><br /></p>
<h3 id="token-websock.qml-qtqml-websockets">token-websock.qml (Qt/QML WebSockets)</h3>
<p>If <em>afb-daemon</em> has been launched with the following parameters:</p>
<pre><code>$ afb-daemon --port=1234 --token=123456 [...]</code></pre>
<p>and Qt5 is installed.</p>
<p>For installing Qt5 on <strong>Ubuntu 16.04</strong>:</p>
<pre><code>$ apt-get install qmlscene qml-module-qtwebsockets qml-module-qtquick-controls</code></pre>
<p>For installing Qt5 on <strong>Fedora 23</strong> :</p>
<pre><code>$ dnf install qt5-qtdeclarative-devel qt5-qtwebsockets-devel qt5-qtquickcontrols</code></pre>
<p>Then run the client with :</p>
<pre><code>qmlscene test/token-websock.qml</code></pre>
<p>and interactively press the buttons, "Connect", "Refresh", "Logout".</p>
<p><br /></p>
<h3 id="html-html5js-http-rest-websockets">*.html (HTML5/JS HTTP-REST & WebSockets)</h3>
<p>If <em>afb-daemon</em> has been launched with the following parameters:</p>
<pre><code>$ afb-daemon --port=1234 --rootdir=$PWD/test [...]</code></pre>
<p><em>("$PWD/test</em>" being the "test" subdirectory of the source tree)_</p>
<p>Then open your preferred Web browser, connect to the following URL:</p>
<pre><code>http://localhost:1234</code></pre>
<p>and interactively run the various tests.</p>
</body>
</html>