fix: untangle stats and iana sync
This commit is contained in:
parent
1ae0c0b838
commit
5489fea9f7
|
@ -229,7 +229,7 @@ def document_stats(request, stats_type=None):
|
|||
type="draft",
|
||||
docevent__time__gte=from_time,
|
||||
docevent__type__in=["published_rfc", "new_revision"],
|
||||
).values_list("pk"))
|
||||
).values_list("pk",flat=True))
|
||||
|
||||
document_filters &= Q(pk__in=docs_within_time_constraint)
|
||||
|
||||
|
@ -309,7 +309,7 @@ def document_stats(request, stats_type=None):
|
|||
submission_types[doc_name] = file_types
|
||||
|
||||
doc_names_with_missing_types = {}
|
||||
for doc_name, doc_type, rev in document_qs.values_list("name", "type_id" "rev"):
|
||||
for doc_name, doc_type, rev in document_qs.values_list("name", "type_id", "rev"):
|
||||
types = submission_types.get(doc_name)
|
||||
if types:
|
||||
for dot_ext in types.split(","):
|
||||
|
|
|
@ -30,19 +30,20 @@ from ietf.utils.timezone import date_today, RPC_TZINFO
|
|||
class IANASyncTests(TestCase):
|
||||
def test_protocol_page_sync(self):
|
||||
draft = WgDraftFactory()
|
||||
DocAlias.objects.create(name="rfc1234").docs.add(draft)
|
||||
DocEvent.objects.create(doc=draft, rev=draft.rev, type="published_rfc", by=Person.objects.get(name="(System)"))
|
||||
rfc = RfcFactory(rfc_number=1234)
|
||||
draft.relateddocument_set.create(relationship_id="became_rfc", target = rfc)
|
||||
DocEvent.objects.create(doc=rfc, rev="", type="published_rfc", by=Person.objects.get(name="(System)"))
|
||||
|
||||
rfc_names = iana.parse_protocol_page('<html><a href="/go/rfc1234/">RFC 1234</a></html>')
|
||||
self.assertEqual(len(rfc_names), 1)
|
||||
self.assertEqual(rfc_names[0], "rfc1234")
|
||||
|
||||
iana.update_rfc_log_from_protocol_page(rfc_names, timezone.now() - datetime.timedelta(days=1))
|
||||
self.assertEqual(DocEvent.objects.filter(doc=draft, type="rfc_in_iana_registry").count(), 1)
|
||||
self.assertEqual(DocEvent.objects.filter(doc=rfc, type="rfc_in_iana_registry").count(), 1)
|
||||
|
||||
# make sure it doesn't create duplicates
|
||||
iana.update_rfc_log_from_protocol_page(rfc_names, timezone.now() - datetime.timedelta(days=1))
|
||||
self.assertEqual(DocEvent.objects.filter(doc=draft, type="rfc_in_iana_registry").count(), 1)
|
||||
self.assertEqual(DocEvent.objects.filter(doc=rfc, type="rfc_in_iana_registry").count(), 1)
|
||||
|
||||
def test_changes_sync(self):
|
||||
draft = WgDraftFactory(ad=Person.objects.get(user__username='ad'))
|
||||
|
@ -380,10 +381,11 @@ class RFCSyncTests(TestCase):
|
|||
tag_slugs = rfc_doc.tags.values_list("slug", flat=True)
|
||||
self.assertTrue("errata" in tag_slugs)
|
||||
self.assertFalse("verified-errata" in tag_slugs)
|
||||
self.assertTrue(DocAlias.objects.filter(name="rfc1234", docs=rfc_doc))
|
||||
self.assertTrue(DocAlias.objects.filter(name="bcp1", docs=rfc_doc))
|
||||
self.assertTrue(DocAlias.objects.filter(name="fyi1", docs=rfc_doc))
|
||||
self.assertTrue(DocAlias.objects.filter(name="std1", docs=rfc_doc))
|
||||
# TODO: adjust these when we have subseries document types
|
||||
# self.assertTrue(DocAlias.objects.filter(name="rfc1234", docs=rfc_doc))
|
||||
# self.assertTrue(DocAlias.objects.filter(name="bcp1", docs=rfc_doc))
|
||||
# self.assertTrue(DocAlias.objects.filter(name="fyi1", docs=rfc_doc))
|
||||
# self.assertTrue(DocAlias.objects.filter(name="std1", docs=rfc_doc))
|
||||
self.assertTrue(RelatedDocument.objects.filter(source=rfc_doc, target__name="rfc123", relationship="updates").exists())
|
||||
self.assertTrue(RelatedDocument.objects.filter(source=draft_doc, target=rfc_doc, relationship="became_rfc").exists())
|
||||
self.assertEqual(rfc_doc.title, "A Testing RFC")
|
||||
|
|
Loading…
Reference in a new issue