1414from ietf .utils .test_data import make_test_data
1515from ietf .utils .mail import outbox
1616
17+ from ietf .submit .utils import expirable_submissions , expire_submission
18+
1719from ietf .person .models import Person , Email
1820from ietf .group .models import Group , Role
1921from ietf .doc .models import *
@@ -523,6 +525,33 @@ def test_submit_all_file_types(self):
523525 self .assertTrue (os .path .exists (os .path .join (self .staging_dir , u"%s-%s.ps" % (name , rev ))))
524526 self .assertTrue ('This is PostScript' in open (os .path .join (self .staging_dir , u"%s-%s.ps" % (name , rev ))).read ())
525527
528+ def test_expire_submissions (self ):
529+ s = Submission .objects .create (name = "draft-ietf-mars-foo" ,
530+ group = None ,
531+ submission_date = datetime .date .today () - datetime .timedelta (days = 10 ),
532+ rev = "00" ,
533+ state_id = "uploaded" )
534+
535+ self .assertEqual (len (expirable_submissions (older_than_days = 10 )), 0 )
536+ self .assertEqual (len (expirable_submissions (older_than_days = 9 )), 1 )
537+
538+ s .state_id = "cancel"
539+ s .save ()
540+
541+ self .assertEqual (len (expirable_submissions (older_than_days = 9 )), 0 )
542+
543+ s .state_id = "posted"
544+ s .save ()
545+
546+ self .assertEqual (len (expirable_submissions (older_than_days = 9 )), 0 )
547+
548+ s .state_id = "uploaded"
549+ s .save ()
550+
551+ expire_submission (s , by = None )
552+
553+ self .assertEqual (s .state_id , "cancel" )
554+
526555
527556class ApprovalsTests (django .test .TestCase ):
528557 def test_approvals (self ):
@@ -535,17 +564,15 @@ def test_approvals(self):
535564 Preapproval .objects .create (name = "draft-ietf-mars-baz" , by = Person .objects .get (user__username = "marschairman" ))
536565
537566 Submission .objects .create (name = "draft-ietf-mars-foo" ,
538- group_id = Group .objects .get (acronym = "mars" ).pk ,
539- submission_date = datetime .date .today (),
540- rev = "00" ,
541- state_id = "posted" ,
542- access_key = "abc" )
567+ group = Group .objects .get (acronym = "mars" ),
568+ submission_date = datetime .date .today (),
569+ rev = "00" ,
570+ state_id = "posted" )
543571 Submission .objects .create (name = "draft-ietf-mars-bar" ,
544- group_id = Group .objects .get (acronym = "mars" ).pk ,
545- submission_date = datetime .date .today (),
546- rev = "00" ,
547- state_id = "grp-appr" ,
548- access_key = "def" )
572+ group = Group .objects .get (acronym = "mars" ),
573+ submission_date = datetime .date .today (),
574+ rev = "00" ,
575+ state_id = "grp-appr" )
549576
550577 # get
551578 r = self .client .get (url )
0 commit comments