From b65de1be4dcf626c552be613d531d3f6e23c6085 Mon Sep 17 00:00:00 2001
From: Chocobozzz <me@florianbigard.com>
Date: Thu, 16 Dec 2021 09:38:27 +0100
Subject: Use different p2p policy for embeds and webapp

---
 server/tests/api/server/config-defaults.ts | 97 +++++++++++++++++++++++-------
 1 file changed, 74 insertions(+), 23 deletions(-)

(limited to 'server/tests/api')

diff --git a/server/tests/api/server/config-defaults.ts b/server/tests/api/server/config-defaults.ts
index 340d4b44b..117fc20d7 100644
--- a/server/tests/api/server/config-defaults.ts
+++ b/server/tests/api/server/config-defaults.ts
@@ -125,40 +125,91 @@ describe('Test config defaults', function () {
 
   describe('Default P2P values', function () {
 
-    before(async function () {
-      const overrideConfig = {
-        defaults: {
-          p2p: {
-            enabled: false
+    describe('Webapp default value', function () {
+
+      before(async function () {
+        const overrideConfig = {
+          defaults: {
+            p2p: {
+              webapp: {
+                enabled: false
+              }
+            }
           }
         }
-      }
 
-      await server.kill()
-      await server.run(overrideConfig)
-    })
+        await server.kill()
+        await server.run(overrideConfig)
+      })
 
-    it('Should not have P2P enabled', async function () {
-      const config = await server.config.getConfig()
+      it('Should have appropriate P2P config', async function () {
+        const config = await server.config.getConfig()
 
-      expect(config.defaults.p2p.enabled).to.be.false
-    })
+        expect(config.defaults.p2p.webapp.enabled).to.be.false
+        expect(config.defaults.p2p.embed.enabled).to.be.true
+      })
+
+      it('Should create a user with this default setting', async function () {
+        await server.users.create({ username: 'user_p2p_1' })
+        const userToken = await server.login.getAccessToken('user_p2p_1')
+
+        const { p2pEnabled } = await server.users.getMyInfo({ token: userToken })
+        expect(p2pEnabled).to.be.false
+      })
 
-    it('Should create a user with this default setting', async function () {
-      await server.users.create({ username: 'user_p2p_1' })
-      const userToken = await server.login.getAccessToken('user_p2p_1')
+      it('Should register a user with this default setting', async function () {
+        await server.users.register({ username: 'user_p2p_2' })
 
-      const { p2pEnabled } = await server.users.getMyInfo({ token: userToken })
-      expect(p2pEnabled).to.be.false
+        const userToken = await server.login.getAccessToken('user_p2p_2')
+
+        const { p2pEnabled } = await server.users.getMyInfo({ token: userToken })
+        expect(p2pEnabled).to.be.false
+      })
     })
 
-    it('Should register a user with this default setting', async function () {
-      await server.users.register({ username: 'user_p2p_2' })
+    describe('Embed default value', function () {
+
+      before(async function () {
+        const overrideConfig = {
+          defaults: {
+            p2p: {
+              embed: {
+                enabled: false
+              }
+            }
+          },
+          signup: {
+            limit: 15
+          }
+        }
+
+        await server.kill()
+        await server.run(overrideConfig)
+      })
+
+      it('Should have appropriate P2P config', async function () {
+        const config = await server.config.getConfig()
 
-      const userToken = await server.login.getAccessToken('user_p2p_2')
+        expect(config.defaults.p2p.webapp.enabled).to.be.true
+        expect(config.defaults.p2p.embed.enabled).to.be.false
+      })
+
+      it('Should create a user with this default setting', async function () {
+        await server.users.create({ username: 'user_p2p_3' })
+        const userToken = await server.login.getAccessToken('user_p2p_3')
+
+        const { p2pEnabled } = await server.users.getMyInfo({ token: userToken })
+        expect(p2pEnabled).to.be.true
+      })
 
-      const { p2pEnabled } = await server.users.getMyInfo({ token: userToken })
-      expect(p2pEnabled).to.be.false
+      it('Should register a user with this default setting', async function () {
+        await server.users.register({ username: 'user_p2p_4' })
+
+        const userToken = await server.login.getAccessToken('user_p2p_4')
+
+        const { p2pEnabled } = await server.users.getMyInfo({ token: userToken })
+        expect(p2pEnabled).to.be.true
+      })
     })
   })
 
-- 
cgit v1.2.3