diff --git a/appvalidator/specs/webapps.py b/appvalidator/specs/webapps.py index f00b7a0..18129d6 100644 --- a/appvalidator/specs/webapps.py +++ b/appvalidator/specs/webapps.py @@ -730,7 +730,7 @@ def process_permissions(self, node): requested_permissions = set() for permission, per_node in node.items(): - if permission in PRERELEASE_PERMISSIONS: + if permission in ALL_PERMISSIONS: requested_permissions.add(permission) if permission not in self.PERMISSIONS_ACCESS: @@ -762,8 +762,6 @@ def process_permissions(self, node): "Found value: %s" % access_value, self.MORE_INFO]) - requested_permissions.add(permission) - self.err.save_resource("permissions", list(requested_permissions)) def process_origin(self, node): diff --git a/tests/helper.py b/tests/helper.py index dc724c5..7f09c5f 100644 --- a/tests/helper.py +++ b/tests/helper.py @@ -155,6 +155,12 @@ def assert_has_feature(self, name): '"%s" not found in feature profile (%s)' % ( name, ', '.join(self.err.feature_profile))) + def assert_has_permission(self, name): + permissions = self.err.get_resource("permissions") + assert name in permissions, ( + '"%s" not found in permissions (%s)' % ( + name, ', '.join(permissions))) + class MockZipFile: diff --git a/tests/test_webapp.py b/tests/test_webapp.py index d1c8525..42d09bd 100644 --- a/tests/test_webapp.py +++ b/tests/test_webapp.py @@ -1134,12 +1134,17 @@ def test_permissions_full(self): self.set_permissions() self.analyze() self.assert_silent() + for perm in appvalidator.constants.ALL_PERMISSIONS: + self.assert_has_permission(perm) def test_permissions_extra_invalid(self): self.set_permissions() self.data["permissions"]["foo"] = {"description": "lol"} self.analyze() self.assert_failed(with_errors=True) + assert 'foo' not in self.err.get_resource("permissions") + for perm in appvalidator.constants.ALL_PERMISSIONS: + self.assert_has_permission(perm) def test_permissions_missing_desc(self): self.set_permissions() @@ -1247,7 +1252,6 @@ def test_redirects_required_nodes(self): self.analyze() self.assert_failed(with_errors=True) - def test_redirects_missing_nodes(self): self.data['redirects'] = [ {"to": "asdf"},