@tiledesk/tiledesk-server 2.2.10 → 2.2.15

Sign up to get free protection for your applications and to get access to all the features.
package/test-int/bot.js CHANGED
@@ -372,6 +372,7 @@ describe('bot', () => {
372
372
 
373
373
 
374
374
 
375
+
375
376
  // mocha test-int/bot.js --grep 'createSimpleFulltext'
376
377
  it('createSimpleFulltext', (done) => {
377
378
 
@@ -383,7 +384,100 @@ describe('bot', () => {
383
384
  userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
384
385
  projectService.create("test-bot", savedUser._id).then(function(savedProject) {
385
386
  // create(name, url, projectid, user_id, type)
386
- faqService.create("testbot", null, savedProject._id, savedUser._id, "internal").then(function(savedBot) {
387
+ faqService.create("testbot", undefined, savedProject._id, savedUser._id, "internal").then(function(savedBot) {
388
+
389
+ var newFaq = new Faq({
390
+ id_faq_kb: savedBot._id,
391
+ question: 'question number one',
392
+ answer: 'answer',
393
+ id_project: savedProject._id,
394
+ createdBy: savedUser._id,
395
+ updatedBy: savedUser._id
396
+ });
397
+
398
+ newFaq.save(function (err, savedFaq) {
399
+
400
+
401
+ Department.findOneAndUpdate({id_project: savedProject._id, default:true}, {id_bot:savedBot._id}, function (err, updatedDepartment) {
402
+
403
+ chai.request(server)
404
+ .post('/'+ savedProject._id + '/subscriptions')
405
+ .auth(email, pwd)
406
+ .set('content-type', 'application/json')
407
+ .send({"event":"message.create", "target":"http://localhost:3010/"})
408
+ .end((err, res) => {
409
+ console.log("res.body", JSON.stringify(res.body));
410
+ // console.dir("res.body 1", res.body);
411
+ console.log("res.headers", res.headers);
412
+ res.should.have.status(200);
413
+ res.body.should.be.a('object');
414
+ expect(res.body.event).to.equal("message.create");
415
+ var secret = res.body.secret;
416
+ expect(secret).to.not.equal(null);
417
+ expect(res.headers["x-hook-secret"]).to.equal(secret);
418
+
419
+
420
+ let messageReceived = 0;
421
+ var serverClient = express();
422
+ serverClient.use(bodyParser.json());
423
+ serverClient.post('/', function (req, res) {
424
+ console.log('serverClient req', JSON.stringify(req.body));
425
+ console.log("serverClient.headers", JSON.stringify(req.headers));
426
+ messageReceived = messageReceived+1;
427
+ expect(req.body.hook.event).to.equal("message.create");
428
+ expect(req.body.payload.request.request_id).to.equal("request_id-subscription-message-sending");
429
+ expect(req.body.payload.request.department).to.not.equal(null);
430
+ expect(req.body.payload.request.department.bot).to.not.equal(null);
431
+ expect(req.body.payload.request.department.bot.name).to.equal("testbot");
432
+
433
+ expect(req.headers["x-hook-secret"]).to.equal(secret);
434
+ res.send('POST request to the homepage');
435
+ expect(req.body.payload.text).to.equal("answer");
436
+ // console.log("savedFaq",savedFaq);
437
+ expect(req.body.payload.sender).to.equal("bot_"+savedBot.id);
438
+ expect(req.body.payload.recipient).to.equal("request_id-subscription-message-sending");
439
+ // expect(req.body.payload.attributes._answer._id.toString()).to.equal(savedFaq._id.toString());
440
+ expect(req.body.payload.attributes._answerid.toString()).to.equal(savedFaq._id.toString());
441
+ done();
442
+
443
+
444
+
445
+
446
+ });
447
+ var listener = serverClient.listen(3010, '0.0.0.0', function(){ console.log('Node js Express started', listener.address());});
448
+
449
+
450
+ leadService.createIfNotExists("leadfullname-subscription-message-sending", "andrea.leo@-subscription-message-sending.it", savedProject._id).then(function(createdLead) {
451
+ requestService.createWithId("request_id-subscription-message-sending", createdLead._id, savedProject._id, "first_text").then(function(savedRequest) {
452
+ messageService.create(savedUser._id, "test sender", savedRequest.request_id, "question",
453
+ savedProject._id, savedUser._id).then(function(savedMessage){
454
+ expect(savedMessage.text).to.equal("question");
455
+ // expect(savedMessage.sender).to.equal("question");
456
+ });
457
+ });
458
+ });
459
+ });
460
+ });
461
+ });
462
+ });
463
+
464
+ });
465
+ });
466
+ }).timeout(20000);
467
+
468
+
469
+ // mocha test-int/bot.js --grep 'createSimpleExternalSearcherBot'
470
+ it('createSimpleExternalSearcherBot', (done) => {
471
+
472
+ var email = "test-bot-" + Date.now() + "@email.com";
473
+ var pwd = "pwd";
474
+
475
+
476
+
477
+ userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
478
+ projectService.create("test-bot", savedUser._id).then(function(savedProject) {
479
+ // create(name, url, projectid, user_id, type)
480
+ faqService.create("testbot", "http://localhost:3001/samples/bot/external/searcher", savedProject._id, savedUser._id, "internal").then(function(savedBot) {
387
481
 
388
482
  var newFaq = new Faq({
389
483
  id_faq_kb: savedBot._id,
@@ -0,0 +1,42 @@
1
+
2
+ 'use strict';
3
+
4
+ var request = require('retry-request', {
5
+ request: require('request')
6
+ });
7
+
8
+
9
+ class HttpUtil {
10
+
11
+ call(url, headers, json, method) {
12
+ return new Promise(function (resolve, reject) {
13
+ request({
14
+ url: url,
15
+ headers: headers,
16
+ json: json,
17
+ method: method
18
+ }, function(err, result, json){
19
+ //console.log("SENT notify for bot with url " + url + " with err " + err);
20
+ if (err) {
21
+ //console.log("Error sending notify for bot with url " + url + " with err " + err);
22
+ return reject(err);
23
+ }
24
+ return resolve(json);
25
+ });
26
+ });
27
+ }
28
+ }
29
+
30
+
31
+ var httpUtil = new HttpUtil();
32
+
33
+ /*
34
+ async function ciao() {
35
+ var res = await httpUtil.call("https://webhook.site/bd710929-9b43-4065-88db-78ee17f84aec", undefined, {c:1}, "POST")
36
+ console.log("res", res);
37
+
38
+ }
39
+ ciao();
40
+ */
41
+
42
+ module.exports = httpUtil;
@@ -710,7 +710,7 @@ class WebSocketServer {
710
710
  winston.debug('projectuserUpdateKey: ' + projectuserUpdateKey);
711
711
  authEvent.on(projectuserUpdateKey,function(data) {
712
712
  var pu = data.updatedProject_userPopulated;
713
- winston.debug('pu', pu);
713
+ winston.debug('ws pu', pu);
714
714
 
715
715
  //TODO pubSubServer.handlePublishMessage ('/'+pu.id_project+'/project_users/', pu, undefined, true, "UPDATE");
716
716