mirror of
https://github.com/haiwen/seahub.git
synced 2025-07-05 03:07:01 +00:00
48 lines
1.6 KiB
Python
48 lines
1.6 KiB
Python
import os
|
|
import json
|
|
from mock import patch
|
|
from django.core.urlresolvers import reverse
|
|
|
|
from seahub.api2.endpoints.admin import license as license_api
|
|
from seahub.settings import LICENSE_PATH
|
|
from seahub.utils.error_msg import file_type_error_msg
|
|
from seahub.test_utils import BaseTestCase
|
|
from tests.common.utils import urljoin
|
|
from tests.common.common import BASE_URL
|
|
|
|
|
|
class AdminLicenseTest(BaseTestCase):
|
|
def setUp(self):
|
|
self.login_as(self.admin)
|
|
|
|
@patch.object(license_api, 'ccnet_api')
|
|
def test_update_license(self, mock_ccnet_api):
|
|
mock_ccnet_api.return_val = {}
|
|
|
|
url = reverse('api-v2.1-admin-license')
|
|
url = urljoin(BASE_URL, url)
|
|
with open(
|
|
os.path.join(os.getcwd(), 'tests/seahub/utils/seafile-license.txt')) as f:
|
|
resp = self.client.post(url, {'license': f})
|
|
json_resp = json.loads(resp.content)
|
|
|
|
assert json_resp['success'] is True
|
|
assert os.path.exists(LICENSE_PATH)
|
|
|
|
@patch.object(license_api, 'ccnet_api')
|
|
def test_update_license_with_invalid_type(self, mock_ccnet_api):
|
|
mock_ccnet_api.return_val = {}
|
|
|
|
url = reverse('api-v2.1-admin-license')
|
|
url = urljoin(BASE_URL, url)
|
|
with open('temp.notxt', 'w') as f:
|
|
f.write('1')
|
|
|
|
with open(
|
|
os.path.join(os.getcwd(), 'temp.notxt')) as f:
|
|
resp = self.client.post(url, {'license': f})
|
|
json_resp = json.loads(resp.content)
|
|
assert 400 == resp.status_code
|
|
assert file_type_error_msg('notxt', 'txt') == json_resp['error_msg']
|
|
|