def test_return_not_dict(self, mock_get):
     url = 'https://vautointerview.azurewebsites.net/api/datasetid'
     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_dataset_id()
 def test_bad_content(self, mock_get):
     url = 'https://vautointerview.azurewebsites.net/api/datasetid'
     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_dataset_id()
 def test_bad_status(self, mock_get):
     url = 'https://vautointerview.azurewebsites.net/api/datasetid'
     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_dataset_id()
 def test_return_value_for_key_not_str(self, mock_get):
     url = 'https://vautointerview.azurewebsites.net/api/datasetid'
     json_data = {'datasetId': True}
     expected_error = ('Data returned {} from {} does not have value '
                       'of type str for key datasetId.'.format(
                           json_data, url))
     mock_get.return_value = json_data
     with pytest.raises(RuntimeError, match=expected_error):
         get_dataset_id()
 def test_good_return(self, mock_get):
     json_data = {'datasetId': 'test'}
     mock_get.return_value = json_data
     assert get_dataset_id() == json_data['datasetId']
 def test_key_not_in_return(self, mock_get):
     json_data = {'test': True}
     mock_get.return_value = json_data
     with pytest.raises(KeyError):
         get_dataset_id()