Cela fait maintenant 2 jours que mon raspberry pi 4 est mis à disposition pour créer un petit serveur pour faire tourner Gladys 4. Dans le but d’apporter mes modifications je passe directement par le Git, comme décrit dans la doc.
J’ai donc cloné le repo dans un dossier, installé via npm le server et le front, migré la base, mais malgré tout j’obtiens ces erreurs après lancement de test :
Côté serveur :
pi@raspberrypi:~/gladys/server $ npm test
> gladys-server@ pretest /home/pi/gladys/server
> cross-env SQLITE_FILE_PATH=/tmp/gladys-test.db npm run db-migrate:test && npm run eslint
> gladys-server@ db-migrate:test /home/pi/gladys/server
> cross-env NODE_ENV=test node_modules/.bin/sequelize db:migrate
Sequelize CLI [Node: 10.16.3, CLI: 5.4.0, ORM: 4.44.3]
Loaded configuration file "config/config.js".
Using environment "test".
== 20190211042644-create-calendar-event: migrating =======
ERROR: SQLITE_ERROR: index t_calendar_event_calendar_id already exists
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! gladys-server@ db-migrate:test: `cross-env NODE_ENV=test node_modules/.bin/sequelize db:migrate`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the gladys-server@ db-migrate:test script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/pi/.npm/_logs/2019-10-17T09_25_49_725Z-debug.log
npm ERR! Test failed. See above for more details.
Côté front :
pi@raspberrypi:~/gladys/server $ cd ../front/
pi@raspberrypi:~/gladys/front $ npm test
> gladys-front@ test /home/pi/gladys/front
> jest --coverage
FAIL tests/header.test.js
Initial Test of the Header
✕ Header renders Gladys Assistant title and 8 items in header (78ms)
✓ Should return null, login page doesnt need a header (2ms)
✕ [Backslash URL] Header renders Gladys Assistant title and 8 items in header (17ms)
✓ [Backslash URL] Should return null, login page doesnt need a header (1ms)
● Initial Test of the Header › Header renders Gladys Assistant title and 8 items in header
expect(received).toBe(expected)
Expected value to be (using ===):
"Gladys Assistant"
Received:
""
at Object.<anonymous> (tests/header.test.js:25:305)
at new Promise (<anonymous>)
● Initial Test of the Header › [Backslash URL] Header renders Gladys Assistant title and 8 items in header
expect(received).toBe(expected)
Expected value to be (using ===):
"Gladys Assistant"
Received:
""
at Object.<anonymous> (tests/header.test.js:25:728)
at new Promise (<anonymous>)
Test Suites: 1 failed, 1 total
Tests: 2 failed, 2 passed, 4 total
Snapshots: 0 total
Time: 1.956s
Ran all test suites.
-------------------|----------|----------|----------|----------|-------------------|
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s |
-------------------|----------|----------|----------|----------|-------------------|
All files | 100 | 66.67 | 100 | 100 | |
components/header | 100 | 57.14 | 100 | 100 | |
index.jsx | 100 | 57.14 | 100 | 100 |35,41,45,73,96,114 |
utils | 100 | 100 | 100 | 100 | |
url.js | 100 | 100 | 100 | 100 | |
-------------------|----------|----------|----------|----------|-------------------|
npm ERR! Test failed. See above for more details.
pi@raspberrypi:~/gladys/front $
Pourtant, j’ai bien sqlite3 d’installé, node et npm tournent bien, et j’essaie d’installer directement après clonage du repo Gladys.
Côté serveur, le problème viendrait d’index dupliqués dans la base.
Côté front, j’ai une erreur au niveau de la définition du Header.
Pourriez-vous me fournir des pistes de recherches ? J’ai très hâte de pouvoir commencer à développer les services dont j’ai besoin
Cela fait une semaine, et entre temps j’ai essayé d’installer un serveur directement sur le WSL de mon pc. Après installation, j’en arrive exactement au même niveau. Quelqu’un aurait-il l’amabilité de m’apporter de l’aide s’il vous plaît ?
Déjà clairement je te conseille de faire tourner ça sur ton laptop windows, pas sur ton Pi, c’est impossible de développer sur Pi!
Il faut que tu supprime le fichier /tmp/gladys-test.db, visiblement ta DB existe déjà (c’est là où est situé la db pour les tests). Sur windows je sais pas si ça marche ce genre de path? Il faut peut être le changer… (dans le fichier server/package.json, dans l’endroit ou sont définis les scripts )
J’ai beaucoup d’idée concernant les pages de configuration et d’interaction avec les devices associés. J’ai une semaine de vacances, j’en profiterai donc pour avancer au maximum, je vous ferai un retour dès que j’ai un début fonctionnel
Ce sujet m’intéresse (monter une plateforme dev pour Gladys 4).
J’ai l’intuition qu’il est possible de faire cela avec Docker.
Je ne suis pas devops et je n’ai malheureusement que très peu de temps à consacrer à ce type de chose
Dites-moi si cela vous semble possible de monter une plateforme de dev avec Docker en suivant un tuto du type :
Monter le docker avec le docker-compose.yml => image node et un montage de volumes qui va bien
@renaiku , voila la démarche assez simple que j’ai fait
Alors, je l’ai fait il y a longtemps donc j’ai pas suivis la doc de maintenant, il était deja sur mon ordi depuis ça sortie mais je sais que c’est simple a configurer. ça t’installe un bon vieux ubuntu (ou debian ou autre selon tes préférences)
Tu installe WSL, tu peux retourner dans ton projet (ou le réinstaller comme tu préfere)
NOTE : A savoir, le dossier c:// se trouve sous cette forme /mnt/c/ sous WSL
Puis apres, tu suis l’installation standard sous windows pour node module qui utilise le path c:/ de la doc gladys v4 et tu run les server sous WSL
et en théorie, ça devrait fonctionner parfaitement ^^
@renaiku Personnellement, je te conseillerais d’installer nvm pour switcher de version de node quand tu veux, enfin, si c’est pas deja le cas ^^. c’est pas mal de manipulation sur windows mais tu est tellement tranquille apres ^^