@tiledesk/tiledesk-server 2.3.28 → 2.3.30

Sign up to get free protection for your applications and to get access to all the features.
@@ -112,13 +112,14 @@ describe('MessageRoute', () => {
112
112
  .end(function(err, res) {
113
113
  //console.log("res", res);
114
114
  console.log("res.body", res.body);
115
- res.should.have.status(500);
115
+ res.should.have.status(422);
116
116
 
117
117
  done();
118
118
  });
119
119
  });
120
120
  });
121
- });
121
+ }).timeout(20000);
122
+
122
123
 
123
124
 
124
125
 
@@ -144,7 +145,7 @@ it('createSimpleNoText', function (done) {
144
145
  .end(function(err, res) {
145
146
  //console.log("res", res);
146
147
  console.log("res.body", res.body);
147
- res.should.have.status(500);
148
+ res.should.have.status(422);
148
149
 
149
150
  done();
150
151
  });
@@ -789,6 +790,387 @@ it('createSimpleWithFollowers', function (done) {
789
790
 
790
791
 
791
792
 
793
+
794
+
795
+
796
+
797
+
798
+ // mocha test/messageRoute.js --grep 'createMultiTextNoSender1'
799
+
800
+ it('createMultiTextNoSender1', function (done) {
801
+
802
+ var email = "test-message-create-" + Date.now() + "@email.com";
803
+ var pwd = "pwd";
804
+
805
+ userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
806
+ projectService.createAndReturnProjectAndProjectUser("message-createMultiText", savedUser._id).then(function(savedProjectAndPU) {
807
+
808
+ var savedProject = savedProjectAndPU.project;
809
+
810
+
811
+ chai.request(server)
812
+ .post('/'+ savedProject._id + '/requests')
813
+ .auth(email, pwd)
814
+ .set('content-type', 'application/json')
815
+ .send({"first_text":"first_text"})
816
+ .end(function(err, res) {
817
+
818
+ console.log("res.body", res.body);
819
+ res.should.have.status(200);
820
+ res.body.should.be.a('object');
821
+ res.body.should.have.property('first_text').eql('first_text');
822
+
823
+ var request_id = res.body.request_id;
824
+ console.log("request_id",request_id);
825
+
826
+ chai.request(server)
827
+ .post('/'+ savedProject._id + '/requests/'+request_id+'/messages/multi')
828
+ .auth(email, pwd)
829
+ .set('content-type', 'application/json')
830
+ .send([{"text":"text1"}, {"text":"text2"}])
831
+ .end(function(err, res) {
832
+ //console.log("res", res);
833
+ console.log("res.body", res.body);
834
+ res.should.have.status(200);
835
+ res.body.should.be.a('array');
836
+
837
+ expect(res.body[0].sender).to.equal(savedUser._id.toString());
838
+ expect(res.body[0].senderFullname).to.equal("Test Firstname Test lastname");
839
+ expect(res.body[0].recipient).to.equal(request_id);
840
+ expect(res.body[0].text).to.equal("text1");
841
+ expect(res.body[0].id_project).to.equal(savedProject._id.toString());
842
+ expect(res.body[0].createdBy).to.equal(savedUser._id.toString());
843
+ expect(res.body[0].status).to.equal(0);
844
+ expect(res.body[0].channel_type).to.equal("group");
845
+ expect(res.body[0].channel.name).to.equal("chat21");
846
+
847
+
848
+
849
+ expect(res.body[1].sender).to.equal(savedUser._id.toString());
850
+ expect(res.body[0].senderFullname).to.equal("Test Firstname Test lastname");
851
+ expect(res.body[1].recipient).to.equal(request_id);
852
+ expect(res.body[1].text).to.equal("text2");
853
+ expect(res.body[1].id_project).to.equal(savedProject._id.toString());
854
+ expect(res.body[1].createdBy).to.equal(savedUser._id.toString());
855
+ expect(res.body[1].status).to.equal(0);
856
+ expect(res.body[1].channel_type).to.equal("group");
857
+ expect(res.body[1].channel.name).to.equal("chat21");
858
+
859
+ done();
860
+ });
861
+ });
862
+ });
863
+ });
864
+ });
865
+
866
+
867
+
868
+
869
+
870
+ // mocha test/messageRoute.js --grep 'createMultiTextNoSenderNoText'
871
+
872
+ it('createMultiTextNoSenderNoText', function (done) {
873
+
874
+ var email = "test-message-create-" + Date.now() + "@email.com";
875
+ var pwd = "pwd";
876
+
877
+ userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
878
+ projectService.createAndReturnProjectAndProjectUser("message-createMultiText", savedUser._id).then(function(savedProjectAndPU) {
879
+
880
+ var savedProject = savedProjectAndPU.project;
881
+
882
+
883
+ chai.request(server)
884
+ .post('/'+ savedProject._id + '/requests')
885
+ .auth(email, pwd)
886
+ .set('content-type', 'application/json')
887
+ .send({"first_text":"first_text"})
888
+ .end(function(err, res) {
889
+
890
+ console.log("res.body", res.body);
891
+ res.should.have.status(200);
892
+ res.body.should.be.a('object');
893
+ res.body.should.have.property('first_text').eql('first_text');
894
+
895
+ var request_id = res.body.request_id;
896
+ console.log("request_id",request_id);
897
+
898
+ chai.request(server)
899
+ .post('/'+ savedProject._id + '/requests/'+request_id+'/messages/multi')
900
+ .auth(email, pwd)
901
+ .set('content-type', 'application/json')
902
+ .send([{}, {"text":"text2"}])
903
+ .end(function(err, res) {
904
+ //console.log("res", res);
905
+ console.log("res.body", res.body);
906
+ res.should.have.status(500);
907
+
908
+ done();
909
+ });
910
+ });
911
+ });
912
+ });
913
+ });
914
+
915
+
916
+
917
+
918
+
919
+ // mocha test/messageRoute.js --grep 'createMultiTextWithSender'
920
+
921
+ it('createMultiTextWithSender', function (done) {
922
+
923
+ var email = "test-message-create-" + Date.now() + "@email.com";
924
+ var pwd = "pwd";
925
+
926
+ userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
927
+
928
+ var email2 = "test-message-createwithsender22-" + Date.now() + "@email.com";
929
+ var pwd2 = "pwd";
930
+
931
+ userService.signup( email2 ,pwd2, "Test Firstname22", "Test lastname22").then(function(savedUser2) {
932
+
933
+
934
+ projectService.createAndReturnProjectAndProjectUser("message-createMultiText", savedUser._id).then(function(savedProjectAndPU) {
935
+
936
+ var savedProject = savedProjectAndPU.project;
937
+
938
+
939
+
940
+ var pu2 = new Project_user({
941
+ // _id: new mongoose.Types.ObjectId(),
942
+ id_project: savedProject._id,
943
+ id_user: savedUser2._id,
944
+ role: roleConstants.USER,
945
+ user_available: true,
946
+ createdBy: savedUser2._id,
947
+ updatedBy: savedUser2._id,
948
+ });
949
+ pu2.save(function (err, savedProject_user2) {
950
+
951
+
952
+ chai.request(server)
953
+ .post('/'+ savedProject._id + '/requests')
954
+ .auth(email, pwd)
955
+ .set('content-type', 'application/json')
956
+ .send({"first_text":"first_text"})
957
+ .end(function(err, res) {
958
+
959
+ console.log("res.body", res.body);
960
+ res.should.have.status(200);
961
+ res.body.should.be.a('object');
962
+
963
+ res.body.should.have.property('first_text').eql('first_text');
964
+
965
+ var request_id = res.body.request_id;
966
+ console.log("request_id",request_id);
967
+
968
+ chai.request(server)
969
+ .post('/'+ savedProject._id + '/requests/'+request_id+'/messages/multi')
970
+ .auth(email, pwd)
971
+ .set('content-type', 'application/json')
972
+ .send([{"sender":savedUser2._id,"text":"text1"}, {"sender":savedUser2._id,"text":"text2"}])
973
+ .end(function(err, res) {
974
+ //console.log("res", res);
975
+ console.log("res.body", res.body);
976
+ res.should.have.status(200);
977
+ res.body.should.be.a('array');
978
+
979
+ expect(res.body[0].sender).to.equal(savedUser2._id.toString());
980
+ expect(res.body[0].senderFullname).to.equal("Test Firstname Test lastname");
981
+ expect(res.body[0].recipient).to.equal(request_id);
982
+ expect(res.body[0].text).to.equal("text1");
983
+ expect(res.body[0].id_project).to.equal(savedProject._id.toString());
984
+ expect(res.body[0].createdBy).to.equal(savedUser2._id.toString());
985
+ expect(res.body[0].status).to.equal(0);
986
+ expect(res.body[0].channel_type).to.equal("group");
987
+ expect(res.body[0].channel.name).to.equal("chat21");
988
+
989
+
990
+
991
+ expect(res.body[1].sender).to.equal(savedUser2._id.toString());
992
+ expect(res.body[1].senderFullname).to.equal("Test Firstname Test lastname");
993
+ expect(res.body[1].recipient).to.equal(request_id);
994
+ expect(res.body[1].text).to.equal("text2");
995
+ expect(res.body[1].id_project).to.equal(savedProject._id.toString());
996
+ expect(res.body[1].createdBy).to.equal(savedUser2._id.toString());
997
+ expect(res.body[1].status).to.equal(0);
998
+ expect(res.body[1].channel_type).to.equal("group");
999
+ expect(res.body[1].channel.name).to.equal("chat21");
1000
+
1001
+ done();
1002
+ });
1003
+ });
1004
+ });
1005
+ });
1006
+ });
1007
+ });
1008
+ });
1009
+
1010
+
1011
+
1012
+
1013
+
1014
+
1015
+
1016
+
1017
+
1018
+ // mocha test/messageRoute.js --grep 'createMultiTextWithHardcodedSender'
1019
+
1020
+ it('createMultiTextWithHardcodedSender', function (done) {
1021
+
1022
+ var email = "test-message-create-" + Date.now() + "@email.com";
1023
+ var pwd = "pwd";
1024
+
1025
+ userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
1026
+
1027
+
1028
+
1029
+
1030
+ projectService.createAndReturnProjectAndProjectUser("message-createMultiTextWithHardcodedSender", savedUser._id).then(function(savedProjectAndPU) {
1031
+
1032
+ var savedProject = savedProjectAndPU.project;
1033
+
1034
+ chai.request(server)
1035
+ .post('/'+ savedProject._id + '/requests')
1036
+ .auth(email, pwd)
1037
+ .set('content-type', 'application/json')
1038
+ .send({"first_text":"first_text"})
1039
+ .end(function(err, res) {
1040
+
1041
+ console.log("res.body", res.body);
1042
+ res.should.have.status(200);
1043
+ res.body.should.be.a('object');
1044
+
1045
+ res.body.should.have.property('first_text').eql('first_text');
1046
+
1047
+ var request_id = res.body.request_id;
1048
+ console.log("request_id",request_id);
1049
+
1050
+ chai.request(server)
1051
+ .post('/'+ savedProject._id + '/requests/'+request_id+'/messages/multi')
1052
+ .auth(email, pwd)
1053
+ .set('content-type', 'application/json')
1054
+ .send([{"sender":"andrealeo","text":"text1"}, {"sender":"rocco","text":"text2"}])
1055
+ .end(function(err, res) {
1056
+ //console.log("res", res);
1057
+ console.log("res.body", res.body);
1058
+ res.should.have.status(200);
1059
+ res.body.should.be.a('array');
1060
+
1061
+ expect(res.body[0].sender).to.equal("andrealeo");
1062
+ expect(res.body[0].senderFullname).to.equal("Test Firstname Test lastname");
1063
+ expect(res.body[0].recipient).to.equal(request_id);
1064
+ expect(res.body[0].text).to.equal("text1");
1065
+ expect(res.body[0].id_project).to.equal(savedProject._id.toString());
1066
+ expect(res.body[0].createdBy).to.equal("andrealeo");
1067
+ expect(res.body[0].status).to.equal(0);
1068
+ expect(res.body[0].channel_type).to.equal("group");
1069
+ expect(res.body[0].channel.name).to.equal("chat21");
1070
+
1071
+
1072
+
1073
+ expect(res.body[1].sender).to.equal("rocco");
1074
+ expect(res.body[1].senderFullname).to.equal("Test Firstname Test lastname");
1075
+ expect(res.body[1].recipient).to.equal(request_id);
1076
+ expect(res.body[1].text).to.equal("text2");
1077
+ expect(res.body[1].id_project).to.equal(savedProject._id.toString());
1078
+ expect(res.body[1].createdBy).to.equal("rocco");
1079
+ expect(res.body[1].status).to.equal(0);
1080
+ expect(res.body[1].channel_type).to.equal("group");
1081
+ expect(res.body[1].channel.name).to.equal("chat21");
1082
+
1083
+ done();
1084
+ });
1085
+ });
1086
+ });
1087
+ });
1088
+ });
1089
+
1090
+
1091
+
1092
+
1093
+
1094
+
1095
+
1096
+ // mocha test/messageRoute.js --grep 'createMultiTextWithHardcodedSenderAndSenderFullname'
1097
+
1098
+ it('createMultiTextWithHardcodedSenderAndSenderFullname', function (done) {
1099
+
1100
+ var email = "test-message-create-" + Date.now() + "@email.com";
1101
+ var pwd = "pwd";
1102
+
1103
+ userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
1104
+
1105
+
1106
+
1107
+
1108
+ projectService.createAndReturnProjectAndProjectUser("message-createMultiTextWithHardcodedSenderAndSenderFullname", savedUser._id).then(function(savedProjectAndPU) {
1109
+
1110
+ var savedProject = savedProjectAndPU.project;
1111
+
1112
+ chai.request(server)
1113
+ .post('/'+ savedProject._id + '/requests')
1114
+ .auth(email, pwd)
1115
+ .set('content-type', 'application/json')
1116
+ .send({"first_text":"first_text"})
1117
+ .end(function(err, res) {
1118
+
1119
+ console.log("res.body", res.body);
1120
+ res.should.have.status(200);
1121
+ res.body.should.be.a('object');
1122
+
1123
+ res.body.should.have.property('first_text').eql('first_text');
1124
+
1125
+ var request_id = res.body.request_id;
1126
+ console.log("request_id",request_id);
1127
+
1128
+ chai.request(server)
1129
+ .post('/'+ savedProject._id + '/requests/'+request_id+'/messages/multi')
1130
+ .auth(email, pwd)
1131
+ .set('content-type', 'application/json')
1132
+ .send([{"sender":"andrealeo", "senderFullname":"Andrea","text":"text1"}, {"sender":"rocco", "senderFullname":"Rocco", "text":"text2"}])
1133
+ .end(function(err, res) {
1134
+ //console.log("res", res);
1135
+ console.log("res.body", res.body);
1136
+ res.should.have.status(200);
1137
+ res.body.should.be.a('array');
1138
+
1139
+ expect(res.body[0].sender).to.equal("andrealeo");
1140
+ expect(res.body[0].senderFullname).to.equal("Andrea");
1141
+ expect(res.body[0].recipient).to.equal(request_id);
1142
+ expect(res.body[0].text).to.equal("text1");
1143
+ expect(res.body[0].id_project).to.equal(savedProject._id.toString());
1144
+ expect(res.body[0].createdBy).to.equal("andrealeo");
1145
+ expect(res.body[0].status).to.equal(0);
1146
+ expect(res.body[0].channel_type).to.equal("group");
1147
+ expect(res.body[0].channel.name).to.equal("chat21");
1148
+
1149
+
1150
+
1151
+ expect(res.body[1].sender).to.equal("rocco");
1152
+ expect(res.body[1].senderFullname).to.equal("Rocco");
1153
+ expect(res.body[1].recipient).to.equal(request_id);
1154
+ expect(res.body[1].text).to.equal("text2");
1155
+ expect(res.body[1].id_project).to.equal(savedProject._id.toString());
1156
+ expect(res.body[1].createdBy).to.equal("rocco");
1157
+ expect(res.body[1].status).to.equal(0);
1158
+ expect(res.body[1].channel_type).to.equal("group");
1159
+ expect(res.body[1].channel.name).to.equal("chat21");
1160
+
1161
+ done();
1162
+ });
1163
+ });
1164
+ });
1165
+ });
1166
+ });
1167
+
1168
+
1169
+
1170
+
1171
+
1172
+
1173
+
792
1174
  it('getall', function (done) {
793
1175
  // this.timeout(10000);
794
1176
 
@@ -0,0 +1,90 @@
1
+
2
+ process.env.NODE_ENV = 'test';
3
+
4
+
5
+ //Require the dev-dependencies
6
+ let chai = require('chai');
7
+ let chaiHttp = require('chai-http');
8
+ let server = require('../app');
9
+ var projectService = require('../services/projectService');
10
+ var userService = require('../services/userService');
11
+ let should = chai.should();
12
+ var Project_user = require("../models/project_user");
13
+
14
+ var expect = chai.expect;
15
+ var assert = chai.assert;
16
+
17
+ //server client
18
+ var express = require('express');
19
+ const bodyParser = require('body-parser');
20
+
21
+ //end server client
22
+
23
+ chai.use(chaiHttp);
24
+
25
+ describe('Cache', () => {
26
+
27
+ if (process.env.CACHE_ENABLED == "true") {
28
+
29
+ }else {
30
+ console.log("Cache disabled");
31
+ expect(true).to.equal(false);
32
+ }
33
+ describe('/project', () => {
34
+
35
+
36
+ // mocha test-int/bot.js --grep 'createSimpleExatMatch'
37
+ it('getProject', (done) => {
38
+
39
+ var email = "test-bot-" + Date.now() + "@email.com";
40
+ var pwd = "pwd";
41
+
42
+
43
+
44
+ userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
45
+ projectService.create("test-getProject", savedUser._id).then(function(savedProject) {
46
+
47
+ chai.request(server)
48
+ .get('/projects/'+ savedProject._id + '/')
49
+ .auth(email, pwd)
50
+ .set('content-type', 'application/json')
51
+ .send()
52
+ .end((err, res) => {
53
+ console.log("res.body", JSON.stringify(res.body));
54
+ // console.dir("res.body 1", res.body);
55
+ console.log("res.headers", res.headers);
56
+ res.should.have.status(200);
57
+ res.body.should.be.a('object');
58
+ expect(res.body.name).to.equal("test-getProject");
59
+ expect(res.body.status).to.equal(100);
60
+ expect(res.body.isActiveSubscription).to.equal(false);
61
+ expect(res.body.trialDaysLeft).to.equal(-30);
62
+ expect(res.body.trialExpired).to.equal(false);
63
+
64
+
65
+ chai.request(server)
66
+ .get('/projects/'+ savedProject._id + '/')
67
+ .auth(email, pwd)
68
+ .set('content-type', 'application/json') //from cache
69
+ .send()
70
+ .end((err, res) => {
71
+ console.log("res.body", JSON.stringify(res.body));
72
+ // console.dir("res.body 1", res.body);
73
+ console.log("res.headers", res.headers);
74
+ res.should.have.status(200);
75
+ res.body.should.be.a('object');
76
+ expect(res.body.name).to.equal("test-getProject");
77
+ expect(res.body.status).to.equal(100);
78
+ expect(res.body.isActiveSubscription).to.equal(false);
79
+ expect(res.body.trialDaysLeft).to.equal(-30);
80
+ expect(res.body.trialExpired).to.equal(false);
81
+ done()
82
+ });
83
+ });
84
+ });
85
+ });
86
+
87
+ });
88
+ });
89
+
90
+ });
@@ -0,0 +1,88 @@
1
+
2
+ process.env.NODE_ENV = 'test';
3
+
4
+
5
+ //Require the dev-dependencies
6
+ let chai = require('chai');
7
+ let chaiHttp = require('chai-http');
8
+ let server = require('../app');
9
+ var projectService = require('../services/projectService');
10
+ var userService = require('../services/userService');
11
+ let should = chai.should();
12
+ var Project_user = require("../models/project_user");
13
+
14
+ var expect = chai.expect;
15
+ var assert = chai.assert;
16
+
17
+ //server client
18
+ var express = require('express');
19
+ const bodyParser = require('body-parser');
20
+
21
+ //end server client
22
+
23
+ chai.use(chaiHttp);
24
+
25
+ describe('Cache', () => {
26
+
27
+ if (process.env.CACHE_ENABLED == "true") {
28
+
29
+ }else {
30
+ console.log("Cache disabled");
31
+ expect(true).to.equal(false);
32
+ }
33
+
34
+ describe('/project_user', () => {
35
+
36
+
37
+ // mocha test-int/bot.js --grep 'createSimpleExatMatch'
38
+ it('getCurrentProjectUser', (done) => {
39
+
40
+ var email = "test-bot-" + Date.now() + "@email.com";
41
+ var pwd = "pwd";
42
+
43
+
44
+
45
+ userService.signup( email ,pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
46
+ projectService.create("test-getCurrentProjectUser", savedUser._id).then(function(savedProject) {
47
+
48
+ chai.request(server)
49
+ .get('/'+ savedProject._id + '/project_users_test/test')
50
+ .auth(email, pwd)
51
+ .set('content-type', 'application/json')
52
+ .send()
53
+ .end((err, res) => {
54
+ console.log("res.body", JSON.stringify(res.body));
55
+ // console.dir("res.body 1", res.body);
56
+ console.log("res.headers", res.headers);
57
+ res.should.have.status(200);
58
+ res.body.should.be.a('object');
59
+ expect(res.body.role).to.equal("owner");
60
+ expect(res.body.isAuthenticated).to.equal(true);
61
+ expect(res.body.id_project).to.equal(savedProject._id.toString());
62
+
63
+
64
+ chai.request(server)
65
+ .get('/'+ savedProject._id + '/project_users_test/test')
66
+ .auth(email, pwd)
67
+ .set('content-type', 'application/json') //from cache
68
+ .send()
69
+ .end((err, res) => {
70
+ console.log("res.body", JSON.stringify(res.body));
71
+ // console.dir("res.body 1", res.body);
72
+ console.log("res.headers", res.headers);
73
+ res.should.have.status(200);
74
+ res.body.should.be.a('object');
75
+ expect(res.body.role).to.equal("owner");
76
+ expect(res.body.isAuthenticated).to.equal(true);
77
+ expect(res.body.id_project).to.equal(savedProject._id.toString());
78
+
79
+ done()
80
+ });
81
+ });
82
+ });
83
+ });
84
+
85
+ });
86
+ });
87
+
88
+ });
@@ -0,0 +1,31 @@
1
+ class PromiseUtil {
2
+
3
+ async doAllSequentually(promises) {
4
+ // return new Promise(async function (resolve, reject) {
5
+ // console.log("promises",promises);
6
+ var values = [];
7
+ for (let i=0; i < promises.length; i++) {
8
+ // console.log("promises[i]",promises[i]);
9
+
10
+ // const val = await
11
+ var value = await promises[i]
12
+ // .then(function(value) {
13
+ // console.log("done promises[i]",value);
14
+ // values.push(value);
15
+ // console.log("values before",values);
16
+ // });
17
+ values.push(value);
18
+ };
19
+
20
+ console.log("values",values);
21
+ // return resolve(values);
22
+
23
+ // });
24
+ return values;
25
+ }
26
+ }
27
+
28
+ var promiseUtil = new PromiseUtil();
29
+
30
+
31
+ module.exports = promiseUtil;
@@ -30,7 +30,7 @@ async send(sender, senderFullname, recipient, text, id_project, createdBy, attri
30
30
  } else {
31
31
  winston.debug("user id: "+sender);
32
32
  var user = await User.findById(sender)
33
- //@DISABLED_CACHE .cache(cacheUtil.defaultTTL, "users:id:"+sender)
33
+ //@DISABLED_CACHE .cache(cacheUtil.defaultTTL, "users:id:"+sender) //user_cache
34
34
  .exec()
35
35
  winston.debug("user", user);
36
36
  senderFullname = user.fullName;