@@ -150,3 +150,37 @@ def test_parse_github_url(self, monkeypatch):
150150
151151 with pytest .raises (ValueError ):
152152 viewer ._parse_github_url ("https://github.com/invalid/url" )
153+
154+ def test_get_request_headers_with_valid_token (self , monkeypatch ):
155+ monkeypatch .setenv ("GITHUB_TOKEN" , "test-token-value" )
156+
157+ token = Secret .from_env_var ("GITHUB_TOKEN" )
158+ viewer = GitHubIssueViewer (github_token = token )
159+
160+ headers = viewer ._get_request_headers ()
161+
162+ assert "Authorization" in headers
163+ assert headers ["Authorization" ] == "Bearer test-token-value"
164+ assert headers ["Accept" ] == "application/vnd.github.v3+json"
165+ assert headers ["User-Agent" ] == "Haystack/GitHubIssueViewer"
166+
167+ def test_get_request_headers_without_token (self ):
168+ viewer = GitHubIssueViewer (github_token = None )
169+
170+ headers = viewer ._get_request_headers ()
171+
172+ assert "Authorization" not in headers
173+ assert headers ["Accept" ] == "application/vnd.github.v3+json"
174+ assert headers ["User-Agent" ] == "Haystack/GitHubIssueViewer"
175+
176+ def test_get_request_headers_with_empty_token (self , monkeypatch ):
177+ monkeypatch .setenv ("GITHUB_TOKEN" , "" )
178+
179+ token = Secret .from_env_var ("GITHUB_TOKEN" )
180+ viewer = GitHubIssueViewer (github_token = token )
181+
182+ headers = viewer ._get_request_headers ()
183+
184+ assert "Authorization" not in headers
185+ assert headers ["Accept" ] == "application/vnd.github.v3+json"
186+ assert headers ["User-Agent" ] == "Haystack/GitHubIssueViewer"
0 commit comments