Beispiel #1
0
    def test_removing_cname_clears_ssl_status(self, subprocess_mock):
        with ignore_signal(post_save, pre_save):
            hosting = G(Hosting, name='test_name_1', domains=['test.a'], ssl_status=Hosting.SSL_STATUSES.ON)

        url = reverse('v1.1:hosting-detail', args=(self.instance.name, hosting.id))
        response = self.client.patch(url, {'domains': ['abc']})
        self.assertTrue(response.status_code, status.HTTP_200_OK)
Beispiel #2
0
    def test_enable_ssl(self, subprocess_mock):
        with ignore_signal(post_save, pre_save):
            hosting = G(Hosting, name='test_name_1', domains=['test.a'])
        url = reverse('v1.1:hosting-enable-ssl', args=(self.instance.name, hosting.id))

        self.client.post(url)
        self.assertEqual(subprocess_mock.call_args[0][0], [ISSUE_SSL_CERT_SCRIPT, hosting.domains[0]])
Beispiel #3
0
    def _migrate_tenants(self, tenants, apps):
        for tenant in tenants:
            db = get_instance_db(tenant)
            connection = connections[db]
            set_current_instance(tenant)

            self._notice("=== Running migrate for schema: %s" %
                         tenant.schema_name)
            signals.pre_tenant_migrate.send(sender=tenant,
                                            tenant=tenant,
                                            verbosity=self.verbosity,
                                            using=connection.alias)
            schema_created = self._migrate_schema(connection, tenant)

            with ignore_signal(post_migrate):
                self.run_migrations(connection,
                                    apps,
                                    schema_created=schema_created,
                                    skip_checks=True)

            signals.post_tenant_migrate.send(
                sender=tenant,
                tenant=tenant,
                verbosity=self.verbosity,
                using=connection.alias,
                created=schema_created,
                partial=False,
            )
Beispiel #4
0
    def test_locked_hosting_cannot_be_modified(self):
        with ignore_signal(post_save, pre_save):
            hosting = G(Hosting, name='test_name_1', domains=['test.a'], ssl_status=Hosting.SSL_STATUSES.CHECKING)
        url = reverse('v1.1:hosting-enable-ssl', args=(self.instance.name, hosting.id))
        response = self.client.post(url)
        self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)

        url = reverse('v1.1:hosting-detail', args=(self.instance.name, hosting.id))
        response = self.client.patch(url, {'domains': ['abc']})
        self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
Beispiel #5
0
    def test_delete_hosting(self, subprocess_mock):
        with ignore_signal(post_save, pre_save):
            self.instance.domains = ['test.a']
            self.instance.save()
            hosting = G(Hosting, name='test_name_1', domains=['test.a'])
        url = reverse('v1.1:hosting-detail', args=(self.instance.name, hosting.id))

        self.client.delete(url)
        self.instance.refresh_from_db()
        self.assertEqual(len(self.instance.domains), 0)
Beispiel #6
0
    def test_calling_refresh_cert_script_with_fresh_domain(self, utime_mock):
        with ignore_signal(pre_save, post_save):
            self.instance.domains = [TEST_DOMAIN]
            self.instance.save()

            self.hosting.domains = [TEST_DOMAIN]
            self.hosting.ssl_status = Hosting.SSL_STATUSES.ON
            self.hosting.save()

        with mock.patch('os.path.exists', mock.Mock(return_value=True)):
            with mock.patch('os.listdir',
                            mock.Mock(return_value=[TEST_DOMAIN])):
                HostingRefreshSecureCustomDomainCertTask.delay()
        set_current_instance(self.instance)
        utime_mock.assert_called_once()
Beispiel #7
0
    def test_calling_refresh_cert_script(self, subprocess_mock):
        with ignore_signal(pre_save, post_save):
            self.instance.domains = [TEST_DOMAIN]
            self.instance.save()

            self.hosting.domains = [TEST_DOMAIN]
            self.hosting.ssl_status = Hosting.SSL_STATUSES.ON
            self.hosting.save()

        with mock.patch('os.path.exists', mock.Mock(return_value=True)):
            with mock.patch(
                    'os.listdir',
                    mock.Mock(
                        return_value=['.last_update', 'pem', TEST_DOMAIN])):
                HostingRefreshSecureCustomDomainCertTask.delay()
        self.assertEqual(subprocess_mock.call_args[0][0],
                         [RENEW_SSL_CERT_SCRIPT, TEST_DOMAIN])
        set_current_instance(self.instance)
        self.hosting.refresh_from_db()
        self.assertEqual(self.hosting.ssl_status, Hosting.SSL_STATUSES.ON)
Beispiel #8
0
    def test_queueing_mechanism(self):
        with ignore_signal(post_save):
            socket1 = G(Socket, name='name1')
            socket2 = G(Socket, name='name2')

        socket1.refresh_from_db()
        socket2.refresh_from_db()
        self.assertEqual(socket1.status, Socket.STATUSES.PROCESSING)
        self.assertEqual(socket2.status, Socket.STATUSES.PROCESSING)

        with mock.patch(
                'apps.sockets.download_utils.ZipDownloadFileHandler.get_socket_spec'
        ) as download_mock:
            download_mock.return_value = "aa: bb"
            # Both sockets should be processed one after another
            SocketProcessorTask.delay(instance_pk=self.instance.pk)

        socket1.refresh_from_db()
        socket2.refresh_from_db()
        self.assertEqual(socket1.status, Socket.STATUSES.OK)
        self.assertEqual(socket2.status, Socket.STATUSES.OK)
Beispiel #9
0
 def update_object(self, obj):
     with ignore_signal(post_save, pre_save):
         obj.save()