aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-css-plugin/src/test/resources/mock-start-server
diff options
context:
space:
mode:
authorElena Vilchik2019-12-18 17:10:10 +0100
committerAlban Auzeill2019-12-18 17:10:10 +0100
commitc8f0071c4f5336dfe0efc5d3c218ab49f2401264 (patch)
tree254cd5ed9531d7c62bab4f8ec082e085795ecb8f /sonar-css-plugin/src/test/resources/mock-start-server
parent13fe08e87c8a70ffe6e248b774ef826bbe1f779d (diff)
downloadsonar-css-c8f0071c4f5336dfe0efc5d3c218ab49f2401264.tar.bz2
Rely on NodeJS API of Stylelint to execute CSS rules (#221)
Diffstat (limited to 'sonar-css-plugin/src/test/resources/mock-start-server')
-rw-r--r--sonar-css-plugin/src/test/resources/mock-start-server/startServer.js70
-rw-r--r--sonar-css-plugin/src/test/resources/mock-start-server/throw.js3
2 files changed, 73 insertions, 0 deletions
diff --git a/sonar-css-plugin/src/test/resources/mock-start-server/startServer.js b/sonar-css-plugin/src/test/resources/mock-start-server/startServer.js
new file mode 100644
index 0000000..c8b8d38
--- /dev/null
+++ b/sonar-css-plugin/src/test/resources/mock-start-server/startServer.js
@@ -0,0 +1,70 @@
+#!/usr/bin/env node
+
+const http = require('http');
+const port = process.argv[2];
+
+console.log(`DEBUG testing debug log`)
+console.log(`WARN testing warn log`)
+console.log(`testing info log`)
+
+const requestHandler = (request, response) => {
+ let data = [];
+ request.on('data', chunk => {
+ data.push(chunk);
+ });
+ request.on('end', () => {
+ let fileName = null;
+ if (data.length > 0) {
+ const analysisRequest = JSON.parse(data.join());
+ fileName = analysisRequest.filePath.replace(/.*[\/\\]/g,"");
+ }
+ if (request.url === '/status') {
+ response.writeHead(200, { 'Content-Type': 'text/plain' });
+ response.end('OK!');
+ } else {
+ switch (fileName) {
+ case "file.css":
+ case "file.web":
+ case "file.php":
+ case "file.js": // to test that we will not save this issue even if it's provided by response
+ response.end(JSON.stringify([
+ {line: 2, rule: "block-no-empty", text: "Unexpected empty block"}
+ ]));
+ break;
+ case "file-with-rule-id-message.css":
+ response.end(JSON.stringify([
+ {line: 2, rule: "color-no-invalid-hex", text: "some message (color-no-invalid-hex)"}
+ ]));
+ break;
+ case "empty.css":
+ response.end(JSON.stringify([]));
+ break;
+ case "syntax-error.css":
+ response.end(JSON.stringify([
+ {line: 2, rule: "CssSyntaxError", text: "Missed semicolon (CssSyntaxError)"}
+ ]));
+ break;
+ case "unknown-rule.css":
+ response.end(JSON.stringify([
+ {line: 2, rule: "unknown-rule-key", text: "some message"}
+ ]));
+ break;
+ case "invalid-json-response.css":
+ response.end("[");
+ break;
+ default:
+ throw "Unexpected fileName: " + fileName;
+ }
+ }
+ });
+};
+
+const server = http.createServer(requestHandler);
+
+server.listen(port, (err) => {
+ if (err) {
+ return console.log('something bad happened', err)
+ }
+
+ console.log(`server is listening on ${port}`)
+});
diff --git a/sonar-css-plugin/src/test/resources/mock-start-server/throw.js b/sonar-css-plugin/src/test/resources/mock-start-server/throw.js
new file mode 100644
index 0000000..028dbc8
--- /dev/null
+++ b/sonar-css-plugin/src/test/resources/mock-start-server/throw.js
@@ -0,0 +1,3 @@
+#!/usr/bin/env node
+
+throw "Something wrong happened"