summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--server.mjs14
-rw-r--r--server.test.mjs6
2 files changed, 20 insertions, 0 deletions
diff --git a/server.mjs b/server.mjs
index 844430e..18c6ee6 100644
--- a/server.mjs
+++ b/server.mjs
@@ -30,6 +30,20 @@ const getTimeControlller = (req, res) => {
const eagleController = (req, res) => {
const [, query] = req.url.split('?')
const params = new URLSearchParams(query)
+
+ switch (params.get('path')) {
+ case 'eagle/GET/genId':
+ eagleGenIdController(req, res)
+ break
+ default:
+ notFoundController(req, res)
+ break
+ }
+}
+
+const eagleGenIdController = (req, res) => {
+ const [, query] = req.url.split('?')
+ const params = new URLSearchParams(query)
const { mac, key } = JSON.parse(params.get('params') || '{}')
if (mac === undefined || key === undefined) {
diff --git a/server.test.mjs b/server.test.mjs
index 259b913..1e44083 100644
--- a/server.test.mjs
+++ b/server.test.mjs
@@ -136,6 +136,12 @@ test('device registration endpoint returns bad request if missing encryption key
assert.strictEqual(res.headers.get('content-type'), 'application/json')
})
+test('device registration endpoint returns not found if path is not supported', async () => {
+ const params = new URLSearchParams({ path: 'eagle/GET/foo' })
+ const res = await fetch(`${baseUrl}/eagle?${params.toString()}`)
+ assert.strictEqual(res.status, 404)
+})
+
test('exchange endpoint', async () => {
const stubMacAddress = '0000000000'
const stubKey = '00000000000000000000000000000000'