Marco Ricci commited on 2024-10-14 22:20:29
              Zeige 2 geänderte Dateien mit 31 Einfügungen und 31 Löschungen.
            
The generation of vault service configurations is not inherently tied to the `vault` module only; the CLI also requires its use. So move it to a more central location.
| ... | ... | 
                      @@ -321,6 +321,36 @@ def _test_config_ids(val: VaultTestConfig) -> Any: # pragma: no cover  | 
                  
| 321 | 321 | 
                        return val[1] or (val[0], val[1], val[2])  | 
                    
| 322 | 322 | 
                         | 
                    
| 323 | 323 | 
                         | 
                    
| 324 | 
                        +@strategies.composite  | 
                    |
| 325 | 
                        +def vault_full_service_config(draw: strategies.DrawFn) -> dict[str, int]:  | 
                    |
| 326 | 
                        + lower = draw(strategies.integers(min_value=0, max_value=10))  | 
                    |
| 327 | 
                        + upper = draw(strategies.integers(min_value=0, max_value=10))  | 
                    |
| 328 | 
                        + number = draw(strategies.integers(min_value=0, max_value=10))  | 
                    |
| 329 | 
                        + space = draw(strategies.integers(min_value=0, max_value=10))  | 
                    |
| 330 | 
                        + dash = draw(strategies.integers(min_value=0, max_value=10))  | 
                    |
| 331 | 
                        + symbol = draw(strategies.integers(min_value=0, max_value=10))  | 
                    |
| 332 | 
                        + repeat = draw(strategies.integers(min_value=0, max_value=10))  | 
                    |
| 333 | 
                        + length = draw(  | 
                    |
| 334 | 
                        + strategies.integers(  | 
                    |
| 335 | 
                        + min_value=max(1, lower + upper + number + space + dash + symbol),  | 
                    |
| 336 | 
                        + max_value=70,  | 
                    |
| 337 | 
                        + )  | 
                    |
| 338 | 
                        + )  | 
                    |
| 339 | 
                        + hypothesis.assume(lower + upper + number + dash + symbol > 0)  | 
                    |
| 340 | 
                        + hypothesis.assume(lower + upper + number + space + symbol > 0)  | 
                    |
| 341 | 
                        + hypothesis.assume(repeat >= space)  | 
                    |
| 342 | 
                        +    return {
                       | 
                    |
| 343 | 
                        + 'lower': lower,  | 
                    |
| 344 | 
                        + 'upper': upper,  | 
                    |
| 345 | 
                        + 'number': number,  | 
                    |
| 346 | 
                        + 'space': space,  | 
                    |
| 347 | 
                        + 'dash': dash,  | 
                    |
| 348 | 
                        + 'symbol': symbol,  | 
                    |
| 349 | 
                        + 'repeat': repeat,  | 
                    |
| 350 | 
                        + 'length': length,  | 
                    |
| 351 | 
                        + }  | 
                    |
| 352 | 
                        +  | 
                    |
| 353 | 
                        +  | 
                    |
| 324 | 354 | 
                        def is_smudgable_vault_test_config(conf: VaultTestConfig) -> bool:  | 
                    
| 325 | 355 | 
                        """Check whether this vault test config can be effectively smudged.  | 
                    
| 326 | 356 | 
                         | 
                    
| ... | ... | 
                      @@ -268,43 +268,13 @@ class TestVault:  | 
                  
| 268 | 268 | 
                        assert v._estimate_sufficient_hash_length(None) # type: ignore[arg-type]  | 
                    
| 269 | 269 | 
                         | 
                    
| 270 | 270 | 
                         | 
                    
| 271 | 
                        -@strategies.composite  | 
                    |
| 272 | 
                        -def vault_config(draw: strategies.DrawFn) -> dict[str, int]:  | 
                    |
| 273 | 
                        - lower = draw(strategies.integers(min_value=0, max_value=10))  | 
                    |
| 274 | 
                        - upper = draw(strategies.integers(min_value=0, max_value=10))  | 
                    |
| 275 | 
                        - number = draw(strategies.integers(min_value=0, max_value=10))  | 
                    |
| 276 | 
                        - space = draw(strategies.integers(min_value=0, max_value=10))  | 
                    |
| 277 | 
                        - dash = draw(strategies.integers(min_value=0, max_value=10))  | 
                    |
| 278 | 
                        - symbol = draw(strategies.integers(min_value=0, max_value=10))  | 
                    |
| 279 | 
                        - repeat = draw(strategies.integers(min_value=0, max_value=10))  | 
                    |
| 280 | 
                        - length = draw(  | 
                    |
| 281 | 
                        - strategies.integers(  | 
                    |
| 282 | 
                        - min_value=max(1, lower + upper + number + space + dash + symbol),  | 
                    |
| 283 | 
                        - max_value=70,  | 
                    |
| 284 | 
                        - )  | 
                    |
| 285 | 
                        - )  | 
                    |
| 286 | 
                        - hypothesis.assume(lower + upper + number + dash + symbol > 0)  | 
                    |
| 287 | 
                        - hypothesis.assume(lower + upper + number + space + symbol > 0)  | 
                    |
| 288 | 
                        - hypothesis.assume(repeat >= space)  | 
                    |
| 289 | 
                        -    return {
                       | 
                    |
| 290 | 
                        - 'lower': lower,  | 
                    |
| 291 | 
                        - 'upper': upper,  | 
                    |
| 292 | 
                        - 'number': number,  | 
                    |
| 293 | 
                        - 'space': space,  | 
                    |
| 294 | 
                        - 'dash': dash,  | 
                    |
| 295 | 
                        - 'symbol': symbol,  | 
                    |
| 296 | 
                        - 'repeat': repeat,  | 
                    |
| 297 | 
                        - 'length': length,  | 
                    |
| 298 | 
                        - }  | 
                    |
| 299 | 
                        -  | 
                    |
| 300 | 
                        -  | 
                    |
| 301 | 271 | 
                        class TestHypotheses:  | 
                    
| 302 | 272 | 
                        @tests.hypothesis_settings_coverage_compatible  | 
                    
| 303 | 273 | 
                        @hypothesis.given(  | 
                    
| 304 | 274 | 
                        phrase=strategies.one_of(  | 
                    
| 305 | 275 | 
                        strategies.binary(min_size=1), strategies.text(min_size=1)  | 
                    
| 306 | 276 | 
                        ),  | 
                    
| 307 | 
                        - config=vault_config(),  | 
                    |
| 277 | 
                        + config=tests.vault_full_service_config(),  | 
                    |
| 308 | 278 | 
                        service=strategies.text(min_size=1),  | 
                    
| 309 | 279 | 
                        )  | 
                    
| 310 | 280 | 
                        # regression test  | 
                    
| 311 | 281 |