Skip to content

Commit e29bd99

Browse files
committed
Add test of RFC Editor redaction feature
- Legacy-Id: 5027
1 parent 45cf853 commit e29bd99

1 file changed

Lines changed: 35 additions & 0 deletions

File tree

ietf/sync/tests.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from ietf.utils.test_utils import login_testing_unauthorized
99

1010
from ietf.doc.models import *
11+
from ietf.doc.utils import add_state_change_event
1112
from ietf.person.models import *
1213

1314
from ietf.sync import iana, rfceditor
@@ -399,3 +400,37 @@ def test_discrepancies(self):
399400

400401
r = self.client.get(urlreverse("ietf.sync.views.discrepancies"))
401402
self.assertTrue(doc.name in r.content)
403+
404+
class RFCEditorUndoTestCase(django.test.TestCase):
405+
fixtures = ['names']
406+
407+
def test_rfceditor_undo(self):
408+
draft = make_test_data()
409+
410+
e = add_state_change_event(draft, Person.objects.get(name="(System)"), None,
411+
State.objects.get(type="draft-rfceditor", slug="auth"))
412+
e.desc = "Test"
413+
e.save()
414+
415+
url = urlreverse('ietf.sync.views.rfceditor_undo')
416+
login_testing_unauthorized(self, "rfc", url)
417+
418+
# get
419+
r = self.client.get(url)
420+
self.assertEquals(r.status_code, 200)
421+
self.assertTrue(e.doc_id in r.content)
422+
423+
# delete
424+
deleted_before = DeletedEvent.objects.count()
425+
426+
r = self.client.post(url, dict(event=e.id))
427+
self.assertEquals(r.status_code, 302)
428+
429+
self.assertEquals(StateDocEvent.objects.filter(id=e.id).count(), 0)
430+
self.assertEquals(DeletedEvent.objects.count(), deleted_before + 1)
431+
432+
# let's just test we can recover
433+
e = DeletedEvent.objects.all().order_by("-time")[0]
434+
435+
e.content_type.model_class().objects.create(**json.loads(e.json))
436+
self.assertEquals(draft.latest_event(type="changed_state").desc, "Test")

0 commit comments

Comments
 (0)