Skip to content
Snippets Groups Projects
Commit 531a5160 authored by Erwan Rouchet's avatar Erwan Rouchet
Browse files

Merge branch 'unique-hash-model-versions' into 'master'

Unique hash model versions

Closes #985

See merge request !1654
parents 4619c0de 28c5d49d
No related branches found
No related tags found
1 merge request!1654Unique hash model versions
......@@ -47,7 +47,6 @@ class CreateModelErrorResponseSerializer(serializers.Serializer):
class ModelVersionSerializer(TrainingModelMixin, serializers.ModelSerializer):
model = serializers.HiddenField(default=_model_from_context)
description = serializers.CharField(allow_blank=True, style={'base_template': 'textarea.html'})
tag = serializers.CharField(max_length=50)
state = EnumField(ModelVersionState)
configuration = serializers.JSONField(style={'base_template': 'textarea.html'})
s3_url = serializers.SerializerMethodField()
......
......@@ -70,7 +70,6 @@ class TestModelAPI(FixtureAPITestCase):
return {
'state': ModelVersionState.Available.value,
'description': 'description',
'tag': 'some_tag',
'configuration': {"hello": "this is me"},
}
......@@ -359,7 +358,7 @@ class TestModelAPI(FixtureAPITestCase):
with self.assertNumQueries(8):
response = self.client.put(reverse("api:model-version-update", kwargs={"pk": str(self.model_version1.id)}), {})
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
self.assertDictEqual(response.json(), {'description': ['This field is required.'], 'tag': ['This field is required.'], 'state': ['This field is required.'], 'configuration': ['This field is required.']})
self.assertDictEqual(response.json(), {'description': ['This field is required.'], 'state': ['This field is required.'], 'configuration': ['This field is required.']})
@patch('arkindex.project.aws.s3.meta.client.generate_presigned_url')
@patch('arkindex.project.aws.S3FileMixin.exists')
......@@ -394,20 +393,18 @@ class TestModelAPI(FixtureAPITestCase):
request = {
"description" : "A very long description",
"tag" : "prod",
"state": "available",
"configuration" : {"parameter1": "value1"}
}
with self.assertNumQueries(11):
response = self.client.put(reverse('api:model-version-update', kwargs={"pk": str(self.model_version2.id)}), request, format='json')
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertDictEqual(response.json(), {
"id": str(self.model_version2.id),
"model_id": str(self.model_version2.model.id),
"parent": self.model_version2.parent,
"description": request.get('description'),
"tag": request.get('tag'),
"tag": self.model_version2.tag,
"hash": self.model_version2.hash,
"state": "available",
"size": self.model_version2.size,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment