def test_dataset_offline(self):
        """"""
        client = Client()
        client.online = False

        with self.assertLogs('climada.util.api_client', level='WARNING') as cm:
            dataset = client.get_dataset_info(
                name='FAOSTAT_data_producer_prices', status='test_dataset')
        self.assertIn(
            "there is no internet connection but the client has stored ",
            cm.output[0])

        self.assertEqual(dataset.version, 'v1')
        self.assertEqual(len(dataset.files), 1)
        self.assertEqual(dataset.files[0].file_size, 26481)
        self.assertEqual(dataset.data_type,
                         DataTypeShortInfo('crop_production', 'exposures'))

        with self.assertRaises(AssertionError) as ar:
            with self.assertLogs('climada.util.api_client',
                                 level='WARNING') as cm:
                dataset2 = Client().get_dataset_info_by_uuid(dataset.uuid)
        self.assertIn("no logs of level WARNING or higher triggered",
                      str(ar.exception))
        self.assertEqual(dataset, dataset2)

        with self.assertLogs('climada.util.api_client', level='WARNING') as cm:
            dataset2 = client.get_dataset_info_by_uuid(dataset.uuid)
        self.assertIn(
            "there is no internet connection but the client has stored ",
            cm.output[0])
        self.assertEqual(dataset, dataset2)
Exemplo n.º 2
0
    def test_dataset(self):
        """"""
        client = Client()

        dataset = client.get_dataset_info(name='FAOSTAT_data_producer_prices',
                                          status='test_dataset')
        self.assertEqual(dataset.version, 'v1')
        self.assertEqual(len(dataset.files), 1)
        self.assertEqual(dataset.files[0].file_size, 26481)
        self.assertEqual(dataset.data_type,
                         DataTypeShortInfo('crop_production', 'exposures'))

        dataset2 = client.get_dataset_info_by_uuid(dataset.uuid)
        self.assertEqual(dataset, dataset2)