@tiledesk/tiledesk-server 2.4.52 → 2.4.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,134 @@
1
+ //During the test the env variable is set to test
2
+ process.env.NODE_ENV = 'test';
3
+
4
+ let log = false;
5
+ var projectService = require('../services/projectService');
6
+ var userService = require('../services/userService');
7
+
8
+ //Require the dev-dependencies
9
+ let chai = require('chai');
10
+ let chaiHttp = require('chai-http');
11
+ let server = require('../app');
12
+ let should = chai.should();
13
+ var fs = require('fs');
14
+ const path = require('path');
15
+
16
+ // chai.config.includeStack = true;
17
+
18
+ var expect = chai.expect;
19
+ var assert = chai.assert;
20
+
21
+ chai.use(chaiHttp);
22
+
23
+ describe('FaqKBRoute', () => {
24
+
25
+ describe('/create', () => {
26
+
27
+ // it('completions', (done) => {
28
+
29
+ // var email = "test-signup-" + Date.now() + "@email.com";
30
+ // var pwd = "pwd";
31
+
32
+ // userService.signup(email, pwd, "Test Firstname", "Test Lastname").then((savedUser) => {
33
+ // projectService.create("test-openai-create", savedUser._id).then((savedProject) => {
34
+
35
+ // chai.request(server)
36
+ // .post('/' + savedProject._id + '/kbsettings')
37
+ // .auth(email, pwd)
38
+ // .send({}) // can be empty
39
+ // .end((err, res) => {
40
+ // if (log) { console.log("create kbsettings res.body: ", res.body); }
41
+ // res.should.have.status(200);
42
+ // res.body.should.be.a('object');
43
+
44
+ // chai.request(server)
45
+ // .put('/' + savedProject._id + "/kbsettings/" + res.body._id)
46
+ // .auth(email, pwd)
47
+ // .send({ gptkey: "sk-12345678" })
48
+ // .end((err, res) => {
49
+ // if (log) { console.log("add kb to kb settings res.body: ", res.body); }
50
+ // res.should.have.status(200);
51
+ // res.body.should.be.a('object');
52
+
53
+ // chai.request(server)
54
+ // .post('/' + savedProject._id + '/openai')
55
+ // .auth(email, pwd)
56
+ // .send({ question: "Provide 3 names for a dog", context: "you are an awesome assistant", max_tokens: 100, temperature: 0, model: "gpt-3.5-turbo" })
57
+ // .end((err, res) => {
58
+ // console.log("res.body (1): ", res.body);
59
+ // console.log("res.status: ", res.status);
60
+
61
+ // done();
62
+ // })
63
+
64
+ // })
65
+ // })
66
+ // })
67
+ // })
68
+ // }).timeout(20000)
69
+
70
+ it('completions missing gptkey', (done) => {
71
+
72
+ var email = "test-signup-" + Date.now() + "@email.com";
73
+ var pwd = "pwd";
74
+
75
+ userService.signup(email, pwd, "Test Firstname", "Test Lastname").then((savedUser) => {
76
+ projectService.create("test-openai-create", savedUser._id).then((savedProject) => {
77
+
78
+ chai.request(server)
79
+ .post('/' + savedProject._id + '/kbsettings')
80
+ .auth(email, pwd)
81
+ .send({}) // can be empty
82
+ .end((err, res) => {
83
+ if (log) { console.log("create kbsettings res.body: ", res.body); }
84
+ res.should.have.status(200);
85
+ res.body.should.be.a('object');
86
+
87
+ chai.request(server)
88
+ .post('/' + savedProject._id + '/openai')
89
+ .auth(email, pwd)
90
+ .send({ question: "Provide 3 names for a dog", context: "you are an awesome assistant", max_tokens: 100, temperature: 0, model: "gpt-3.5-turbo" })
91
+ .end((err, res) => {
92
+ if (log) {console.log("res.body: ", res.body);}
93
+ res.should.have.status(400);
94
+ res.body.should.be.a('object');
95
+ expect(res.body.success).to.equal(false);
96
+ expect(res.body.message).to.equal("Missing gptkey parameter");
97
+
98
+ done();
99
+ })
100
+ })
101
+ })
102
+ })
103
+ }).timeout(20000)
104
+
105
+ it('completions missing settings', (done) => {
106
+
107
+ var email = "test-signup-" + Date.now() + "@email.com";
108
+ var pwd = "pwd";
109
+
110
+ userService.signup(email, pwd, "Test Firstname", "Test Lastname").then((savedUser) => {
111
+ projectService.create("test-openai-create", savedUser._id).then((savedProject) => {
112
+
113
+ chai.request(server)
114
+ .post('/' + savedProject._id + '/openai')
115
+ .auth(email, pwd)
116
+ .send({ question: "Provide 3 names for a dog", context: "you are an awesome assistant", max_tokens: 100, temperature: 0, model: "gpt-3.5-turbo" })
117
+ .end((err, res) => {
118
+ if (log) {console.log("res.body: ", res.body);}
119
+ res.should.have.status(400);
120
+ res.body.should.be.a('object');
121
+ expect(res.body.success).to.equal(false);
122
+ expect(res.body.message).to.equal("Missing gptkey parameter (settings not exist)");
123
+
124
+ done();
125
+ })
126
+ })
127
+ })
128
+ }).timeout(20000)
129
+
130
+ });
131
+
132
+ });
133
+
134
+
@@ -0,0 +1,63 @@
1
+ //During the test the env variable is set to test
2
+ process.env.NODE_ENV = 'test';
3
+
4
+ let chai = require('chai');
5
+ let chaiHttp = require('chai-http');
6
+ let server = require('../app');
7
+
8
+ chai.use(chaiHttp);
9
+
10
+ var expect = require('chai').expect;
11
+ var assert = require('chai').assert;
12
+ var config = require('../config/database');
13
+
14
+ var mongoose = require('mongoose');
15
+ var winston = require('../config/winston');
16
+
17
+ // var databaseUri = process.env.DATABASE_URI || process.env.MONGODB_URI;
18
+ // if (!databaseUri) {
19
+ // console.log('DATABASE_URI not specified, falling back to localhost.');
20
+ // }
21
+
22
+ // mongoose.connect(databaseUri || config.database);
23
+ mongoose.connect(config.databasetest);
24
+
25
+ var userService = require('../services/userService');
26
+
27
+
28
+ describe('UserService()', function () {
29
+
30
+ it('loginemail', (done) => {
31
+ var now = Date.now();
32
+ var email = "test-UserService-signup-" + now + "@email.com";
33
+ var pwd = "pwd";
34
+
35
+ userService.signup(email , pwd, "Test Firstname", "Test lastname").then(function(savedUser) {
36
+ expect(savedUser.email).to.equal("test-userservice-signup-" + now + "@email.com");
37
+ expect(savedUser.firstname).to.equal( "Test Firstname");
38
+ expect(savedUser.lastname).to.equal("Test lastname");
39
+
40
+ chai.request(server)
41
+ .post('/users/loginemail')
42
+ .auth(email, pwd)
43
+ .send({ "id_project": "123456789" })
44
+ .end((err, res) => {
45
+ console.log("res.body: ", res.body);
46
+ console.log("res.status: ", res.status);
47
+
48
+ done();
49
+ })
50
+
51
+
52
+ }).catch(function(err) {
53
+ winston.error("test reject", err);
54
+ assert.isNotOk(err,'Promise error');
55
+ done();
56
+ });
57
+
58
+ })
59
+
60
+
61
+ });
62
+
63
+
@@ -0,0 +1,98 @@
1
+
2
+ class Segment2MongoConverter {
3
+
4
+ convert(query, segment) {
5
+ //console.log("qui", query);
6
+
7
+ let condition = query;
8
+ //let condition = {};
9
+
10
+ // if (segment.match == "any") {
11
+ // // db.inventory.find( { $or: [ { quantity: { $lt: 20 } }, { price: 10 } ] } )
12
+ // condition["$or"] = [];
13
+ // }
14
+
15
+ if (segment.filters && segment.filters.length > 0) {
16
+ for(var i = 0; i < segment.filters.length; i++) {
17
+ let filter = segment.filters[i];
18
+ switch (filter.operator) {
19
+ case '=':
20
+ //console.log('Operator =');
21
+ this.convertEqualsOperatorFilter(condition, filter);
22
+ break;
23
+ case '!=':
24
+ //console.log('Operator !=');
25
+ this.convertNotEqualsOperatorFilter(condition, filter);
26
+ break;
27
+ case '>':
28
+ //console.log('Operator !=');
29
+ this.convertGreaterThanOperatorFilter(condition, filter);
30
+ break;
31
+ case '>=':
32
+ //console.log('Operator >=');
33
+ this.convertGreaterThanOrEqualOperatorFilter(condition, filter);
34
+ break;
35
+ case 'stars with':
36
+ //console.log('Operator >=');
37
+ this.convertStarsWithOperatorFilter(condition, filter);
38
+ break;
39
+ case 'contains':
40
+ //console.log('Operator >=');
41
+ this.convertContainsOperatorFilter(condition, filter);
42
+ break;
43
+ case 'is null':
44
+ //console.log('Operator >=');
45
+ this.convertIsUndefinedOperatorFilter(condition, filter);
46
+ break;
47
+ case 'is not null':
48
+ //console.log('Operator >=');
49
+ this.convertExistsOperatorFilter(condition, filter);
50
+ break;
51
+
52
+ default:
53
+ console.log('Operator default');
54
+ }
55
+
56
+ }
57
+ }
58
+
59
+ //console.log("qui2", query);
60
+
61
+ }
62
+
63
+ convertEqualsOperatorFilter(query, filter) {
64
+ query[filter.field] = filter.value;
65
+ }
66
+
67
+ convertNotEqualsOperatorFilter(query, filter) {
68
+ query[filter.field] = {"$ne": filter.value};
69
+ }
70
+
71
+ convertGreaterThanOperatorFilter(query, filter) {
72
+ query[filter.field] = {"$gt": filter.value};
73
+ }
74
+ convertGreaterThanOrEqualOperatorFilter(query, filter) {
75
+ query[filter.field] = {"$gte": filter.value};
76
+ }
77
+
78
+ convertStartWithOperatorFilter(query, filter) {
79
+ query[filter.field] = {"$regex": "/^"+filter.value+"/i"};
80
+ }
81
+ convertStartWithOperatorFilter(query, filter) {
82
+ query[filter.field] = {"$regex": "/^"+filter.value+"/i"};
83
+ }
84
+ convertContainsOperatorFilter(query, filter) {
85
+ query[filter.field] = {"$regex": filter.value};
86
+ }
87
+ convertIsUndefinedOperatorFilter(query, filter) {
88
+ query[filter.field] = {"$exists": false};
89
+ }
90
+ convertExistsOperatorFilter(query, filter) {
91
+ query[filter.field] = {"$exists": true};
92
+ }
93
+ }
94
+
95
+ var segment2MongoConverter = new Segment2MongoConverter();
96
+
97
+ module.exports = segment2MongoConverter;
98
+
@@ -1,58 +0,0 @@
1
- var express = require('express');
2
- var OpenaiKbs = require('../models/openai_kbs');
3
- var router = express.Router();
4
-
5
-
6
- router.get('/', async (req, res) => {
7
-
8
- let project_id = req.projectid;
9
-
10
- OpenaiKbs.find({ id_project: project_id }, (err, kbs) => {
11
- if (err) {
12
- console.error("find all kbs error: ", err);
13
- return res.status(500).send({ success: false, error: err });
14
- } else {
15
- return res.status(200).send(kbs);
16
- }
17
- })
18
- })
19
-
20
- router.post('/', async (req, res) => {
21
-
22
- let body = req.body;
23
-
24
- let new_kbs = new OpenaiKbs({
25
- name: body.name,
26
- url: body.url,
27
- id_project: req.projectid,
28
- gptkey: req.body.gptkey
29
- })
30
-
31
- new_kbs.save(function (err, savedKbs) {
32
- if (err) {
33
- console.error("save new kbs error: ", err);
34
- return res.status(500).send({ success: false, error: err});
35
- } else {
36
- return res.status(200).send(savedKbs);
37
- }
38
- })
39
- })
40
-
41
- router.put('/', async (req, res) => {
42
- // to be implemented
43
- })
44
-
45
- router.delete('/:kbs_id', async (req, res) => {
46
- let kbs_id = req.params.kbs_id;
47
-
48
- OpenaiKbs.findOneAndDelete( { _id: kbs_id }, (err, kbDeleted) => {
49
- if (err) {
50
- console.error("find one and delete kbs error: ", err);
51
- return res.status(500).send({ success: false, error: err});
52
- } else {
53
- return res.status(200).send({ success: true, message: 'Knowledge Base deleted successfully', openai_kb: kbDeleted });
54
- }
55
- })
56
- })
57
-
58
- module.exports = router;
@@ -1,75 +0,0 @@
1
- //During the test the env variable is set to test
2
- process.env.NODE_ENV = 'test';
3
-
4
- let log = false;
5
-
6
- //Require the dev-dependencies
7
- let chai = require('chai');
8
- let chaiHttp = require('chai-http');
9
- let server = require('../app');
10
- let should = chai.should();
11
- var fs = require('fs');
12
- const path = require('path');
13
-
14
- // chai.config.includeStack = true;
15
-
16
- var expect = chai.expect;
17
- var assert = chai.assert;
18
-
19
- chai.use(chaiHttp);
20
-
21
- describe('FaqKBRoute', () => {
22
-
23
- describe('/create', () => {
24
-
25
- it('home', (done) => {
26
-
27
- })
28
-
29
- it('create', (done) => {
30
-
31
- var email = "test-signup-" + Date.now() + "@email.com";
32
- var pwd = "pwd";
33
-
34
- userService.signup(email, pwd, "Test Firstname", "Test lastname").then(function (savedUser) {
35
- projectService.create("test-faqkb-create", savedUser._id).then(function (savedProject) {
36
- chai.request(server)
37
- .post('/' + savedProject._id + '/faq_kb')
38
- .auth(email, pwd)
39
- .send({ "name": "testbot", type: "external", language: 'fr' })
40
- .end((err, res) => {
41
- if (log) {
42
- console.log("res.body", res.body);
43
- }
44
- res.should.have.status(200);
45
- res.body.should.be.a('object');
46
- expect(res.body.name).to.equal("testbot");
47
- expect(res.body.language).to.equal("fr");
48
-
49
- chai.request(server)
50
- .get('/' + savedProject._id + '/faq_kb/' + res.body._id)
51
- .auth(email, pwd)
52
- .end((err, res) => {
53
- if (log) {
54
- console.log("res.body", res.body);
55
- }
56
- res.should.have.status(200);
57
-
58
- done();
59
- });
60
- });
61
-
62
-
63
- });
64
- });
65
-
66
- }).timeout(20000);
67
-
68
-
69
-
70
-
71
- });
72
-
73
- });
74
-
75
-