@@ -212,6 +212,58 @@ class TestCase:
212212 got = request .get_required_resource (case .req , case .name )
213213 self .assertEqual (case .want , got , case .reason )
214214
215+ def test_get_credentials (self ) -> None :
216+ @dataclasses .dataclass
217+ class TestCase :
218+ reason : str
219+ req : fnv1 .RunFunctionRequest
220+ name : str
221+ want : request .Credentials
222+
223+ cases = [
224+ TestCase (
225+ reason = "Should return empty credentials when no credentials exist." ,
226+ req = fnv1 .RunFunctionRequest (),
227+ name = "test" ,
228+ want = request .Credentials (type = "data" , data = {}),
229+ ),
230+ TestCase (
231+ reason = "Should return empty credentials when specified name not found." ,
232+ req = fnv1 .RunFunctionRequest (
233+ credentials = {
234+ "other-cred" : fnv1 .Credentials (
235+ credential_data = fnv1 .CredentialData (data = {"key" : b"value" })
236+ )
237+ }
238+ ),
239+ name = "test" ,
240+ want = request .Credentials (type = "data" , data = {}),
241+ ),
242+ TestCase (
243+ reason = "Should return credentials when they exist." ,
244+ req = fnv1 .RunFunctionRequest (
245+ credentials = {
246+ "test" : fnv1 .Credentials (
247+ credential_data = fnv1 .CredentialData (
248+ data = {"username" : b"admin" , "password" : b"secret" }
249+ )
250+ )
251+ }
252+ ),
253+ name = "test" ,
254+ want = request .Credentials (
255+ type = "credential_data" ,
256+ data = {"username" : "admin" , "password" : "secret" },
257+ ),
258+ ),
259+ ]
260+
261+ for case in cases :
262+ got = request .get_credentials (case .req , case .name )
263+ self .assertEqual (
264+ dataclasses .asdict (case .want ), dataclasses .asdict (got ), case .reason
265+ )
266+
215267
216268if __name__ == "__main__" :
217269 unittest .main ()
0 commit comments