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",
|
type="draft",
|
||||||
docevent__time__gte=from_time,
|
docevent__time__gte=from_time,
|
||||||
docevent__type__in=["published_rfc", "new_revision"],
|
docevent__type__in=["published_rfc", "new_revision"],
|
||||||
).values_list("pk"))
|
).values_list("pk",flat=True))
|
||||||
|
|
||||||
document_filters &= Q(pk__in=docs_within_time_constraint)
|
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
|
submission_types[doc_name] = file_types
|
||||||
|
|
||||||
doc_names_with_missing_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)
|
types = submission_types.get(doc_name)
|
||||||
if types:
|
if types:
|
||||||
for dot_ext in types.split(","):
|
for dot_ext in types.split(","):
|
||||||
|
|
|
@ -30,19 +30,20 @@ from ietf.utils.timezone import date_today, RPC_TZINFO
|
||||||
class IANASyncTests(TestCase):
|
class IANASyncTests(TestCase):
|
||||||
def test_protocol_page_sync(self):
|
def test_protocol_page_sync(self):
|
||||||
draft = WgDraftFactory()
|
draft = WgDraftFactory()
|
||||||
DocAlias.objects.create(name="rfc1234").docs.add(draft)
|
rfc = RfcFactory(rfc_number=1234)
|
||||||
DocEvent.objects.create(doc=draft, rev=draft.rev, type="published_rfc", by=Person.objects.get(name="(System)"))
|
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>')
|
rfc_names = iana.parse_protocol_page('<html><a href="/go/rfc1234/">RFC 1234</a></html>')
|
||||||
self.assertEqual(len(rfc_names), 1)
|
self.assertEqual(len(rfc_names), 1)
|
||||||
self.assertEqual(rfc_names[0], "rfc1234")
|
self.assertEqual(rfc_names[0], "rfc1234")
|
||||||
|
|
||||||
iana.update_rfc_log_from_protocol_page(rfc_names, timezone.now() - datetime.timedelta(days=1))
|
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
|
# make sure it doesn't create duplicates
|
||||||
iana.update_rfc_log_from_protocol_page(rfc_names, timezone.now() - datetime.timedelta(days=1))
|
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):
|
def test_changes_sync(self):
|
||||||
draft = WgDraftFactory(ad=Person.objects.get(user__username='ad'))
|
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)
|
tag_slugs = rfc_doc.tags.values_list("slug", flat=True)
|
||||||
self.assertTrue("errata" in tag_slugs)
|
self.assertTrue("errata" in tag_slugs)
|
||||||
self.assertFalse("verified-errata" in tag_slugs)
|
self.assertFalse("verified-errata" in tag_slugs)
|
||||||
self.assertTrue(DocAlias.objects.filter(name="rfc1234", docs=rfc_doc))
|
# TODO: adjust these when we have subseries document types
|
||||||
self.assertTrue(DocAlias.objects.filter(name="bcp1", docs=rfc_doc))
|
# self.assertTrue(DocAlias.objects.filter(name="rfc1234", docs=rfc_doc))
|
||||||
self.assertTrue(DocAlias.objects.filter(name="fyi1", docs=rfc_doc))
|
# self.assertTrue(DocAlias.objects.filter(name="bcp1", docs=rfc_doc))
|
||||||
self.assertTrue(DocAlias.objects.filter(name="std1", 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=rfc_doc, target__name="rfc123", relationship="updates").exists())
|
||||||
self.assertTrue(RelatedDocument.objects.filter(source=draft_doc, target=rfc_doc, relationship="became_rfc").exists())
|
self.assertTrue(RelatedDocument.objects.filter(source=draft_doc, target=rfc_doc, relationship="became_rfc").exists())
|
||||||
self.assertEqual(rfc_doc.title, "A Testing RFC")
|
self.assertEqual(rfc_doc.title, "A Testing RFC")
|
||||||
|
|
Loading…
Reference in a new issue