def test_forge_mc_versions_network(self, requests_get): """ Tests that we handle when we can't get to the Forge site """ mock_response = unittest.mock.Mock(spec = requests.Response) mock_response.ok = False requests_get.return_value = mock_response get_forge_mc_versions()
def test_get_forge_mc_versions(self, requests_get): """ Tests that we can retrieve a list of all the MC versions Forge supports """ mock_response = unittest.mock.Mock(spec = requests.Response) mock_response.ok = True mock_response.content = """ <html> <body> <div class="versions"> <ul class="links"> <li class="li-version-list"> <span>1.8</span> <div class="versions-info"> <ul class="text"> <li class="li-version-list-current"> 1.8.9 </li> <li> <a href="http://example.com/1.8.8"> 1.8.8 </a> </li> </ul> </div> </li> <li class="li-version-list"> <span>1.7</span> <div class="versions-info"> <ul class="text"> <li> <a href="http://example.com/1.7.10"> 1.7.10 </a> </li> <li> <a href="http://example.com/1.7.2"> 1.7.2 </a> </li> </ul> </div> </li> </ul> </div> </body> </html> """ requests_get.return_value = mock_response versions = get_forge_mc_versions() requests_get.assert_called_with( 'http://files.minecraftforge.net/', ) self.assertListEqual( [ '1.8.9', '1.8.8', '1.7.10', '1.7.2', ], versions, 'Version list did not match expected', )