Files

32 lines
1.1 KiB
Python
Raw Permalink Normal View History

2025-11-18 03:36:49 +08:00
from django.test import TestCase, Client
from django.contrib.auth import get_user_model
from django.urls import reverse
from unittest.mock import patch
from domains.models import Domain
from core.models import SystemSettings
User = get_user_model()
class DNSCheckTests(TestCase):
def setUp(self):
self.user = User.objects.create_user(username='u1', email='u1@example.com', password='p')
SystemSettings.objects.create(cname_template='{sub}.cdn.example.com')
self.domain = Domain.objects.create(
user=self.user,
name='example.com',
status=Domain.STATUS_PENDING,
cname_targets={'www.example.com': 'www.cdn.example.com'},
)
def test_dns_check_updates_status(self):
c = Client()
c.login(username='u1', password='p')
with patch('core.utils.resolve_cname', return_value=['www.cdn.example.com']):
resp = c.post(reverse('domains:check_dns', kwargs={'domain_id': self.domain.id}))
self.assertEqual(resp.status_code, 200)
self.domain.refresh_from_db()
self.assertEqual(self.domain.status, Domain.STATUS_ACTIVE)