def test_get_response(self): """ Tests 'get_response' function """ # Set up mock return values and side effects mock_response = MagicMock() mock_session = MagicMock() mock_session.request.return_value = mock_response service = BaseService() service.header = 'mock_header' service.session = mock_session # Call the function response = service.get_response( method='mock_method', url='mock_url', ssl_verify=True ) # Validate function calls and response self.assertEqual(response, mock_response) mock_response.raise_for_status.assert_any_call() mock_session.request.assert_called_with( method='mock_method', url='mock_url', headers='mock_header', verify=True )
def test_check_request_state_age_is_none(self): base_service = BaseService() now = datetime.now() # created four hours ago created_at = now - relativedelta(hours=4) # No filtering actual = base_service.check_request_state(created_at, None) self.assertTrue(actual)
def test_check_request_state_older(self): base_service = BaseService() now = datetime.now() # created four hours ago created_at = now - relativedelta(hours=4) # include pull request that are older than 1 day date = now - relativedelta(days=1) age = Age(date=date, state="older") actual = base_service.check_request_state(created_at, age) self.assertFalse(actual) # include pull request that ale older than 3 hours date = now - relativedelta(hours=3) age = Age(date=date, state="older") actual = base_service.check_request_state(created_at, age) self.assertTrue(actual)
def test_check_request_state_newer(self): base_service = BaseService() # created four hours ago now = datetime.now() created_at = now - relativedelta(hours=4) # include pull request that have been added in the past day date = now - relativedelta(days=1) age = Age(date=date, state="newer") actual = base_service.check_request_state(created_at, age) self.assertTrue(actual) # include pull request that bave been added in the past 3 hours date = now - relativedelta(hours=3) age = Age(date=date, state="newer") actual = base_service.check_request_state(created_at, age) self.assertFalse(actual)
def test_has_new_comments_none(self): """ Tests 'has_new_comments' function where last_activity and days are none """ # Call the function response = BaseService().has_new_comments(last_activity=None, days=None) # Assert values were called correctly self.assertFalse(response)
def test_has_new_comments(self): """ Tests 'has_new_comments' function where last_activity and days are NOT none """ # Set up mock return values and side effects mock_last_activity = datetime(2018, 2, 3) # Call the function response = BaseService().has_new_comments( last_activity=mock_last_activity, days=600) # Validate function calls and response self.assertTrue(response)
def test_call_api(self, mock_json, mock_decode_response, mock_get_response): """ Tests '_call_api' """ # Set up mock return values and side effects mock_response = MagicMock() mock_response.json.return_value = 'mock_decoded_response' mock_get_response.return_value = mock_response # Call the function response = BaseService()._call_api(url='mock_url') # Validate function calls and response self.assertEqual(response, 'mock_decoded_response') mock_response.json.assert_called() mock_get_response.assert_called_with('GET', 'mock_url', True) mock_decode_response.assert_not_called()
def test_decode_response_valueerror(self, mock_json): """ Tests '_decode_response' where we have a ValueError """ # Set up mock return values and side effects mock_response = MagicMock() mock_response.encoding = True mock_content = MagicMock() mock_content.decode.side_effect = ValueError mock_response.content.strip.return_value = mock_content # Call the function with self.assertRaises(ValueError): BaseService()._decode_response(mock_response) # Validate function calls and response mock_content.decode.assert_called_with(True) mock_content.startswith.assert_not_called() mock_json.loads.assert_not_called()
def test_decode_response(self, mock_json): """ Tests '_decode_response' function """ # Set up mock return values and side effects mock_response = MagicMock() mock_response.encoding = True mock_content = MagicMock() mock_content.decode.return_value = mock_content mock_content.startswith.return_value = True mock_response.content.strip.return_value = mock_content mock_json.loads.return_value = 'mock_content' # Call the function response = BaseService()._decode_response(mock_response) # Validate function calls and response self.assertEqual(response, 'mock_content') mock_content.decode.assert_called_with(True) mock_content.startswith.assert_called_with(")]}\'\n") mock_json.loads.assert_called_with(mock_content.__getitem__())