99)
1010
1111
12- # ---------------------------------------------------------------------------
13- # Helpers
14- # ---------------------------------------------------------------------------
15-
16- def _make_response (status_code , headers = None , json_data = None , text = "" ):
12+ def _make_response (status_code , headers = None ):
1713 resp = MagicMock ()
1814 resp .status_code = status_code
1915 resp .headers = headers or {}
20- resp .text = text
21- resp .json = MagicMock (return_value = json_data or {})
16+ resp .text = ""
17+ resp .json = MagicMock (return_value = {})
2218 return resp
2319
2420
25- def _make_repo (repo_git = "https://github.com/old-owner/old-repo" , repo_id = 1 , description = "" ):
21+ def _make_repo (repo_git = "https://github.com/old-owner/old-repo" ):
2622 repo = MagicMock ()
2723 repo .repo_git = repo_git
28- repo .repo_id = repo_id
29- repo .description = description
24+ repo .repo_id = 1
25+ repo .description = ""
3026 return repo
3127
3228
33- # ---------------------------------------------------------------------------
34- # ping_github_for_repo_move — 301 raises RepoMovedException with new_url
35- # ---------------------------------------------------------------------------
29+ def _session_mock ():
30+ m = MagicMock ()
31+ m .__enter__ = MagicMock (return_value = MagicMock ())
32+ m .__exit__ = MagicMock (return_value = False )
33+ return m
34+
3635
3736@patch ("augur.tasks.github.detect_move.core.update_repo_with_dict" )
3837@patch ("augur.tasks.github.detect_move.core.extract_owner_and_repo_from_endpoint" )
@@ -44,75 +43,41 @@ def test_ping_301_raises_repo_moved_exception(mock_hit, mock_extract, mock_updat
4443 mock_extract .return_value = ("new-owner" , "new-repo" )
4544 mock_update .return_value = "https://github.com/new-owner/new-repo"
4645
47- session = MagicMock ()
48- key_auth = MagicMock ()
49- logger = MagicMock ()
50- repo = _make_repo ()
51-
5246 with pytest .raises (RepoMovedException ) as exc_info :
53- ping_github_for_repo_move (session , key_auth , repo , logger )
47+ ping_github_for_repo_move (MagicMock (), MagicMock (), _make_repo (), MagicMock () )
5448
5549 assert exc_info .value .new_url == "https://github.com/new-owner/new-repo"
5650
5751
58- # ---------------------------------------------------------------------------
59- # ping_github_for_repo_move — 404 raises RepoGoneException
60- # ---------------------------------------------------------------------------
61-
6252@patch ("augur.tasks.github.detect_move.core.execute_session_query" )
6353@patch ("augur.tasks.github.detect_move.core.update_repo_with_dict" )
6454@patch ("augur.tasks.github.detect_move.core.hit_api" )
6555def test_ping_404_raises_repo_gone_exception (mock_hit , mock_update , mock_query ):
6656 mock_hit .return_value = _make_response (404 )
6757 mock_update .return_value = "https://github.com/old-owner/old-repo"
68-
69- collection_record = MagicMock ()
70- mock_query .return_value = collection_record
71-
72- session = MagicMock ()
73- key_auth = MagicMock ()
74- logger = MagicMock ()
75- repo = _make_repo ()
58+ mock_query .return_value = MagicMock ()
7659
7760 with pytest .raises (RepoGoneException ):
78- ping_github_for_repo_move (session , key_auth , repo , logger )
79-
61+ ping_github_for_repo_move (MagicMock (), MagicMock (), _make_repo (), MagicMock ())
8062
81- # ---------------------------------------------------------------------------
82- # ping_github_for_repo_move — 200 returns normally
83- # ---------------------------------------------------------------------------
8463
8564@patch ("augur.tasks.github.detect_move.core.hit_api" )
8665def test_ping_200_returns_none (mock_hit ):
8766 mock_hit .return_value = _make_response (200 )
67+ assert ping_github_for_repo_move (MagicMock (), MagicMock (), _make_repo (), MagicMock ()) is None
8868
89- session = MagicMock ()
90- key_auth = MagicMock ()
91- logger = MagicMock ()
92- repo = _make_repo ()
93-
94- result = ping_github_for_repo_move (session , key_auth , repo , logger )
95- assert result is None
96-
97-
98- # ---------------------------------------------------------------------------
99- # detect_github_repo_move_core task — self.retry called with new URL on move
100- # ---------------------------------------------------------------------------
10169
10270@patch ("augur.tasks.github.detect_move.tasks.GithubRandomKeyAuth" )
10371@patch ("augur.tasks.github.detect_move.tasks.get_session" )
10472@patch ("augur.tasks.github.detect_move.tasks.get_repo_by_repo_git" )
10573@patch ("augur.tasks.github.detect_move.tasks.ping_github_for_repo_move" )
106- def test_core_task_retries_with_new_url_on_move (
107- mock_ping , mock_get_repo , mock_get_session , mock_key_auth
108- ):
74+ def test_core_task_retries_with_new_url_on_move (mock_ping , mock_get_repo , mock_get_session , mock_key_auth ):
10975 from augur .tasks .github .detect_move .tasks import detect_github_repo_move_core
11076
11177 new_url = "https://github.com/new-owner/new-repo"
11278 mock_ping .side_effect = RepoMovedException ("moved" , new_url = new_url )
11379 mock_get_repo .return_value = _make_repo ()
114- mock_get_session .return_value .__enter__ = MagicMock (return_value = MagicMock ())
115- mock_get_session .return_value .__exit__ = MagicMock (return_value = False )
80+ mock_get_session .return_value = _session_mock ()
11681
11782 task_self = MagicMock ()
11883 task_self .retry = MagicMock (side_effect = Exception ("retry_called" ))
@@ -123,25 +88,16 @@ def test_core_task_retries_with_new_url_on_move(
12388 task_self .retry .assert_called_once_with (args = [new_url ], countdown = 0 , max_retries = 1 )
12489
12590
126- # ---------------------------------------------------------------------------
127- # detect_github_repo_move_core task — Reject raised on RepoGoneException
128- # ---------------------------------------------------------------------------
129-
13091@patch ("augur.tasks.github.detect_move.tasks.GithubRandomKeyAuth" )
13192@patch ("augur.tasks.github.detect_move.tasks.get_session" )
13293@patch ("augur.tasks.github.detect_move.tasks.get_repo_by_repo_git" )
13394@patch ("augur.tasks.github.detect_move.tasks.ping_github_for_repo_move" )
134- def test_core_task_rejects_on_repo_gone (
135- mock_ping , mock_get_repo , mock_get_session , mock_key_auth
136- ):
95+ def test_core_task_rejects_on_repo_gone (mock_ping , mock_get_repo , mock_get_session , mock_key_auth ):
13796 from augur .tasks .github .detect_move .tasks import detect_github_repo_move_core
13897
13998 mock_ping .side_effect = RepoGoneException ("gone" )
14099 mock_get_repo .return_value = _make_repo ()
141- mock_get_session .return_value .__enter__ = MagicMock (return_value = MagicMock ())
142- mock_get_session .return_value .__exit__ = MagicMock (return_value = False )
143-
144- task_self = MagicMock ()
100+ mock_get_session .return_value = _session_mock ()
145101
146102 with pytest .raises (Reject ):
147- detect_github_repo_move_core .__wrapped__ (task_self , "https://github.com/old-owner/old-repo" )
103+ detect_github_repo_move_core .__wrapped__ (MagicMock () , "https://github.com/old-owner/old-repo" )
0 commit comments