@@ -113,27 +113,11 @@ class DocumentFactory(BaseDocumentFactory):
113113 group = factory .SubFactory ('ietf.group.factories.GroupFactory' ,acronym = 'none' )
114114
115115
116- class IndividualDraftFactory (BaseDocumentFactory ):
117-
118- type_id = 'draft'
119- group = factory .SubFactory ('ietf.group.factories.GroupFactory' ,acronym = 'none' )
120-
121- @factory .post_generation
122- def states (obj , create , extracted , ** kwargs ):
123- if not create :
124- return
125- if extracted :
126- for (state_type_id ,state_slug ) in extracted :
127- obj .set_state (State .objects .get (type_id = state_type_id ,slug = state_slug ))
128- if not obj .get_state ('draft-iesg' ):
129- obj .set_state (State .objects .get (type_id = 'draft-iesg' ,slug = 'idexists' ))
130- else :
131- obj .set_state (State .objects .get (type_id = 'draft' ,slug = 'active' ))
132- obj .set_state (State .objects .get (type_id = 'draft-iesg' ,slug = 'idexists' ))
133-
134- class IndividualRfcFactory (IndividualDraftFactory ):
135-
136- alias2 = factory .RelatedFactory ('ietf.doc.factories.DocAliasFactory' ,'document' ,name = factory .Sequence (lambda n : 'rfc%04d' % (n + 1000 )))
116+ class RfcFactory (BaseDocumentFactory ):
117+ type_id = "rfc"
118+ rfc_number = factory .Sequence (lambda n : n + 1000 )
119+ name = factory .LazyAttribute (lambda o : f"rfc{ o .rfc_number :04d} " )
120+ expires = None
137121
138122 @factory .post_generation
139123 def states (obj , create , extracted , ** kwargs ):
@@ -143,19 +127,19 @@ def states(obj, create, extracted, **kwargs):
143127 for (state_type_id ,state_slug ) in extracted :
144128 obj .set_state (State .objects .get (type_id = state_type_id ,slug = state_slug ))
145129 else :
146- obj .set_state (State .objects .get (type_id = 'draft ' ,slug = 'rfc ' ))
130+ obj .set_state (State .objects .get (type_id = 'rfc ' ,slug = 'published ' ))
147131
148132 @factory .post_generation
149133 def reset_canonical_name (obj , create , extracted , ** kwargs ):
150134 if hasattr (obj , '_canonical_name' ):
151135 del obj ._canonical_name
152136 return None
153137
154- class WgDraftFactory (BaseDocumentFactory ):
138+
139+ class IndividualDraftFactory (BaseDocumentFactory ):
155140
156141 type_id = 'draft'
157- group = factory .SubFactory ('ietf.group.factories.GroupFactory' ,type_id = 'wg' )
158- stream_id = 'ietf'
142+ group = factory .SubFactory ('ietf.group.factories.GroupFactory' ,acronym = 'none' )
159143
160144 @factory .post_generation
161145 def states (obj , create , extracted , ** kwargs ):
@@ -168,14 +152,16 @@ def states(obj, create, extracted, **kwargs):
168152 obj .set_state (State .objects .get (type_id = 'draft-iesg' ,slug = 'idexists' ))
169153 else :
170154 obj .set_state (State .objects .get (type_id = 'draft' ,slug = 'active' ))
171- obj .set_state (State .objects .get (type_id = 'draft-stream-ietf' ,slug = 'wg-doc' ))
172155 obj .set_state (State .objects .get (type_id = 'draft-iesg' ,slug = 'idexists' ))
173156
174- class WgRfcFactory (WgDraftFactory ):
157+ class IndividualRfcFactory (RfcFactory ):
158+ group = factory .SubFactory ('ietf.group.factories.GroupFactory' ,acronym = 'none' )
175159
176- alias2 = factory .RelatedFactory ('ietf.doc.factories.DocAliasFactory' ,'document' ,name = factory .Sequence (lambda n : 'rfc%04d' % (n + 1000 )))
177160
178- std_level_id = 'ps'
161+ class WgDraftFactory (BaseDocumentFactory ):
162+ type_id = 'draft'
163+ group = factory .SubFactory ('ietf.group.factories.GroupFactory' ,type_id = 'wg' )
164+ stream_id = 'ietf'
179165
180166 @factory .post_generation
181167 def states (obj , create , extracted , ** kwargs ):
@@ -185,16 +171,18 @@ def states(obj, create, extracted, **kwargs):
185171 for (state_type_id ,state_slug ) in extracted :
186172 obj .set_state (State .objects .get (type_id = state_type_id ,slug = state_slug ))
187173 if not obj .get_state ('draft-iesg' ):
188- obj .set_state (State .objects .get (type_id = 'draft-iesg' , slug = 'pub ' ))
174+ obj .set_state (State .objects .get (type_id = 'draft-iesg' ,slug = 'idexists ' ))
189175 else :
190- obj .set_state (State .objects .get (type_id = 'draft' ,slug = 'rfc' ))
191- obj .set_state (State .objects .get (type_id = 'draft-iesg' , slug = 'pub' ))
176+ obj .set_state (State .objects .get (type_id = 'draft' ,slug = 'active' ))
177+ obj .set_state (State .objects .get (type_id = 'draft-stream-ietf' ,slug = 'wg-doc' ))
178+ obj .set_state (State .objects .get (type_id = 'draft-iesg' ,slug = 'idexists' ))
179+
180+
181+ class WgRfcFactory (RfcFactory ):
182+ group = factory .SubFactory ('ietf.group.factories.GroupFactory' ,type_id = 'wg' )
183+ stream_id = 'ietf'
184+ std_level_id = 'ps'
192185
193- @factory .post_generation
194- def reset_canonical_name (obj , create , extracted , ** kwargs ):
195- if hasattr (obj , '_canonical_name' ):
196- del obj ._canonical_name
197- return None
198186
199187class RgDraftFactory (BaseDocumentFactory ):
200188
@@ -217,34 +205,11 @@ def states(obj, create, extracted, **kwargs):
217205 obj .set_state (State .objects .get (type_id = 'draft-iesg' ,slug = 'idexists' ))
218206
219207
220- class RgRfcFactory (RgDraftFactory ):
221-
222- alias2 = factory .RelatedFactory ('ietf.doc.factories.DocAliasFactory' ,'document' ,name = factory .Sequence (lambda n : 'rfc%04d' % (n + 1000 )))
223-
208+ class RgRfcFactory (RfcFactory ):
209+ group = factory .SubFactory ('ietf.group.factories.GroupFactory' ,type_id = 'rg' )
210+ stream_id = 'irtf'
224211 std_level_id = 'inf'
225212
226- @factory .post_generation
227- def states (obj , create , extracted , ** kwargs ):
228- if not create :
229- return
230- if extracted :
231- for (state_type_id ,state_slug ) in extracted :
232- obj .set_state (State .objects .get (type_id = state_type_id ,slug = state_slug ))
233- if not obj .get_state ('draft-stream-irtf' ):
234- obj .set_state (State .objects .get (type_id = 'draft-stream-irtf' , slug = 'pub' ))
235- if not obj .get_state ('draft-iesg' ):
236- obj .set_state (State .objects .get (type_id = 'draft-iesg' ,slug = 'idexists' ))
237- else :
238- obj .set_state (State .objects .get (type_id = 'draft' ,slug = 'rfc' ))
239- obj .set_state (State .objects .get (type_id = 'draft-stream-irtf' , slug = 'pub' ))
240- obj .set_state (State .objects .get (type_id = 'draft-iesg' ,slug = 'idexists' ))
241-
242- @factory .post_generation
243- def reset_canonical_name (obj , create , extracted , ** kwargs ):
244- if hasattr (obj , '_canonical_name' ):
245- del obj ._canonical_name
246- return None
247-
248213
249214class CharterFactory (BaseDocumentFactory ):
250215
@@ -545,30 +510,5 @@ def states(obj, create, extracted, **kwargs):
545510 obj .set_state (State .objects .get (type_id = 'draft-stream-editorial' ,slug = 'active' ))
546511 obj .set_state (State .objects .get (type_id = 'draft-iesg' ,slug = 'idexists' ))
547512
548- class EditorialRfcFactory (RgDraftFactory ):
549-
550- alias2 = factory .RelatedFactory ('ietf.doc.factories.DocAliasFactory' ,'document' ,name = factory .Sequence (lambda n : 'rfc%04d' % (n + 1000 )))
551-
552- std_level_id = 'inf'
553-
554- @factory .post_generation
555- def states (obj , create , extracted , ** kwargs ):
556- if not create :
557- return
558- if extracted :
559- for (state_type_id ,state_slug ) in extracted :
560- obj .set_state (State .objects .get (type_id = state_type_id ,slug = state_slug ))
561- if not obj .get_state ('draft-stream-editorial' ):
562- obj .set_state (State .objects .get (type_id = 'draft-stream-editorial' , slug = 'pub' ))
563- if not obj .get_state ('draft-iesg' ):
564- obj .set_state (State .objects .get (type_id = 'draft-iesg' ,slug = 'idexists' ))
565- else :
566- obj .set_state (State .objects .get (type_id = 'draft' ,slug = 'rfc' ))
567- obj .set_state (State .objects .get (type_id = 'draft-stream-editorial' , slug = 'pub' ))
568- obj .set_state (State .objects .get (type_id = 'draft-iesg' ,slug = 'idexists' ))
569-
570- @factory .post_generation
571- def reset_canonical_name (obj , create , extracted , ** kwargs ):
572- if hasattr (obj , '_canonical_name' ):
573- del obj ._canonical_name
574- return None
513+ class EditorialRfcFactory (RgRfcFactory ):
514+ pass
0 commit comments