コード例 #1
0
 def test_fetch_csv(self):
     self.requests.get.return_value = MockResponse(200, example_csv)
     fetch_result = fetch(P(file={
         **default_file, 'mimeType': 'text/csv'
     }),
                          secrets=secrets(default_secret))
     self._assert_happy_path(fetch_result)
コード例 #2
0
 def test_fetch_xlsx(self):
     self.requests.get.return_value = MockResponse(200, example_xlsx)
     fetch_result = fetch(P(
         file={
             **default_file, 'mimeType':
             'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
         }),
                          secrets=secrets(default_secret))
     self._assert_happy_path(fetch_result)
コード例 #3
0
 def test_fetch_xls(self):
     self.requests.get.return_value = MockResponse(200, example_xls)
     fetch_result = fetch(
         P(file={
             **default_file,
             'mimeType': 'application/vnd.ms-excel',
         }),
         secrets=secrets(default_secret))
     self._assert_happy_path(fetch_result)
コード例 #4
0
 def test_fetch_tsv(self):
     self.requests.get.return_value = MockResponse(200, example_tsv)
     fetch_result = fetch(
         P(file={
             **default_file, "mimeType": "text/tab-separated-values"
         }),
         secrets=secrets(default_secret),
     )
     self._assert_happy_path(fetch_result)
コード例 #5
0
 def test_no_first_row_header(self):
     self.requests.get.return_value = MockResponse(200, example_csv)
     kwargs = {
         'file': {
             **default_file, 'mimeType': 'text/csv'
         },
         'has_header': False,
     }
     fetch_result = fetch(P(**kwargs), secrets=secrets(default_secret))
     result = render(pd.DataFrame(), P(**kwargs), fetch_result=fetch_result)
     assert_frame_equal(
         result,
         pd.DataFrame({
             '0': ['foo', '1', '2'],
             '1': ['bar', '2', '3'],
         }))
コード例 #6
0
 def test_no_first_row_header(self):
     self.requests.get.return_value = MockResponse(200, example_csv)
     kwargs = {
         "file": {
             **default_file, "mimeType": "text/csv"
         },
         "has_header": False
     }
     fetch_result = fetch(P(**kwargs), secrets=secrets(default_secret))
     result = render(pd.DataFrame(), P(**kwargs), fetch_result=fetch_result)
     assert_frame_equal(
         result,
         pd.DataFrame({
             "0": ["foo", "1", "2"],
             "1": ["bar", "2", "3"]
         }))
コード例 #7
0
def fetch(**kwargs):
    params = P(**kwargs)
    return googlesheets.fetch(params)
コード例 #8
0
 def test_render_no_file(self):
     fetch_result = fetch(P(file=None), secrets=secrets(default_secret))
     self.assertEqual(fetch_result.error, '')
     self.assertTrue(fetch_result.dataframe.empty)
コード例 #9
0
 def test_render(self):
     self.requests.get.return_value = MockResponse(200, example_csv)
     kwargs = {'file': {**default_file, 'mimeType': 'text/csv'}}
     fetch_result = fetch(P(**kwargs), secrets=secrets(default_secret))
     result = render(pd.DataFrame(), P(**kwargs), fetch_result=fetch_result)
     assert_frame_equal(result, expected_table)
コード例 #10
0
 def test_no_table_on_missing_table(self):
     self.requests.get.return_value = MockResponse(404, 'not found')
     fetch_result = fetch(P(), secrets=secrets(default_secret))
     self.assertTrue(fetch_result.dataframe.empty)
     self.assertEqual(fetch_result.error, 'HTTP 404 from Google: not found')
コード例 #11
0
 def test_no_table_on_http_error(self):
     self.requests.get.side_effect = \
         requests.exceptions.ReadTimeout('read timeout')
     fetch_result = fetch(P(), secrets=secrets(default_secret))
     self.assertTrue(fetch_result.dataframe.empty)
     self.assertEqual(fetch_result.error, 'read timeout')
コード例 #12
0
 def test_no_table_on_missing_auth(self):
     fetch_result = fetch(P(), secrets={})
     self.assertTrue(fetch_result.dataframe.empty)
     self.assertEqual(fetch_result.error,
                      'Not authorized. Please connect to Google Drive.')