Skip to content

Commit ee65f35

Browse files
committed
standardize parameter names across Vault methods
1 parent 7151b7b commit ee65f35

File tree

2 files changed

+22
-14
lines changed

2 files changed

+22
-14
lines changed

tests/test_vault.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,7 @@ def test_encrypt_success(
350350
plaintext = "Hello, World!"
351351
context = KeyContext({"key": "test-key"})
352352

353-
encrypted_data = self.vault.encrypt(data=plaintext, context=context)
353+
encrypted_data = self.vault.encrypt(data=plaintext, key_context=context)
354354

355355
# Verify create_data_key was called
356356
assert request_kwargs["method"] == "post"
@@ -372,7 +372,7 @@ def test_encrypt_with_associated_data(
372372
associated_data = "additional-context"
373373

374374
encrypted_data = self.vault.encrypt(
375-
data=plaintext, context=context, associated_data=associated_data
375+
data=plaintext, key_context=context, associated_data=associated_data
376376
)
377377

378378
# Verify we got encrypted data back
@@ -393,7 +393,7 @@ def test_decrypt_success(self, mock_data_key, capture_and_mock_http_client_reque
393393

394394
plaintext = "Hello, World!"
395395
context = KeyContext({"key": "test-key"})
396-
encrypted_data = self.vault.encrypt(data=plaintext, context=context)
396+
encrypted_data = self.vault.encrypt(data=plaintext, key_context=context)
397397

398398
# Now mock decrypt_data_key for decryption
399399
capture_and_mock_http_client_request(self.http_client, mock_data_key, 200)
@@ -422,7 +422,7 @@ def test_decrypt_with_associated_data(
422422
context = KeyContext({"key": "test-key"})
423423
associated_data = "additional-context"
424424
encrypted_data = self.vault.encrypt(
425-
data=plaintext, context=context, associated_data=associated_data
425+
data=plaintext, key_context=context, associated_data=associated_data
426426
)
427427

428428
# Now mock decrypt_data_key for decryption
@@ -448,7 +448,7 @@ def test_encrypt_decrypt_roundtrip(
448448
context = KeyContext({"env": "test", "service": "vault"})
449449

450450
# Encrypt the data
451-
encrypted_data = self.vault.encrypt(data=plaintext, context=context)
451+
encrypted_data = self.vault.encrypt(data=plaintext, key_context=context)
452452

453453
# Mock decrypt_data_key for decryption
454454
capture_and_mock_http_client_request(self.http_client, mock_data_key, 200)

workos/vault.py

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
class VaultModule(Protocol):
2929
def read_object(self, *, object_id: str) -> VaultObject:
3030
"""
31-
Get a Vault object with the decrypted value.
31+
Get a Vault object with the value decrypted.
3232
3333
Kwargs:
3434
object_id (str): The unique identifier for the object.
@@ -81,12 +81,12 @@ def create_object(
8181
key_context: KeyContext,
8282
) -> ObjectMetadata:
8383
"""
84-
Create a new Vault object.
84+
Create a new Vault encrypted object.
8585
8686
Kwargs:
8787
name (str): The name of the object.
8888
value (str): The value to encrypt and store.
89-
key_context (KeyContext): A set of key-value dictionary pairs that determines which root keys to use
89+
key_context (KeyContext): A set of key-value dictionary pairs that determines which root keys to use when encrypting data.
9090
9191
Returns:
9292
VaultObject: The created vault object.
@@ -119,7 +119,7 @@ def delete_object(
119119
object_id: str,
120120
) -> None:
121121
"""
122-
Permanently delete a Vault encrypted object.
122+
Permanently delete a Vault encrypted object. Warning: this cannont be undone.
123123
124124
Kwargs:
125125
object_id (str): The unique identifier for the object.
@@ -132,7 +132,7 @@ def create_data_key(self, *, key_context: KeyContext) -> DataKeyPair:
132132
The encrypted data key MUST be stored by the application, as it cannot be retrieved after generation.
133133
134134
Kwargs:
135-
key_context (KeyContext): A set of key-value dictionary pairs that determines which root keys to use
135+
key_context (KeyContext): A set of key-value dictionary pairs that determines which root keys to use when encrypting data.
136136
"""
137137
...
138138

@@ -157,7 +157,11 @@ def decrypt_data_key(
157157
...
158158

159159
def encrypt(
160-
self, *, data: str, context: KeyContext, associated_data: Optional[str] = None
160+
self,
161+
*,
162+
data: str,
163+
key_context: KeyContext,
164+
associated_data: Optional[str] = None,
161165
) -> str:
162166
"""
163167
Encrypt data locally using AES-GCM with a data key derived from the provided context.
@@ -168,7 +172,7 @@ def encrypt(
168172
169173
Kwargs:
170174
data (str): The plaintext data to encrypt.
171-
context (KeyContext): A set of key-value dictionary pairs that determines which root keys to use for key derivation.
175+
key_context (KeyContext): A set of key-value dictionary pairs that determines which root keys to use when encrypting data.
172176
associated_data (str): Additional authenticated data (AAD) that will be authenticated but not encrypted. (Optional)
173177
174178
Returns:
@@ -382,9 +386,13 @@ def decrypt_data_key(
382386
)
383387

384388
def encrypt(
385-
self, *, data: str, context: KeyContext, associated_data: Optional[str] = None
389+
self,
390+
*,
391+
data: str,
392+
key_context: KeyContext,
393+
associated_data: Optional[str] = None,
386394
) -> str:
387-
key_pair = self.create_data_key(key_context=context)
395+
key_pair = self.create_data_key(key_context=key_context)
388396

389397
key = self._base64_to_bytes(key_pair.data_key.key)
390398
key_blob = self._base64_to_bytes(key_pair.encrypted_keys)

0 commit comments

Comments
 (0)