File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -118,16 +118,20 @@ fn legacy_default_slot_value_survives_code_removal() {
118118 const LEGACY_VALUE : & str = "sk-legacy-fixture-value" ;
119119 let s = store ( ) ;
120120 s. seed_legacy_default_for_tests ( LEGACY_VALUE ) ;
121- // Act:走一圈现存**可达**的操作(合法槽位读写清 + 尝试抹除旧槽)
121+ // Act:走一圈现存**可达**的操作(合法槽位读写清)+ **尝试**抹除旧槽
122+ //(守卫若缺失,这一步会真的把旧数据删掉 ⇒ 下面的判据才咬得住)
122123 s. save_key ( "provider:p1" , "sk-p1-fixture" ) . expect ( "合法槽位可写" ) ;
123- assert ! ( s. clear_key( LEGACY_DEFAULT_SCOPE ) . is_err ( ) , "旧槽不可通过 API 抹除" ) ;
124+ let erase_attempt = s. clear_key ( LEGACY_DEFAULT_SCOPE ) ;
124125 s. clear_key ( "provider:p1" ) . expect ( "合法槽位可清" ) ;
125- // Assert:旧键与旧值**都还在**(键与值都可读 ⇒ 没有 DELETE / 覆盖写动过它)
126+ // Assert ①(本判据的**具名**红点):旧键与旧值**都还在**
127+ //(键与值都可读 ⇒ 没有任何 DELETE / 覆盖写动过它)
126128 assert_eq ! (
127129 s. read_legacy_default_for_tests( ) . as_deref( ) ,
128130 Some ( LEGACY_VALUE ) ,
129131 "已存数据必须仍在(本次不抹除任何已存数据)"
130132 ) ;
133+ // Assert ②:那次尝试是**被显式拒绝**的(不是静默成功、也不是静默失败)
134+ assert ! ( erase_attempt. is_err( ) , "旧槽清除必须被拒绝(具名错误)" ) ;
131135}
132136
133137/// 旧凭据 blob 的**物理文件**:合法槽位操作一律不得碰它(字节级对拍)。
Original file line number Diff line number Diff line change @@ -23,10 +23,13 @@ fn no_default_provider_does_not_fall_back_to_legacy_slot() {
2323 // Arrange:旧版本只写过遗留槽;当前没有任何 Provider(default_id = None)
2424 let s = store_with_legacy_only ( "sk-legacy-fixture-not-a-real-key" ) ;
2525 // Act
26- let resolved = resolve_default_key ( None , None , & s) . expect ( "无默认 Provider 不报错" ) ;
27- // Assert:**不回落**——遗留槽不是合法槽位,解析结果必须是 None
26+ let resolved = resolve_default_key ( None , None , & s) ;
27+ // Assert:**不回落**——遗留槽不是合法槽位,解析结果必须是 Ok(None)
28+ //(整体断言 Result:回落若"借道"槽位守卫会拿到 Err、若真能读到旧密钥会拿到
29+ // Some(旧值),两种形态都落在这一条具名判据上)
2830 assert_eq ! (
29- resolved, None ,
31+ resolved,
32+ Ok ( None ) ,
3033 "无默认 Provider 时不得回落遗留 default 槽(U2 = c:读路径已移除)"
3134 ) ;
3235}
You can’t perform that action at this time.
0 commit comments