not-node 5.1.44 → 6.0.0

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.
Files changed (53) hide show
  1. package/.eslintrc.json +32 -38
  2. package/index.js +6 -0
  3. package/package.json +12 -11
  4. package/src/app.js +2 -2
  5. package/src/auth/index.js +0 -2
  6. package/src/auth/routes.js +25 -61
  7. package/src/auth/rules.js +8 -7
  8. package/src/common.js +19 -0
  9. package/src/identity/exceptions.js +17 -0
  10. package/src/identity/identity.js +61 -0
  11. package/src/identity/index.js +35 -0
  12. package/src/identity/providers/session.js +137 -0
  13. package/src/identity/providers/token.js +255 -0
  14. package/src/manifest/result.filter.js +268 -0
  15. package/src/manifest/route.js +6 -36
  16. package/static2.js +24 -0
  17. package/test/auth/identity.js +0 -0
  18. package/test/auth/routes.js +1 -1
  19. package/test/auth.js +427 -229
  20. package/test/env.js +20 -20
  21. package/test/fields.js +3 -2
  22. package/test/identity/identity.js +1 -0
  23. package/test/identity/index.js +12 -0
  24. package/test/identity/providers/session.js +227 -0
  25. package/test/identity/providers/token.js +244 -0
  26. package/test/identity.js +5 -0
  27. package/test/init/app.js +359 -365
  28. package/test/init/bodyparser.js +37 -39
  29. package/test/init/compression.js +29 -31
  30. package/test/init/cors.js +38 -39
  31. package/test/init/db.js +60 -64
  32. package/test/init/env.js +109 -114
  33. package/test/init/express.js +50 -47
  34. package/test/init/fileupload.js +30 -32
  35. package/test/init/http.js +258 -240
  36. package/test/init/informer.js +20 -24
  37. package/test/init/methodoverride.js +29 -31
  38. package/test/init/middleware.js +56 -58
  39. package/test/init/modules.js +19 -19
  40. package/test/init/monitoring.js +22 -22
  41. package/test/init/routes.js +185 -171
  42. package/test/init/security.js +77 -103
  43. package/test/init/sessions/mongoose.js +56 -57
  44. package/test/init/sessions/redis.js +59 -61
  45. package/test/init/sessions.js +84 -79
  46. package/test/init/static.js +108 -113
  47. package/test/init/template.js +46 -41
  48. package/test/notInit.js +217 -217
  49. package/test/notManifest.js +232 -191
  50. package/test/notRoute.js +1022 -799
  51. package/test/result.filter.js +422 -0
  52. package/src/auth/session.js +0 -151
  53. package/test/auth/session.js +0 -266
@@ -1,112 +1,86 @@
1
- const InitSecurity = require('../../src/init/security');
2
- const mock = require('mock-require');
1
+ const InitSecurity = require("../../src/init/lib/security");
2
+ const mock = require("mock-require");
3
3
 
4
4
  const DIRs = {
5
- "connect": [
6
- "'self'",
7
- "*",
8
- "wss:",
9
- "https:",
10
- "'unsafe-inline'"
11
- ],
12
- "default": [
13
- "'self'",
14
- "*",
15
- "wss:",
16
- "https:",
17
- "'unsafe-inline'"
18
- ],
19
- "img": [
20
- "'self'",
21
- "data:"
22
- ],
23
- "script": [
24
- "'self'",
25
- "'unsafe-eval'",
26
- "'unsafe-inline'"
27
- ],
28
- "style": [
29
- "'self'",
30
- "'unsafe-inline'",
31
- "'unsafe-eval'"
32
- ]
33
- };
5
+ connect: ["'self'", "*", "wss:", "https:", "'unsafe-inline'"],
6
+ default: ["'self'", "*", "wss:", "https:", "'unsafe-inline'"],
7
+ img: ["'self'", "data:"],
8
+ script: ["'self'", "'unsafe-eval'", "'unsafe-inline'"],
9
+ style: ["'self'", "'unsafe-inline'", "'unsafe-eval'"],
10
+ };
34
11
 
35
- module.exports = ({expect})=>{
36
- describe('Security', ()=>{
37
- describe('run', ()=>{
38
- it('ok', async()=>{
12
+ module.exports = ({ expect }) => {
13
+ describe("Security", () => {
14
+ describe("run", () => {
15
+ it("ok", async () => {
16
+ const config = {
17
+ get(str) {
18
+ return {
19
+ cors: ["host.a", "host.b"],
20
+ CSP: DIRs,
21
+ }[str];
22
+ },
23
+ };
24
+ const master = {
25
+ getServer() {
26
+ return {
27
+ use(func) {
28
+ expect(typeof func).to.be.equal("function");
29
+ },
30
+ };
31
+ },
32
+ getApp() {
33
+ return {
34
+ execInModules(str) {
35
+ executed = str;
36
+ },
37
+ };
38
+ },
39
+ };
40
+ mock("helmet", (arg) => {
41
+ expect(arg).to.be.ok;
42
+ expect(arg).to.have.keys(["contentSecurityPolicy"]);
43
+ return () => {};
44
+ });
45
+ await new InitSecurity().run({ master, config });
46
+ });
39
47
 
40
- const config = {
41
- get(str){
42
- return {
43
- cors: ['host.a', 'host.b'],
44
- CSP: DIRs
45
- }[str];
46
- }
47
- };
48
- const master = {
49
- getServer(){
50
- return {
51
- use(func){
52
- expect(typeof func).to.be.equal('function');
53
- }
54
- };
55
- },
56
- getApp(){
57
- return {
58
- execInModules(str){
59
- executed = str;
60
- }
61
- };
62
- }
63
- };
64
- mock('helmet', (arg)=>{
65
- expect(arg).to.be.ok;
66
- expect(arg).to.have.keys(['contentSecurityPolicy']);
67
- return ()=>{};
48
+ it("ok, getCSPDirectives throwed", async () => {
49
+ const config = {
50
+ get(str) {
51
+ return {
52
+ cors: ["host.a", "host.b"],
53
+ CSP: "asd",
54
+ }[str];
55
+ },
56
+ };
57
+ const master = {
58
+ getServer() {
59
+ return {
60
+ use(func) {
61
+ expect(typeof func).to.be.equal("function");
62
+ },
63
+ };
64
+ },
65
+ getApp() {
66
+ return {
67
+ execInModules(str) {
68
+ executed = str;
69
+ },
70
+ };
71
+ },
72
+ };
73
+ mock("helmet", (arg) => {
74
+ expect(arg).to.be.ok;
75
+ expect(arg).to.have.keys(["contentSecurityPolicy"]);
76
+ return () => {};
77
+ });
78
+ await new InitSecurity().run({ master, config });
79
+ });
68
80
  });
69
- await (new InitSecurity()).run({master, config});
70
- });
71
-
72
-
73
- it('ok, getCSPDirectives throwed', async()=>{
74
81
 
75
- const config = {
76
- get(str){
77
- return {
78
- cors: ['host.a', 'host.b'],
79
- CSP: 'asd'
80
- }[str];
81
- }
82
- };
83
- const master = {
84
- getServer(){
85
- return {
86
- use(func){
87
- expect(typeof func).to.be.equal('function');
88
- }
89
- };
90
- },
91
- getApp(){
92
- return {
93
- execInModules(str){
94
- executed = str;
95
- }
96
- };
97
- }
98
- };
99
- mock('helmet', (arg)=>{
100
- expect(arg).to.be.ok;
101
- expect(arg).to.have.keys(['contentSecurityPolicy']);
102
- return ()=>{};
82
+ after(() => {
83
+ mock.stop("helmet");
103
84
  });
104
- await (new InitSecurity()).run({master, config});
105
- });
106
- });
107
-
108
- after(()=>{
109
- mock.stop('helmet');
110
85
  });
111
- });
112
86
  };
@@ -1,63 +1,62 @@
1
- const InitSessionsMongo = require('../../../src/init/sessions/mongoose');
2
- const mock = require('mock-require');
1
+ const InitSessionsMongo = require("../../../src/init/lib/sessions/mongoose");
2
+ const mock = require("mock-require");
3
3
 
4
+ module.exports = ({ expect }) => {
5
+ describe("InitSessionsMongo", () => {
6
+ describe("run", () => {
7
+ it("run, middleware returned and set", async () => {
8
+ let events = [];
4
9
 
5
- module.exports = ({
6
- expect
7
- }) => {
8
- describe('InitSessionsMongo', () => {
9
- describe('run', () => {
10
- it('run, middleware returned and set', async () => {
11
- let events = [];
10
+ mock("express-session", (cnf) => {
11
+ expect(cnf).have.keys([
12
+ "secret",
13
+ "key",
14
+ "cookie",
15
+ "resave",
16
+ "saveUninitialized",
17
+ "store",
18
+ ]);
19
+ return () => {};
20
+ });
21
+ mock("connect-mongodb-session", (inpt) => {
22
+ expect(typeof inpt).to.be.equal("function");
23
+ return class FakeRedis {
24
+ on(name, arg) {
25
+ expect(typeof name).to.be.equal("string");
26
+ expect(typeof arg).to.be.equal("function");
27
+ events.push(name);
28
+ arg(new Error("test error"));
29
+ }
30
+ };
31
+ });
12
32
 
13
- mock('express-session', (cnf)=>{
14
- expect(cnf).have.keys([
15
- 'secret', 'key', 'cookie', 'resave',
16
- 'saveUninitialized', 'store']);
17
- return ()=>{};
18
- });
19
- mock('connect-mongodb-session', (inpt)=>{
20
- expect(typeof inpt).to.be.equal('function');
21
- return class FakeRedis{
22
- on(name, arg){
23
- expect(typeof name).to.be.equal('string');
24
- expect(typeof arg).to.be.equal('function');
25
- events.push(name)
26
- arg(new Error('test error'));
27
- }
28
- };
29
- });
30
-
31
- const config = {
32
- get(str){
33
- return str + '__fake';
34
- }
35
- };
33
+ const config = {
34
+ get(str) {
35
+ return str + "__fake";
36
+ },
37
+ };
36
38
 
37
- const master = {
38
- getServer(){
39
- return {
40
- use(arg){
41
- expect(typeof arg).to.be.equal('function');
42
- }
43
- }
44
- },
45
- getApp(){
46
- return {
47
- report(arg){
48
- expect(arg).to.be.instanceof(Error);
49
- }
50
- }
51
- }
52
- };
53
- await new InitSessionsMongo().run({master, config});
54
- expect(events.sort()).to.be.deep.equal([
55
- 'error',
56
- 'connected'
57
- ].sort());
58
-
59
-
60
- });
39
+ const master = {
40
+ getServer() {
41
+ return {
42
+ use(arg) {
43
+ expect(typeof arg).to.be.equal("function");
44
+ },
45
+ };
46
+ },
47
+ getApp() {
48
+ return {
49
+ report(arg) {
50
+ expect(arg).to.be.instanceof(Error);
51
+ },
52
+ };
53
+ },
54
+ };
55
+ await new InitSessionsMongo().run({ master, config });
56
+ expect(events.sort()).to.be.deep.equal(
57
+ ["error", "connected"].sort()
58
+ );
59
+ });
60
+ });
61
61
  });
62
- });
63
62
  };
@@ -1,67 +1,65 @@
1
- const InitSessionsRedis = require('../../../src/init/sessions/redis');
2
- const mock = require('mock-require');
1
+ const InitSessionsRedis = require("../../../src/init/lib/sessions/redis");
2
+ const mock = require("mock-require");
3
3
 
4
+ module.exports = ({ expect }) => {
5
+ describe("InitSessionsRedis", () => {
6
+ describe("run", () => {
7
+ it("run, middleware returned and set", async () => {
8
+ let events = [];
9
+ mock("redis", {
10
+ createClient() {
11
+ return {
12
+ on(name, arg) {
13
+ expect(typeof name).to.be.equal("string");
14
+ expect(typeof arg).to.be.equal("function");
15
+ events.push(name);
16
+ arg(new Error("test error"));
17
+ },
18
+ };
19
+ },
20
+ });
21
+ mock("express-session", (cnf) => {
22
+ expect(cnf).have.keys([
23
+ "secret",
24
+ "key",
25
+ "cookie",
26
+ "resave",
27
+ "saveUninitialized",
28
+ "store",
29
+ ]);
30
+ return () => {};
31
+ });
32
+ mock("connect-redis", (inpt) => {
33
+ expect(typeof inpt).to.be.equal("function");
34
+ return class FakeRedis {};
35
+ });
4
36
 
37
+ const config = {
38
+ get(str) {
39
+ return str + "__fake";
40
+ },
41
+ };
5
42
 
6
- module.exports = ({
7
- expect
8
- }) => {
9
- describe('InitSessionsRedis', () => {
10
- describe('run', () => {
11
- it('run, middleware returned and set', async () => {
12
- let events = [];
13
- mock('redis', {
14
- createClient(){
15
- return {
16
- on(name, arg){
17
- expect(typeof name).to.be.equal('string');
18
- expect(typeof arg).to.be.equal('function');
19
- events.push(name)
20
- arg(new Error('test error'));
21
- }
22
- }
23
- }
43
+ const master = {
44
+ getEnv() {},
45
+ getServer() {
46
+ return {
47
+ use(arg) {
48
+ expect(typeof arg).to.be.equal("function");
49
+ },
50
+ };
51
+ },
52
+ getApp() {
53
+ return {
54
+ report(arg) {
55
+ expect(arg).to.be.instanceof(Error);
56
+ },
57
+ getEnv() {},
58
+ };
59
+ },
60
+ };
61
+ await new InitSessionsRedis().run({ master, config });
62
+ });
24
63
  });
25
- mock('express-session', (cnf)=>{
26
- expect(cnf).have.keys(['secret', 'key', 'cookie', 'resave', 'saveUninitialized', 'store']);
27
- return ()=>{};
28
- });
29
- mock('connect-redis', (inpt)=>{
30
- expect(typeof inpt).to.be.equal('function');
31
- return class FakeRedis{};
32
- });
33
-
34
- const config = {
35
- get(str){
36
- return str + '__fake';
37
- }
38
- };
39
-
40
- const master = {
41
- getEnv(){
42
-
43
- },
44
- getServer(){
45
- return {
46
- use(arg){
47
- expect(typeof arg).to.be.equal('function');
48
- }
49
- }
50
- },
51
- getApp(){
52
- return {
53
- report(arg){
54
- expect(arg).to.be.instanceof(Error);
55
- },
56
- getEnv(){
57
-
58
- }
59
- }
60
- }
61
- };
62
- await new InitSessionsRedis().run({master, config});
63
-
64
- });
65
64
  });
66
- });
67
65
  };
@@ -1,86 +1,91 @@
1
- const InitSessions = require('../../src/init/sessions');
2
- const mock = require('mock-require');
1
+ const InitSessions = require("../../src/init/lib/sessions");
2
+ const mock = require("mock-require");
3
3
 
4
- module.exports = ({
5
- expect
6
- }) => {
7
- describe('Sessions', () => {
8
- describe('getConstructor', () => {
9
- describe('getConstructor', () => {
10
- it('driver mongo', () => {
11
- const res = InitSessions.getConstructor({
12
- driver: 'mongo'
13
- });
14
- expect(res.prototype.constructor.name).to.be.equal('InitSessionsMongo');
15
- });
16
- it('driver redis', () => {
17
- const res = InitSessions.getConstructor({
18
- driver: 'redis'
19
- });
20
- expect(res.prototype.constructor.name).to.be.equal('InitSessionsRedis');
21
- });
22
- it('driver not set', () => {
23
- const res = InitSessions.getConstructor({});
24
- expect(res.prototype.constructor.name).to.be.equal('InitSessionsMongo');
25
- });
26
- });
4
+ module.exports = ({ expect }) => {
5
+ describe("Sessions", () => {
6
+ describe("getConstructor", () => {
7
+ describe("getConstructor", () => {
8
+ it("driver mongo", () => {
9
+ const res = InitSessions.getConstructor({
10
+ driver: "mongo",
11
+ });
12
+ expect(res.prototype.constructor.name).to.be.equal(
13
+ "InitSessionsMongo"
14
+ );
15
+ });
16
+ it("driver redis", () => {
17
+ const res = InitSessions.getConstructor({
18
+ driver: "redis",
19
+ });
20
+ expect(res.prototype.constructor.name).to.be.equal(
21
+ "InitSessionsRedis"
22
+ );
23
+ });
24
+ it("driver not set", () => {
25
+ const res = InitSessions.getConstructor({});
26
+ expect(res.prototype.constructor.name).to.be.equal(
27
+ "InitSessionsMongo"
28
+ );
29
+ });
30
+ });
27
31
 
28
- describe('run', () => {
32
+ describe("run", () => {
33
+ it("driver loaded ok", async () => {
34
+ let constRunned = false;
35
+ let runRunned = false;
36
+ mock(
37
+ "../../src/init/sessions/redis.js",
38
+ class A {
39
+ constructor() {
40
+ constRunned = true;
41
+ }
42
+ async run() {
43
+ runRunned = true;
44
+ }
45
+ }
46
+ );
47
+ const config = {
48
+ get() {
49
+ return {
50
+ driver: "redis",
51
+ };
52
+ },
53
+ };
54
+ await new InitSessions().run({
55
+ config,
56
+ });
57
+ expect(constRunned).to.be.true;
58
+ expect(runRunned).to.be.true;
59
+ });
29
60
 
30
- it('driver loaded ok', async () => {
31
- let constRunned = false;
32
- let runRunned = false;
33
- mock('../../src/init/sessions/redis.js', class A {
34
- constructor() {
35
- constRunned = true;
36
- }
37
- async run() {
38
- runRunned = true;
39
- }
40
- });
41
- const config = {
42
- get() {
43
- return {
44
- driver: 'redis'
45
- };
46
- }
47
- };
48
- await (new InitSessions().run({
49
- config
50
- }));
51
- expect(constRunned).to.be.true;
52
- expect(runRunned).to.be.true;
53
- });
61
+ it("driver loaded, but not class", async () => {
62
+ try {
63
+ mock("../../src/init/sessions/mongo.js", 2);
64
+ const config = {
65
+ get() {
66
+ return {
67
+ driver: "rediska",
68
+ };
69
+ },
70
+ };
71
+ await new InitSessions().run({
72
+ config,
73
+ });
74
+ } catch (e) {
75
+ expect(e).to.be.instanceof(Error);
76
+ }
77
+ });
78
+ });
54
79
 
55
- it('driver loaded, but not class', async() => {
56
- try {
57
- mock('../../src/init/sessions/mongo.js', 2);
58
- const config = {
59
- get() {
60
- return {
61
- driver: 'rediska'
62
- };
63
- }
64
- };
65
- await (new InitSessions().run({
66
- config
67
- }));
68
- } catch (e) {
69
- expect(e).to.be.instanceof(Error);
70
- }
80
+ after(() => {
81
+ mock.stopAll();
82
+ });
83
+ });
84
+ require("./sessions/redis")({
85
+ expect,
86
+ });
87
+ require("./sessions/mongoose")({
88
+ expect,
71
89
  });
72
- });
73
-
74
-
75
- after(() => {
76
- mock.stopAll();
77
- });
78
- });
79
- require('./sessions/redis')({
80
- expect
81
- });
82
- require('./sessions/mongoose')({
83
- expect
84
90
  });
85
- });
86
91
  };