From 5489fea9f7eb024ea168bd0708f3fbbb48696aec Mon Sep 17 00:00:00 2001 From: Robert Sparks Date: Sat, 19 Aug 2023 12:58:01 -0500 Subject: [PATCH] fix: untangle stats and iana sync --- ietf/stats/views.py | 4 ++-- ietf/sync/tests.py | 18 ++++++++++-------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/ietf/stats/views.py b/ietf/stats/views.py index c64b80ec8..666ef762e 100644 --- a/ietf/stats/views.py +++ b/ietf/stats/views.py @@ -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(","): diff --git a/ietf/sync/tests.py b/ietf/sync/tests.py index a3e857768..dd53630c3 100644 --- a/ietf/sync/tests.py +++ b/ietf/sync/tests.py @@ -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('RFC 1234') 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")