Esempio n. 1
0
    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
        )
Esempio n. 2
0
    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)
Esempio n. 3
0
    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)
Esempio n. 4
0
    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)
Esempio n. 5
0
    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)
Esempio n. 6
0
    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)
Esempio n. 7
0
    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()
Esempio n. 8
0
    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()
Esempio n. 9
0
    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__())