Skip to content

Commit ef8131d

Browse files
Merge branch 'main' into dependabot/pip/asyncpg-gte-0.31.0-and-lt-1
2 parents b880977 + 89e90f4 commit ef8131d

4 files changed

Lines changed: 53 additions & 1 deletion

File tree

requirements/testing.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ cryptography<46; implementation_name == "pypy" and python_version == "3.10"
1212
# used only under slack_sdk/*_store
1313
boto3<=2
1414
# For AWS tests
15-
moto>=4.0.13,<6
15+
moto>=4.2.14,<6
1616
# For AsyncSQLAlchemy tests
1717
greenlet<=4
1818
aiosqlite<=1

slack_sdk/signature/__init__.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,18 @@ def __init__(self, signing_secret: str, clock: Clock = Clock()):
2929
self.signing_secret = signing_secret
3030
self.clock = clock
3131

32+
@property
33+
def signing_secret(self) -> str:
34+
return self._signing_secret
35+
36+
@signing_secret.setter
37+
def signing_secret(self, value: str) -> None:
38+
if not isinstance(value, str):
39+
raise ValueError("signing_secret must be a string")
40+
if not value.strip():
41+
raise ValueError("signing_secret must not be empty.")
42+
self._signing_secret = value
43+
3244
def is_valid_request(
3345
self,
3446
body: Union[str, bytes],

tests/signature/test_signature_verifier.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,3 +97,23 @@ def test_is_valid_none(self):
9797
self.assertFalse(verifier.is_valid(None, self.timestamp, None))
9898
self.assertFalse(verifier.is_valid(self.body, None, None))
9999
self.assertFalse(verifier.is_valid(None, None, None))
100+
101+
def test_invalid_signing_secret(self):
102+
with self.assertRaises(ValueError):
103+
SignatureVerifier("")
104+
with self.assertRaises(ValueError):
105+
SignatureVerifier(" ")
106+
with self.assertRaises(ValueError):
107+
SignatureVerifier(None)
108+
with self.assertRaises(ValueError):
109+
SignatureVerifier(123)
110+
with self.assertRaises(ValueError):
111+
SignatureVerifier(b"secret")
112+
113+
def test_invalid_signing_secret_reassignment(self):
114+
verifier = SignatureVerifier(self.signing_secret)
115+
with self.assertRaises(ValueError):
116+
verifier.signing_secret = ""
117+
with self.assertRaises(ValueError):
118+
verifier.signing_secret = None
119+
self.assertEqual(verifier.signing_secret, self.signing_secret)

tests/slack_sdk/signature/test_signature_verifier.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,3 +97,23 @@ def test_is_valid_none(self):
9797
self.assertFalse(verifier.is_valid(None, self.timestamp, None))
9898
self.assertFalse(verifier.is_valid(self.body, None, None))
9999
self.assertFalse(verifier.is_valid(None, None, None))
100+
101+
def test_invalid_signing_secret(self):
102+
with self.assertRaises(ValueError):
103+
SignatureVerifier("")
104+
with self.assertRaises(ValueError):
105+
SignatureVerifier(" ")
106+
with self.assertRaises(ValueError):
107+
SignatureVerifier(None)
108+
with self.assertRaises(ValueError):
109+
SignatureVerifier(123)
110+
with self.assertRaises(ValueError):
111+
SignatureVerifier(b"secret")
112+
113+
def test_invalid_signing_secret_reassignment(self):
114+
verifier = SignatureVerifier(self.signing_secret)
115+
with self.assertRaises(ValueError):
116+
verifier.signing_secret = ""
117+
with self.assertRaises(ValueError):
118+
verifier.signing_secret = None
119+
self.assertEqual(verifier.signing_secret, self.signing_secret)

0 commit comments

Comments
 (0)