diff options
Diffstat (limited to 'server/tests/helpers')
-rw-r--r-- | server/tests/helpers/crypto.ts | 33 | ||||
-rw-r--r-- | server/tests/helpers/index.ts | 6 | ||||
-rw-r--r-- | server/tests/helpers/validator.ts | 32 |
3 files changed, 69 insertions, 2 deletions
diff --git a/server/tests/helpers/crypto.ts b/server/tests/helpers/crypto.ts new file mode 100644 index 000000000..b508c715b --- /dev/null +++ b/server/tests/helpers/crypto.ts | |||
@@ -0,0 +1,33 @@ | |||
1 | /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ | ||
2 | |||
3 | import { expect } from 'chai' | ||
4 | import { decrypt, encrypt } from '@server/helpers/peertube-crypto' | ||
5 | |||
6 | describe('Encrypt/Descrypt', function () { | ||
7 | |||
8 | it('Should encrypt and decrypt the string', async function () { | ||
9 | const secret = 'my_secret' | ||
10 | const str = 'my super string' | ||
11 | |||
12 | const encrypted = await encrypt(str, secret) | ||
13 | const decrypted = await decrypt(encrypted, secret) | ||
14 | |||
15 | expect(str).to.equal(decrypted) | ||
16 | }) | ||
17 | |||
18 | it('Should not decrypt without the same secret', async function () { | ||
19 | const str = 'my super string' | ||
20 | |||
21 | const encrypted = await encrypt(str, 'my_secret') | ||
22 | |||
23 | let error = false | ||
24 | |||
25 | try { | ||
26 | await decrypt(encrypted, 'my_sicret') | ||
27 | } catch (err) { | ||
28 | error = true | ||
29 | } | ||
30 | |||
31 | expect(error).to.be.true | ||
32 | }) | ||
33 | }) | ||
diff --git a/server/tests/helpers/index.ts b/server/tests/helpers/index.ts index 951208842..1b5c6d15b 100644 --- a/server/tests/helpers/index.ts +++ b/server/tests/helpers/index.ts | |||
@@ -1,6 +1,8 @@ | |||
1 | import './image' | 1 | import './comment-model' |
2 | import './core-utils' | 2 | import './core-utils' |
3 | import './crypto' | ||
3 | import './dns' | 4 | import './dns' |
4 | import './comment-model' | 5 | import './image' |
5 | import './markdown' | 6 | import './markdown' |
6 | import './request' | 7 | import './request' |
8 | import './validator' | ||
diff --git a/server/tests/helpers/validator.ts b/server/tests/helpers/validator.ts new file mode 100644 index 000000000..f40a3aaae --- /dev/null +++ b/server/tests/helpers/validator.ts | |||
@@ -0,0 +1,32 @@ | |||
1 | /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ | ||
2 | |||
3 | import { expect } from 'chai' | ||
4 | import { isPluginStableOrUnstableVersionValid, isPluginStableVersionValid } from '@server/helpers/custom-validators/plugins' | ||
5 | |||
6 | describe('Validators', function () { | ||
7 | |||
8 | it('Should correctly check stable plugin versions', async function () { | ||
9 | expect(isPluginStableVersionValid('3.4.0')).to.be.true | ||
10 | expect(isPluginStableVersionValid('0.4.0')).to.be.true | ||
11 | expect(isPluginStableVersionValid('0.1.0')).to.be.true | ||
12 | |||
13 | expect(isPluginStableVersionValid('0.1.0-beta-1')).to.be.false | ||
14 | expect(isPluginStableVersionValid('hello')).to.be.false | ||
15 | expect(isPluginStableVersionValid('0.x.a')).to.be.false | ||
16 | }) | ||
17 | |||
18 | it('Should correctly check unstable plugin versions', async function () { | ||
19 | expect(isPluginStableOrUnstableVersionValid('3.4.0')).to.be.true | ||
20 | expect(isPluginStableOrUnstableVersionValid('0.4.0')).to.be.true | ||
21 | expect(isPluginStableOrUnstableVersionValid('0.1.0')).to.be.true | ||
22 | |||
23 | expect(isPluginStableOrUnstableVersionValid('0.1.0-beta.1')).to.be.true | ||
24 | expect(isPluginStableOrUnstableVersionValid('0.1.0-alpha.45')).to.be.true | ||
25 | expect(isPluginStableOrUnstableVersionValid('0.1.0-rc.45')).to.be.true | ||
26 | |||
27 | expect(isPluginStableOrUnstableVersionValid('hello')).to.be.false | ||
28 | expect(isPluginStableOrUnstableVersionValid('0.x.a')).to.be.false | ||
29 | expect(isPluginStableOrUnstableVersionValid('0.1.0-rc-45')).to.be.false | ||
30 | expect(isPluginStableOrUnstableVersionValid('0.1.0-rc.45d')).to.be.false | ||
31 | }) | ||
32 | }) | ||