def setUpClass(cls):
     httpretty.enable()
     dataset = {'dataset': DatasetFactory.build(
         database_code='NSE', dataset_code='OIL')}
     httpretty.register_uri(httpretty.GET,
                            re.compile(
                                'https://www.quandl.com/api/v3/datasets/*'),
                            body=json.dumps(dataset))
     dataset_code = Dataset.get_code_from_meta(dataset['dataset'])
     cls.dataset_instance = Dataset(dataset_code, dataset['dataset'])
Пример #2
0
 def setUpClass(cls):
     httpretty.enable()
     dataset = {'dataset': DatasetFactory.build(
         database_code='NSE', dataset_code='OIL')}
     httpretty.register_uri(httpretty.GET,
                            re.compile(
                                'https://www.quandl.com/api/v3/datasets/*'),
                            body=json.dumps(dataset))
     dataset_code = Dataset.get_code_from_meta(dataset['dataset'])
     cls.dataset_instance = Dataset(dataset_code, dataset['dataset'])
Пример #3
0
 def test_meta_attributes_can_be_accessed(self):
     results = Dataset.all()
     self.assertEqual(results.meta['current_page'], 1)
     self.assertEqual(results.current_page, 1)
Пример #4
0
 def test_values_exist(self):
     results = Dataset.all()
     self.assertIsInstance(results.values, list)
     self.assertIsInstance(results.values[0], Dataset)
def setupDatasetsTest(unit_test, httpretty):
    httpretty.reset()
    httpretty.enable()

    unit_test.dataset_data = {'dataset_data': DatasetDataFactory.build()}

    # mock out calls with column_index query param
    # NOTE: this will always return 'column.1' as the column name
    single_col_data = DatasetDataFactory.build(
        column_names=[six.u('Date'), six.u('column.1')],
        data=[['2015-07-11', 444.3], ['2015-07-13', 433.3],
              ['2015-07-14', 437.5], ['2015-07-15', 440.0]])
    unit_test.single_dataset_data = {'dataset_data': single_col_data}

    dataset_data = DatasetDataFactory.build()
    d_values = dataset_data.pop('data')
    d_metadata = dataset_data
    unit_test.data_list_obj = DataList(Data, d_values, d_metadata)

    unit_test.nse_oil = {
        'dataset': DatasetFactory.build(database_code='NSE',
                                        dataset_code='OIL')
    }

    unit_test.goog_aapl = {
        'dataset':
        DatasetFactory.build(database_code='GOOG', dataset_code='NASDAQ_AAPL')
    }

    unit_test.goog_msft = {
        'dataset':
        DatasetFactory.build(database_code='GOOG',
                             dataset_code='NASDAQ_MSFT',
                             newest_available_date='2015-07-30',
                             oldest_available_date='2013-01-01')
    }

    unit_test.single_col = {
        'dataset':
        DatasetFactory.build(database_code='SINGLE',
                             dataset_code='COLUMN',
                             newest_available_date='2015-07-30',
                             oldest_available_date='2013-01-01')
    }

    unit_test.oil_obj = Dataset('NSE/OIL', unit_test.nse_oil['dataset'])
    unit_test.aapl_obj = Dataset('GOOG/AAPL', unit_test.goog_aapl['dataset'])
    unit_test.goog_obj = Dataset('GOOG/MSFT', unit_test.goog_msft['dataset'])
    unit_test.single_col_obj = Dataset('SINGLE/COLUMN',
                                       unit_test.single_col['dataset'])

    httpretty.register_uri(
        httpretty.GET,
        re.compile('https://www.quandl.com/api/v3/datasets/.*/metadata'),
        responses=[
            httpretty.Response(body=json.dumps(dataset)) for dataset in
            [unit_test.nse_oil, unit_test.goog_aapl, unit_test.goog_msft]
        ])
    # mock our query param column_index request
    httpretty.register_uri(
        httpretty.GET,
        "https://www.quandl.com/api/v3/datasets/SINGLE/COLUMN/data",
        body=json.dumps(unit_test.single_dataset_data))
    httpretty.register_uri(
        httpretty.GET,
        "https://www.quandl.com/api/v3/datasets/GOOG/NASDAQ_AAPL/data",
        body=json.dumps(unit_test.dataset_data))
    httpretty.register_uri(
        httpretty.GET,
        re.compile('https://www.quandl.com/api/v3/datasets/NSE/OIL/data'),
        body=json.dumps(unit_test.dataset_data))
    httpretty.register_uri(
        httpretty.GET,
        re.compile(
            'https://www.quandl.com/api/v3/datasets/GOOG/NASDAQ_MSFT/data'),
        body=json.dumps(unit_test.dataset_data))
 def test_datasets_has_more_results(self):
     results = Dataset.all()
     self.assertFalse(results.has_more_results())
 def test_values_exist(self):
     results = Dataset.all()
     self.assertIsInstance(results.values, list)
     self.assertIsInstance(results.values[0], Dataset)
Пример #8
0
 def test_datasets_return_dataset_objects(self):
     results = Dataset.all()
     self.assertEqual(len(results), 3)
     for result in results:
         self.assertIsInstance(result, Dataset)
Пример #9
0
 def test_dataset_calls_connection(self, mock):
     d = Dataset('NSE/OIL')
     d.data_fields()
     expected = call('get', 'datasets/NSE/OIL/metadata', params={})
     self.assertEqual(mock.call_args, expected)
 def test_dataset_attributes_are_datetime_objects(self):
     dataset = Dataset('NSE/OIL')
     self.assertIsInstance(dataset.refreshed_at, datetime.datetime)
     self.assertIsInstance(dataset.newest_available_date, datetime.date)
 def test_dataset_returns_dataset_object(self):
     dataset = Dataset('NSE/OIL')
     self.assertIsInstance(dataset, Dataset)
     self.assertEqual(dataset.dataset_code, 'OIL')
 def test_dataset_calls_connection(self, mock):
     d = Dataset('NSE/OIL')
     d.data_fields()
     expected = call('get', 'datasets/NSE/OIL/metadata', params={})
     self.assertEqual(mock.call_args, expected)
 def test_to_list_returns_list(self):
     results = Dataset.all()
     data = results.to_list()
     self.assertIsInstance(data, list)
     self.assertIsInstance(data[0], list)
 def test_meta_attributes_can_be_accessed(self):
     results = Dataset.all()
     self.assertEqual(results.meta['current_page'], 1)
     self.assertEqual(results.current_page, 1)
Пример #15
0
 def test_to_list_returns_list(self):
     results = Dataset.all()
     data = results.to_list()
     self.assertIsInstance(data, list)
     self.assertIsInstance(data[0], list)
 def test_dataset_column_names_match_expected(self):
     dataset = Dataset('NSE/OIL')
     six.assertCountEqual(self,
                          dataset.column_names, ['Date', 'column.1', 'column.2', 'column.3'])
 def test_datasets_calls_connection(self, mock):
     Dataset.all()
     expected = call('get', 'datasets', params={})
     self.assertEqual(mock.call_args, expected)
Пример #18
0
 def test_datasets_calls_connection(self, mock):
     Dataset.all()
     expected = call('get', 'datasets', params={})
     self.assertEqual(mock.call_args, expected)
 def test_datasets_return_dataset_objects(self):
     results = Dataset.all()
     self.assertEqual(len(results), 3)
     for result in results:
         self.assertIsInstance(result, Dataset)
Пример #20
0
 def test_datasets_has_more_results(self):
     results = Dataset.all()
     self.assertFalse(results.has_more_results())
Пример #21
0
 def test_dataset_column_names_match_expected(self):
     dataset = Dataset('NSE/OIL')
     self.assertItemsEqual(dataset.column_names,
                           ['Date', 'column.1', 'column.2', 'column.3'])