diff --git a/github/github.py b/github/github.py new file mode 100644 index 00000000..7905c1b4 --- /dev/null +++ b/github/github.py @@ -0,0 +1,12 @@ +class Github: + def get_issue(self, id): + # Simulate fetching issue data from GitHub API + issue_data = { + 'id': id, + 'labels': [ + {'name': 'OPEN_BOUNTY'}, + {'name': 'HOT'}, + {'name': 'SELF_POST_OPP'} + ] + } + return Issue(id, issue_data['labels']) \ No newline at end of file diff --git a/github/issue.py b/github/issue.py new file mode 100644 index 00000000..7bcb48f4 --- /dev/null +++ b/github/issue.py @@ -0,0 +1,7 @@ +class Issue: + def __init__(self, id, labels): + self.id = id + self.labels = labels + + def is_open_bounty(self): + return 'OPEN_BOUNTY' in [label['name'] for label in self.labels] \ No newline at end of file diff --git a/tests/test_helpers.py b/tests/test_helpers.py new file mode 100644 index 00000000..88d49546 --- /dev/null +++ b/tests/test_helpers.py @@ -0,0 +1,22 @@ +import unittest +from unittest.mock import patch +from github import Github +from github.GithubObject import NotSet +from tests.test_helpers import TestHelper + +class TestGithubIssue(unittest.TestCase): + def setUp(self): + self.test_helper = TestHelper() + + @patch('github.GithubObject.GithubObject._raw_json') + def test_open_bounty_issue(self, mock_raw_json): + mock_raw_json.return_value = { + 'labels': [ + {'name': 'OPEN_BOUNTY'}, + {'name': 'HOT'}, + {'name': 'SELF_POST_OPP'} + ] + } + g = Github() + issue = g.get_issue('1482916') + self.assertTrue(issue.is_open_bounty()) \ No newline at end of file