Going to test server from github.com/adrienjoly/cours-nodejs-exercise-solutions.git... Remove previous student-code directory... Clone student's repository (github.com/adrienjoly/cours-nodejs-exercise-solutions.git, branch: ex-1-5)... Cloning into './student-code'... Switched to a new branch 'ex-1-5' Branch 'ex-1-5' set up to track remote branch 'ex-1-5' from 'origin'. Stop and remove previous Docker containers... Generate Dockerfile from ./student-code... Build Dockerfile... Run Dockerfile... Run test suite against container... Lecture du code source fourni ℹ "use strict"; const PORT = process.env.PORT || 3000; const FICHIER_REPONSES = "réponses.json"; const fs = require("fs"); const express = require("express"); const app = express(); console.log("Lecture des réponses depuis", FICHIER_REPONSES); var reponses = JSON.parse(fs.readFileSync(FICHIER_REPONSES, "utf8")); app.use(express.json()); // to support JSON-encoded bodies app.get("/", function (req, res) { res.send("Hello World"); }); app.get("/hello", function (req, res) { if (req.query.nom === undefined) { res.send("Quel est votre nom ?"); } else { res.send("Bonjour, " + req.query.nom + " !"); } }); app.post("/chat", function (req, res) { if (req.body.msg === "ville") { res.send("Nous sommes à Paris"); } else if (req.body.msg === "météo") { res.send("Il fait beau"); } else if (req.body.msg.indexOf(" = ") !== -1) { const [ mot, definition ] = req.body.msg.split(" = "); reponses[mot] = definition; fs.writeFileSync(FICHIER_REPONSES, JSON.stringify(reponses)); res.send("Merci pour cette information !"); } else if (reponses[req.body.msg] !== undefined) { const definition = reponses[req.body.msg]; res.send(`${req.body.msg}: ${definition}`); } else { res.send(`Je ne connais pas ${req.body.msg}...`); } }); app.listen(PORT, function () { console.log("The server is listening on port", PORT); }); ✔ le dépot ne contient pas node_modules ✔ package.json mentionne express comme dépendence ✔ README.md mentionne npm install et tests avec curl ✔ server.js fait moins de 50 lignes ✔ server.js utilise express .post() .send() et .listen() Install project dependencies in container... npm notice created a lockfile as package-lock.json. You should commit this file. npm WARN Invalid version: "1.5" npm WARN app No description npm WARN app No repository field. npm WARN app No README data npm WARN app No license field. up to date in npm WARN Invalid version: "1.5" npm WARN app No description npm WARN app No repository field. npm WARN app No README data npm WARN app No license field. + express@4.17.1 added 50 packages from 37 contributors in Start server.js in container... Wait for server on port 3000... ✅ Server is listening on port 3000 Lecture des réponses depuis réponses.json The server is listening on port 3000 ✔ GET / {} -> /Hello World/ ✔ GET /hello {} -> /Quel est votre nom \?/ ✔ GET /hello?nom=Sasha {} -> /Bonjour, Sasha/ ✔ GET /hello?nom=Patrick {} -> /Bonjour, Patrick/ ✔ GET /hello?nom=Michel%20Blanc {} -> /Bonjour, Michel Blanc/ ✔ POST /chat {"msg":"ville"} -> /Nous sommes à Paris/ ✔ POST /chat {"msg":"météo"} -> /Il fait beau/ ✔ POST /chat {"msg":"demain"} -> /Je ne connais pas demain/ ✔ POST /chat {"msg":"demain = Mercredi"} -> /Merci pour cette information !/ ✔ POST /chat {"msg":"demain"} -> /demain: Mercredi/ ✔ POST /chat {"msg":"demain = Jeudi"} -> /Merci pour cette information !/ ✔ POST /chat {"msg":"demain"} -> /demain: Jeudi/ ✔ POST /chat {"msg":"pays = Bengladesh"} -> /Merci pour cette information !/ ✔ POST /chat {"msg":"pays"} -> /pays: Bengladesh/ ✔ réponses.json contient les dernières valeurs enregistrées 20 tests passed Stop and remove Docker containers... Remove previous student-code directory...