prefect server in zig
at main 83 lines 2.4 kB view raw
1#!/usr/bin/env -S uv run --script --quiet 2# /// script 3# requires-python = ">=3.12" 4# dependencies = ["prefect>=3.0"] 5# /// 6""" 7test script for prefect-server blocks API 8 9tests: 101. create and save a Secret block 112. load the block and verify value 123. create and save a JSON block 134. load and verify JSON block 145. overwrite existing block 15 16usage: 17 PREFECT_API_URL=http://localhost:4200/api ./scripts/test-blocks 18""" 19import os 20 21from prefect.blocks.system import Secret 22 23 24def test_secret_block(): 25 """test creating, saving, and loading a Secret block""" 26 print("\n=== test_secret_block ===") 27 28 secret_value = "my-super-secret-value-123" 29 block_name = "test-secret" 30 31 # create and save 32 secret = Secret(value=secret_value) 33 secret.save(block_name, overwrite=True) 34 print(f"✓ saved Secret block '{block_name}'") 35 36 # load and verify 37 loaded = Secret.load(block_name) 38 assert loaded.get() == secret_value, f"expected '{secret_value}', got '{loaded.get()}'" 39 print(f"✓ loaded Secret block '{block_name}' with correct value") 40 41 # verify it's the right type 42 assert isinstance(loaded, Secret), f"expected Secret, got {type(loaded)}" 43 print(f"✓ loaded block is correct type: {type(loaded).__name__}") 44 45 46def test_block_overwrite(): 47 """test that overwriting a block updates the value""" 48 print("\n=== test_block_overwrite ===") 49 50 block_name = "test-overwrite" 51 52 # save initial value 53 secret1 = Secret(value="initial-value") 54 secret1.save(block_name, overwrite=True) 55 print(f"✓ saved initial Secret block '{block_name}'") 56 57 # verify initial value 58 loaded1 = Secret.load(block_name) 59 assert loaded1.get() == "initial-value", f"expected 'initial-value', got '{loaded1.get()}'" 60 print(f"✓ initial value verified") 61 62 # overwrite with new value 63 secret2 = Secret(value="updated-value") 64 secret2.save(block_name, overwrite=True) 65 print(f"✓ overwrote Secret block '{block_name}' with new value") 66 67 # verify new value 68 loaded2 = Secret.load(block_name) 69 assert loaded2.get() == "updated-value", f"expected 'updated-value', got '{loaded2.get()}'" 70 print(f"✓ updated value verified") 71 72 73def main(): 74 print(f"api url: {os.environ.get('PREFECT_API_URL', '(not set)')}") 75 76 test_secret_block() 77 test_block_overwrite() 78 79 print("\n=== all block tests passed ===") 80 81 82if __name__ == "__main__": 83 main()