Changeset e198832 in flexoentity
- Timestamp:
- 10/26/25 17:35:48 (3 months ago)
- Branches:
- master
- Children:
- 3bad43e
- Parents:
- c98728b
- Files:
-
- 3 edited
-
flexoentity/flexo_entity.py (modified) (1 diff)
-
tests/test_id_lifecycle.py (modified) (1 diff)
-
tests/test_id_stress.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
flexoentity/flexo_entity.py
rc98728b re198832 231 231 return False 232 232 233 def _transition(self, target_state: EntityState): 234 """ 235 Internal helper for state transitions with version/fingerprint checks 236 and forward-only enforcement. 237 """ 238 239 allowed = self.allowed_transitions() 240 241 if target_state.name not in allowed: 242 raise ValueError( 243 f"Illegal state transition: {self.state.name} → {target_state.name}. " 244 f"Allowed: {', '.join(allowed) or 'none'}" 245 ) 246 247 # special case: marking obsolete 248 if target_state == EntityState.OBSOLETE: 233 def _transition(self, target_state: EntityState): 234 """ 235 Internal helper for state transitions with version/fingerprint checks 236 and forward-only enforcement. 237 """ 238 239 allowed = self.allowed_transitions() 240 241 if target_state.name not in allowed: 242 raise ValueError( 243 f"Illegal state transition: {self.state.name} → {target_state.name}. " 244 f"Allowed: {', '.join(allowed) or 'none'}" 245 ) 246 247 # special case: marking obsolete 248 if target_state == EntityState.OBSOLETE: 249 self.state = target_state 250 return 251 252 # version bump only for stable/external states 253 if self.should_version(target_state): 254 self._update_fingerprint() 255 self.flexo_id = FlexOID.next_version(self.flexo_id) 256 249 257 self.state = target_state 250 return251 252 # version bump only for stable/external states253 if self.should_version(target_state):254 self._update_fingerprint()255 self.flexo_id = FlexOID.next_version(self.flexo_id)256 257 self.state = target_state258 258 259 259 # ─────────────────────────────────────────────────────────────── -
tests/test_id_lifecycle.py
rc98728b re198832 111 111 q.approve() 112 112 for _ in range(FlexOID.MAX_VERSION - 2): 113 q. sign()113 q.bump_version() 114 114 with pytest.raises(RuntimeError, match="mark obsolete"): 115 115 q.sign() -
tests/test_id_stress.py
rc98728b re198832 93 93 94 94 # 999 → 1000 should raise RuntimeError 95 with pytest.raises( RuntimeError):96 q. sign()95 with pytest.raises(ValueError): 96 q.publish() 97 97 98 98
Note:
See TracChangeset
for help on using the changeset viewer.
