def test_get_commit_authors_error_handling_missing_response() -> None: """ We should handle parsing errors without raising an exception. """ pull_request_data = {"commitHistory": None} res = get_commit_authors(pr=pull_request_data) assert res == []
def test_get_commit_authors_error_handling() -> None: """ We should handle parsing errors without raising an exception. """ pull_request_data = { "commitHistory": { "nodes": [ {"commit": {"author": {"user": {}}}}, {"commit": {"author": {}}}, { "commit": { "author": { "user": { "name": None, "databaseId": 435453, "login": "******", "type": "Bot", } } } }, { "commit": { "author": { "user": { "name": "Christopher Dignam", "databaseId": 1929960, "login": "******", "type": "User", } } } }, { "commit": { "author": { "user": { "name": None, "databaseId": None, "login": "******", "type": "SomeGitActor", } } } }, ] } } res = get_commit_authors(pr=pull_request_data) assert res == [ CommitAuthor(name=None, databaseId=435453, login="******", type="Bot"), CommitAuthor( name="Christopher Dignam", databaseId=1929960, login="******", type="User" ), CommitAuthor(name=None, databaseId=None, login="******", type="SomeGitActor"), ]
def test_get_commit_authors() -> None: """ Verify we parse commit authors correctly. We should handle the nullability of name and databaseId. """ pull_request_data = { "commitHistory": { "nodes": [ { "commit": { "author": { "user": { "name": "Christopher Dignam", "databaseId": 1929960, "login": "******", "type": "User", } } } }, { "commit": { "author": { "user": { "name": "b-lowe", "databaseId": 5345234, "login": "******", "type": "User", } } } }, { "commit": { "author": { "user": { "name": None, "databaseId": 435453, "login": "******", "type": "Bot", } } } }, {"commit": {"author": {"user": None}}}, { "commit": { "author": { "user": { "name": "Christopher Dignam", "databaseId": 1929960, "login": "******", "type": "User", } } } }, { "commit": { "author": { "user": { "name": None, "databaseId": None, "login": "******", "type": "SomeGitActor", } } } }, ] } } res = get_commit_authors(pr=pull_request_data) assert res == [ CommitAuthor( name="Christopher Dignam", databaseId=1929960, login="******", type="User" ), CommitAuthor(name="b-lowe", databaseId=5345234, login="******", type="User"), CommitAuthor(name=None, databaseId=435453, login="******", type="Bot"), CommitAuthor(name=None, databaseId=None, login="******", type="SomeGitActor"), ]