HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberCP/manageSSL/tests.py
# -*- coding: utf-8 -*-


from django.test import TestCase
import json
import requests
import urllib3
from plogical.CyberCPLogFileWriter import CyberCPLogFileWriter as logging
from plogical.processUtilities import ProcessUtilities

urllib3.disable_warnings()


# Create your tests here.


class TestManageSSL(TestCase):
    httpClient = requests.Session()

    def MakeRequest(self, endPoint, data):
        json_data = json.dumps(data)
        path = 'https://cyberpanel.xyz:8090/%s' % (endPoint)
        result = TestManageSSL.httpClient.post(path, data=json_data, verify=False)
        return json.loads(result.text)

    def MakeRequestRaw(self, path):
        result = requests.get(path)
        return str(result.text)

    def setUp(self):
        ## Verify login

        data_ret = {'username': 'admin', 'password': '1234567'}
        response = self.MakeRequest('verifyLogin', data_ret)
        self.assertEqual(response['loginStatus'], 1)

    def test_issueSSL(self):
        ## Issue SSL

        data_ret = {'virtualHost': 'cyberpanel.xyz'}

        response = self.MakeRequest('manageSSL/issueSSL', data_ret)

        self.assertEqual(response['status'], 1)

        ## Verify SSL

        command = 'rm -rf /home/%s/public_html/' % ('cyberpanel.xyz')
        ProcessUtilities.normalExecutioner(command)

        command = 'mkdir /home/%s/public_html/' % ('cyberpanel.xyz')
        ProcessUtilities.normalExecutioner(command)

        command = 'chown cyberpa:cyberpa /home/%s/public_html/' % ('cyberpanel.xyz')
        ProcessUtilities.normalExecutioner(command)

        path = '/home/%s/public_html/index.html' % ('cyberpanel.xyz')

        writeToFile = open(path, 'w')
        writeToFile.write('CyberPanel')
        writeToFile.close()

        exists = 0
        if self.MakeRequestRaw('https://cyberpanel.xyz').find('CyberPanel') > -1:
            exists = 1

        self.assertEqual(exists, 1)

    def test_obtainHostNameSSL(self):
        ## Issue SSL

        data_ret = {'virtualHost': 'cyberpanel.xyz'}

        try:
            self.MakeRequest('manageSSL/obtainHostNameSSL', data_ret)
        except:
            pass

        import time
        time.sleep(2)

        ## Verify SSL

        path = '/usr/local/lscp/conf/key.pem'

        import os
        self.assertEqual(os.path.islink(path), True)

    def test_obtainMailServerSSL(self):
        ## Issue SSL

        data_ret = {'virtualHost': 'cyberpanel.xyz'}

        response = self.MakeRequest('manageSSL/obtainMailServerSSL', data_ret)

        self.assertEqual(response['status'], 1)

        ## Verify SSL

        path = '/etc/postfix/key.pem'

        import os
        self.assertEqual(os.path.islink(path), True)