def test_value_in_list_not_int(self, mock_get):
     data_set_id = '7'
     json_data = {'vehicleIds': [1, 'hi']}
     # Not testing for error message match due to issue with
     # long string comparisons in pytest.
     mock_get.return_value = json_data
     with pytest.raises(RuntimeError):
         get_vehicle_ids(data_set_id=data_set_id)
 def test_return_not_dict(self, mock_get):
     data_set_id = '7'
     url = ('https://vautointerview.azurewebsites.net/api/{}/vehicles'.
            format(data_set_id))
     json_data = 1
     expected_error = ('Data returned {} from {} is not of type '
                       'dict.'.format(json_data, url))
     mock_get.return_value = json_data
     with pytest.raises(RuntimeError, match=expected_error):
         get_vehicle_ids(data_set_id=data_set_id)
 def test_bad_content(self, mock_get):
     data_set_id = '7'
     url = ('https://vautointerview.azurewebsites.net/api/{}/vehicles'.
            format(data_set_id))
     return_content = 'bad'
     expected_error = ('Expected html content type '
                       'from url {} but got {}'.format(url, return_content))
     mock_get.side_effect = RuntimeError(expected_error)
     with pytest.raises(RuntimeError, match=expected_error):
         get_vehicle_ids(data_set_id=data_set_id)
 def test_bad_status(self, mock_get):
     data_set_id = '7'
     url = ('https://vautointerview.azurewebsites.net/api/{}/vehicles'.
            format(data_set_id))
     return_status = 500
     expected_error = ('Got unexpected status code {} from url '
                       '{}'.format(return_status, url))
     mock_get.side_effect = RuntimeError(expected_error)
     with pytest.raises(RuntimeError, match=expected_error):
         get_vehicle_ids(data_set_id=data_set_id)
 def test_return_value_for_key_not_str(self, mock_get):
     data_set_id = '7'
     url = ('https://vautointerview.azurewebsites.net/api/{}/vehicles'.
            format(data_set_id))
     json_data = {'vehicleIds': True}
     expected_error = ('Data returned {} from {} does not have value '
                       'of type list for key vehicleIds.'.format(
                           json_data, url))
     mock_get.return_value = json_data
     with pytest.raises(RuntimeError, match=expected_error):
         get_vehicle_ids(data_set_id=data_set_id)
 def test_good_return(self, mock_get):
     data_set_id = '7'
     json_data = {'vehicleIds': [1, 2]}
     mock_get.return_value = json_data
     assert get_vehicle_ids(
         data_set_id=data_set_id) == json_data['vehicleIds']
 def test_key_not_in_return(self, mock_get):
     data_set_id = '7'
     json_data = {'test': True}
     mock_get.return_value = json_data
     with pytest.raises(KeyError):
         get_vehicle_ids(data_set_id=data_set_id)