From a037b9b6383f2eec2a153bcda0467ec1541a7732 Mon Sep 17 00:00:00 2001 From: zhengxie Date: Thu, 25 Jun 2015 16:08:14 +0800 Subject: [PATCH] [api2] Add DISABLE_SYNC_WITH_ANY_FOLDER config to server info --- seahub/api2/views_misc.py | 9 ++++++++- tests/api/test_misc.py | 15 ++++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/seahub/api2/views_misc.py b/seahub/api2/views_misc.py index fef673a01c..0dc14a4f44 100644 --- a/seahub/api2/views_misc.py +++ b/seahub/api2/views_misc.py @@ -3,6 +3,11 @@ from rest_framework.views import APIView from seahub.api2.utils import json_response from seahub import settings from seahub.utils import HAS_OFFICE_CONVERTER, HAS_FILE_SEARCH +try: + from seahub.settings import DISABLE_SYNC_WITH_ANY_FOLDER +except ImportError: + DISABLE_SYNC_WITH_ANY_FOLDER = False + class ServerInfoView(APIView): """ @@ -25,6 +30,8 @@ class ServerInfoView(APIView): if HAS_FILE_SEARCH: features.append('file-search') - info['features'] = features + if DISABLE_SYNC_WITH_ANY_FOLDER: + features.append('disable-sync-with-any-folder') + info['features'] = features return info diff --git a/tests/api/test_misc.py b/tests/api/test_misc.py index 0964a8e630..56b147c150 100644 --- a/tests/api/test_misc.py +++ b/tests/api/test_misc.py @@ -1,9 +1,14 @@ +import json import unittest import requests + +from django.test import TestCase + +from seahub import settings from tests.api.apitestbase import ApiTestBase from tests.api.urls import LIST_GROUP_AND_CONTACTS_URL, SERVER_INFO_URL -class MiscApiTest(ApiTestBase): +class MiscApiTest(ApiTestBase, TestCase): def test_list_group_and_contacts(self): res = self.get(LIST_GROUP_AND_CONTACTS_URL).json() self.assertIsNotNone(res) @@ -20,3 +25,11 @@ class MiscApiTest(ApiTestBase): info = r.json() self.assertTrue('version' in info) self.assertTrue('seafile-basic' in info['features']) + self.assertFalse('disable-sync-with-any-folder' in info['features']) + + def test_server_info_with_disable_sync(self): + settings.DISABLE_SYNC_WITH_ANY_FOLDER = True + + resp = self.client.get('/api2/server-info/') + info = json.loads(resp.content) + self.assertTrue('disable-sync-with-any-folder' in info['features'])