예제 #1
0
 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)
예제 #2
0
 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]))
예제 #3
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()
예제 #4
0
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()