Exemple #1
0
 def test_dataset_api_update_deleted(self):
     '''It should not update a deleted dataset from the API and raise 401'''
     user = self.login()
     dataset = DatasetFactory(owner=user, deleted=datetime.now())
     data = dataset.to_dict()
     data['description'] = 'new description'
     response = self.put(url_for('api.dataset', dataset=dataset), data)
     self.assert410(response)
     self.assertEqual(Dataset.objects.count(), 1)
     self.assertEqual(Dataset.objects.first().description,
                      dataset.description)
Exemple #2
0
 def test_dataset_api_update(self):
     '''It should update a dataset from the API'''
     user = self.login()
     dataset = DatasetFactory(owner=user)
     data = dataset.to_dict()
     data['description'] = 'new description'
     response = self.put(url_for('api.dataset', dataset=dataset), data)
     self.assert200(response)
     self.assertEqual(Dataset.objects.count(), 1)
     self.assertEqual(Dataset.objects.first().description,
                      'new description')
Exemple #3
0
    def test_dataset_api_update_without_resources(self):
        '''It should update a dataset from the API without resources'''
        user = self.login()
        dataset = DatasetFactory(owner=user,
                                 resources=ResourceFactory.build_batch(3))
        initial_length = len(dataset.resources)
        data = dataset.to_dict()
        del data['resources']
        data['description'] = faker.sentence()
        response = self.put(url_for('api.dataset', dataset=dataset), data)
        self.assert200(response)
        self.assertEqual(Dataset.objects.count(), 1)

        dataset.reload()
        self.assertEqual(dataset.description, data['description'])
        self.assertEqual(len(dataset.resources), initial_length)
Exemple #4
0
    def test_dataset_api_update_with_extras(self):
        '''It should update a dataset from the API with extras parameters'''
        user = self.login()
        dataset = DatasetFactory(owner=user)
        data = dataset.to_dict()
        data['extras'] = {
            'integer': 42,
            'float': 42.0,
            'string': 'value',
        }
        response = self.put(url_for('api.dataset', dataset=dataset), data)
        self.assert200(response)
        self.assertEqual(Dataset.objects.count(), 1)

        dataset = Dataset.objects.first()
        self.assertEqual(dataset.extras['integer'], 42)
        self.assertEqual(dataset.extras['float'], 42.0)
        self.assertEqual(dataset.extras['string'], 'value')