from django.conf import settings
from django.test import TestCase
from django.urls import reverse
from main import models
class WebringAnonGetTestCase(TestCase):
def test_webring_get_naked(self):
response = self.client.get(reverse("webring"))
self.assertEqual(response.status_code, 200)
self.assertContains(response, "Webring Integration")
def test_webring_get_subdomain(self):
self.user = models.User.objects.create(username="alice")
response = self.client.get(
reverse("webring"),
HTTP_HOST=self.user.username + "." + settings.CANONICAL_HOST,
)
self.assertEqual(response.status_code, 200)
self.assertContains(response, "Webring Integration")
class WebringAnonPostTestCase(TestCase):
def test_webring_post_naked(self):
response = self.client.post(reverse("webring"))
self.assertEqual(response.status_code, 302)
def test_webring_post_subdomain(self):
self.user = models.User.objects.create(username="alice")
response = self.client.post(
reverse("webring"),
HTTP_HOST=self.user.username + "." + settings.CANONICAL_HOST,
)
self.assertEqual(response.status_code, 302)
class WebringGetTestCase(TestCase):
def setUp(self):
self.user = models.User.objects.create(username="alice")
self.client.force_login(self.user)
def test_webring_get_naked(self):
response = self.client.get(reverse("webring"))
self.assertEqual(response.status_code, 200)
self.assertContains(response, "Webring Integration")
self.assertContains(response, "Webring name")
def test_webring_get_subdomain(self):
response = self.client.get(
reverse("webring"),
HTTP_HOST=self.user.username + "." + settings.CANONICAL_HOST,
)
self.assertEqual(response.status_code, 200)
self.assertContains(response, "Webring Integration")
self.assertContains(response, "Webring name")
class WebringPostTestCase(TestCase):
def setUp(self):
self.user = models.User.objects.create(username="alice")
self.client.force_login(self.user)
def test_webring_post_naked(self):
data = {
"webring_name": "Bloggers Webring",
"webring_url": "http://our-webring-for-bloggers.ring",
"webring_prev_url": "http://prev-blog.ring",
"webring_next_url": "http://next-blog.ring",
}
response = self.client.post(
reverse("webring"),
data=data,
)
self.assertEqual(response.status_code, 302)
self.assertEqual(
models.User.objects.get(username="alice").webring_name, data["webring_name"]
)
self.assertEqual(
models.User.objects.get(username="alice").webring_url, data["webring_url"]
)
self.assertEqual(
models.User.objects.get(username="alice").webring_prev_url,
data["webring_prev_url"],
)
self.assertEqual(
models.User.objects.get(username="alice").webring_next_url,
data["webring_next_url"],
)
def test_webring_post_subdomain(self):
data = {
"webring_name": "Bloggers Webring",
"webring_url": "http://our-webring-for-bloggers.ring",
"webring_prev_url": "http://prev-blog.ring",
"webring_next_url": "http://next-blog.ring",
}
response = self.client.post(
reverse("webring"),
HTTP_HOST=self.user.username + "." + settings.CANONICAL_HOST,
data=data,
)
self.assertEqual(response.status_code, 302)
self.assertEqual(
models.User.objects.get(username="alice").webring_name, data["webring_name"]
)
self.assertEqual(
models.User.objects.get(username="alice").webring_url, data["webring_url"]
)
self.assertEqual(
models.User.objects.get(username="alice").webring_prev_url,
data["webring_prev_url"],
)
self.assertEqual(
models.User.objects.get(username="alice").webring_next_url,
data["webring_next_url"],
)