datatracker/ietf/mailinglists/tests.py

55 lines
2 KiB
Python

# Copyright The IETF Trust 2009-2020, All Rights Reserved
# -*- coding: utf-8 -*-
from pyquery import PyQuery
from django.urls import reverse as urlreverse
import debug # pyflakes:ignore
from ietf.group.factories import GroupFactory
from ietf.mailinglists.factories import ListFactory
from ietf.utils.test_utils import TestCase
class MailingListTests(TestCase):
def test_groups(self):
url = urlreverse("ietf.mailinglists.views.groups")
# only those with an archive
group = GroupFactory()
r = self.client.get(url)
self.assertEqual(r.status_code, 200)
q = PyQuery(r.content)
self.assertEqual(len(q("#content a:contains(\"%s\")" % group.acronym)), 0)
# successful get
group = GroupFactory(list_archive = "https://example.com/foo")
r = self.client.get(url)
q = PyQuery(r.content)
self.assertEqual(len(q("#content a:contains(\"%s\")" % group.acronym)), 1)
def test_nonwg(self):
groups = list()
groups.append(GroupFactory(type_id='wg', acronym='mars', list_archive='https://ietf.org/mars'))
groups.append(GroupFactory(type_id='wg', acronym='ames', state_id='conclude', list_archive='https://ietf.org/ames'))
groups.append(GroupFactory(type_id='wg', acronym='newstuff', state_id='bof', list_archive='https://ietf.org/newstuff'))
groups.append(GroupFactory(type_id='rg', acronym='research', list_archive='https://irtf.org/research'))
lists = ListFactory.create_batch(7)
url = urlreverse("ietf.mailinglists.views.nonwg")
r = self.client.get(url)
for l in lists:
if l.advertised:
self.assertContains(r, l.name)
self.assertContains(r, l.description)
else:
self.assertNotContains(r, l.name, html=True)
self.assertNotContains(r, l.description, html=True)
for g in groups:
self.assertNotContains(r, g.acronym, html=True)