Skip to content

Commit

Permalink
Fix exposure of 'uses_only_baseline_capabilities' field in Remote Set…
Browse files Browse the repository at this point in the history
…tings (ref #2047)
  • Loading branch information
leplatrem committed Jan 8, 2020
1 parent 2716d8b commit 32205d5
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 7 deletions.
5 changes: 5 additions & 0 deletions normandy/recipes/api/v1/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ class MinimalRecipeSerializer(RecipeSerializer):
"""

revision_id = serializers.SerializerMethodField()
uses_only_baseline_capabilities = serializers.SerializerMethodField()

class Meta(RecipeSerializer.Meta):
# Attributes serialized here are made available to filter expressions via
Expand All @@ -126,6 +127,7 @@ class Meta(RecipeSerializer.Meta):
"arguments",
"filter_expression",
"capabilities",
"uses_only_baseline_capabilities"
]

def get_revision_id(self, recipe):
Expand All @@ -136,6 +138,9 @@ def get_revision_id(self, recipe):
else:
None

def get_uses_only_baseline_capabilities(self, recipe):
return recipe.uses_only_baseline_capabilities()


class RecipeRevisionSerializer(serializers.ModelSerializer):
date_created = serializers.DateTimeField(source="created", read_only=True)
Expand Down
7 changes: 1 addition & 6 deletions normandy/recipes/exports.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,9 @@ def recipe_as_record(recipe):
SignatureSerializer,
) # avoid circular imports

recipe_fields = {
**MinimalRecipeSerializer(recipe).data,
# Allow to filter retro compatible recipes in Remote Settings.
"uses_only_baseline_capabilities": recipe.uses_only_baseline_capabilities(),
}
record = {
"id": str(recipe.id),
"recipe": recipe_fields,
"recipe": MinimalRecipeSerializer(recipe).data,
"signature": SignatureSerializer(recipe.signature).data,
}
return record
Expand Down
2 changes: 2 additions & 0 deletions normandy/recipes/tests/api/v1/test_serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ def test_it_works(self, rf):
"action": action.name,
"arguments": {"foo": "bar"},
"capabilities": sorted(recipe.capabilities),
'uses_only_baseline_capabilities': False,
}

def test_capabilities_are_sorted(self, rf):
Expand Down Expand Up @@ -123,6 +124,7 @@ def test_it_works_with_no_signature(self, rf):
"action": action.name,
"arguments": recipe.arguments,
"capabilities": sorted(recipe.capabilities),
'uses_only_baseline_capabilities': False,
},
}

Expand Down
3 changes: 2 additions & 1 deletion normandy/recipes/tests/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -410,7 +410,8 @@ def test_canonical_json(self):
'"filter_expression":"%(filter_expression)s",'
'"id":%(id)s,'
'"name":"canonical",'
'"revision_id":"%(revision_id)s"'
'"revision_id":"%(revision_id)s",'
'"uses_only_baseline_capabilities":false'
"}"
) % {
"id": recipe.id,
Expand Down

0 comments on commit 32205d5

Please sign in to comment.