def test_valid_push_data(self): """Test that the ContainerDistributionSerializer accepts valid data.""" data = { "name": "mirror distribution", "base_path": "test/mirror", "repository": self.push_repository_href, } serializer = ContainerDistributionSerializer(data=data) self.assertTrue(serializer.is_valid(), serializer.errors)
def test_invalid_push_version_data(self): """Test that the ContainerDistributionSerializer does not accept invalid data.""" data = { "name": "push distribution", "base_path": "test/push", "repository_version": self.push_repository_href + "versions/0/", } serializer = ContainerDistributionSerializer(data=data) self.assertFalse(serializer.is_valid()) self.assertIn("non_field_errors", serializer.errors) self.assertIn("cannot be distributed", str(serializer.errors["non_field_errors"][0]))
def create(*args, **kwargs): """ Creates a :class:`~pulp_container.app.models.ContainerDistribution`. Raises: ValidationError: If the ContainerDistributionSerializer is not valid """ data = kwargs.pop('data', None) serializer = ContainerDistributionSerializer(data=data) serializer.is_valid(raise_exception=True) serializer.save() resource = CreatedResource(content_object=serializer.instance) resource.save()
def update(instance_id, *args, **kwargs): """ Updates a :class:`~pulp_container.app.models.ContainerDistribution`. Args: instance_id (int): The id of the ContainerDistribution to be updated Raises: ValidationError: If the DistributionSerializer is not valid """ data = kwargs.pop('data', None) partial = kwargs.pop('partial', False) instance = ContainerDistribution.objects.get(pk=instance_id) serializer = ContainerDistributionSerializer(instance, data=data, partial=partial) serializer.is_valid(raise_exception=True) serializer.save()