Tests GTS (GtsSafetyCenterTestCases
)
Les tests GTS imposent des contraintes au fichier de configuration. Consultez la section Mettre à jour le fichier de configuration. Un appareil est exempté de ces tests s'il n'est pas compatible avec le Centre de sécurité.
Les contraintes sont les suivantes:
- Il doit y avoir au moins sept groupes de sources Safety Center, qui doivent rester dans l'état non modifié ou par défaut. Certains champs spécifiques tels que les titres des sources, l'état d'affichage initial et le résumé sont parfois basés sur des chaînes superposables et peuvent être modifiés.
Pour
GoogleAppSecuritySources
:- Ne supprimez pas et ne modifiez pas la source de sécurité
GooglePlayProtect
. - Vous pouvez supprimer ou modifier la source de sécurité
GoogleAppProtectionService
. Si elle est présente :- Il doit être compatible avec la journalisation.
- Si le nom du package n'est pas modifié, il doit utiliser
initialDisplayState="hidden"
sous Android 13. Dans Android 14, il doit s'agir d'unissue-only-safety-source
, et l'élémentdeduplicationGroup
doit rester inchangé. - Si le nom du package est modifié, il doit détenir le rôle
"android.app.role.SYSTEM_APP_PROTECTION_SERVICE"
. De plus, sous Android 14, il ne doit pas avoir dededuplicationGroup
.
- Ne supprimez pas et ne modifiez pas la source de sécurité
Pour
AndroidLockScreenSources
:- L'instance
summary
du groupe est obligatoire et vous pouvez la modifier, y compris avec une superposition de chaîne. - Il doit y avoir au moins une source de sécurité.
- La première source de sécurité est destinée à être la source qui contrôle les paramètres de l'écran de verrouillage. Elle ne doit pas pouvoir transmettre de problèmes ou d'entrées plus sévères que
SEVERITY_LEVEL_RECOMMENDATION
(maxSeverityLevel="300"
ou jusqu'aux fiches d'entrée ou d'avertissement jaunes). Dans Android 14, lededuplicationGroup
doit rester inchangé. - Les autres sources de sécurité sont destinées à être des sources liées aux mécanismes de déverrouillage biométriques et doivent avoir
maxSeverityLevel="0"
.
- L'instance
Sous Android 13, ne modifiez pas
GoogleAccountSources
,GoogleDeviceFinderSources
niAndroidAdvancedSources
. Dans Android 14, vous pouvez supprimer certaines des nouvelles sources introduites dans ces groupes (par exemple, la sauvegarde et la restauration). Vous pouvez également ajouter de nouvelles sources statiques au groupeAndroidAdvancedSources
.Pour
GoogleUpdateSources
:- Vous pouvez modifier
intentAction
pourGoogleSecurityUpdates
et le modifier avec une superposition de chaîne. - Ne modifiez pas
GooglePlaySystemUpdate
.
- Vous pouvez modifier
Pour
AndroidPrivacySources
:- Vous pouvez ajouter, supprimer ou modifier certaines sources, à condition qu'elles soient
issue-only
. - Il doit conserver
packageName="com.google.android.permissioncontroller"
. - Ne modifiez pas le reste des sources
AndroidPrivacySources
.
- Vous pouvez ajouter, supprimer ou modifier certaines sources, à condition qu'elles soient
Pour les autres groupes de sources de sécurité (le cas échéant):
- Les groupes ne doivent pas avoir de
summary
ni destatelessIconType
, ce qui entraîne la création d'un groupeSAFETY_SOURCES_GROUP_TYPE_RIGID
(SAFETY_SOURCES_GROUP_TYPE_STATELESS
sous Android 14). - Chaque source de chaque groupe doit être statique ou autorisée à envoyer des entrées grises ou vertes, mais sans problème (par exemple,
maxSeverityLevel="0"
).
- Les groupes ne doivent pas avoir de
Tests CTS (CtsSafetyCenterTestCases
)
À partir d'Android 13, les tests CTS s'appliquent à tous les OEM compatibles avec PermissionController
.
Tests du fichier de configuration (XmlConfigTest
)
Ces tests garantissent que:
- Le fichier de configuration XML analysé correspond à la configuration analysée et exposée par Safety Center, et cette analyse aboutit.
- Si l'action d'intent
android.settings.PRIVACY_ADVANCED_SETTINGS
est présente dans le fichier XML, cette action doit être résolue. - Si l'action d'intent
android.settings.PRIVACY_CONTROLS
est présente dans le fichier XML, cette action doit être résolue.
Tests de l'interface utilisateur (SafetyCenterActivityTest
)
Ces tests permettent de vérifier les points suivants:
- L'action d'intent
android.intent.action.SAFETY_CENTER
se résout et ouvre l'écran de paramètres Sécurité et confidentialité lorsque le Centre de sécurité est activé, et l'écran des paramètres lorsque le Centre de sécurité est désactivé.
Tests de l'API (SafetyCenterManagerTest
)
L'objectif des tests de l'API SafetyCenterManagerTest est de s'assurer que les API Safety Center fonctionnent comme prévu.
Ces tests permettent de vérifier les points suivants:
SafetyCenterManager.isSafetyCenterEnabled
est contrôlé par l'indicateurDeviceConfig
associé.- Lorsque cette option est désactivée, les API du centre de sécurité sont no-op.
- Les API Safety Center ne sont utilisables que lorsque les autorisations associées sont détenues.
- Les données ne peuvent être fournies au centre de sécurité qu'en fonction de la configuration sous-jacente.
- Lorsque des données sont fournies au Centre de sécurité, elles s'affichent en conséquence.
- Les API correspondent aux spécifications décrites dans Utiliser les API sources du Centre de sécurité, telles que l'actualisation ou la réanalyse, la définition ou la suppression de données, et le signalement d'erreurs.
- Les API internes exposées à l'interface utilisateur fonctionnent correctement. Par exemple, les données sont fusionnées de manière appropriée par le centre de sécurité et les données peuvent être actualisées.
Test non compatible avec le centre de sécurité (SafetyCenterUnsupportedTest
)
Ce test garantit que le Centre de sécurité est désactivé lorsque l'appareil n'est pas compatible avec celui-ci lorsque la compatibilité est désactivée dans le fichier de configuration XML du framework.
Si l'appareil est compatible avec le Centre de sécurité, ce test n'est pas exécuté. Si l'appareil n'est pas compatible avec le centre de sécurité, seuls ce test et les tests des classes de données sont exécutés.
Ce test permet de vérifier les éléments suivants:
- L'action d'intent
android.intent.action.SAFETY_CENTER
ouvre l'écran "Paramètres". SafetyCenterManager.isSafetyCenterEnabled
renvoiefalse
.- La plupart des API Safety Center ne répondent pas lorsqu'elles sont appelées.
Tests des classes de données (SafetySourceDataTest
, SafetySourceIssueTest
, etc.)
Les tests de classe de données tels que SafetySourceDataTest
et SafetySourceIssueTest
garantissent que les classes de données exposées par le Centre de sécurité fonctionnent comme prévu, par exemple SafetySourceData
, SafetySourceIssue
et d'autres classes internes associées.
Tests MTS (SafetyCenterFunctionalTestCases
et autres)
Ces tests sont exécutés sur les mises à jour principales et s'appliquent à tous les OEM qui acceptent PermissionController
. Les exigences appliquées par ces tests peuvent changer d'une mise à jour principale à l'autre.
Tests de l'API (SafetyCenterManagerTest
)
Ces tests sont similaires au test CTS SafetyCenterManagerTest
, mais ils testent les exigences qui peuvent changer au fil des mises à jour principales, par exemple:
- Vérification du contenu réel des données renvoyées par les API internes exposées à l'UI
Tests de l'interface utilisateur (SafetyCenterActivityTest
, SafetyCenterStatusCardTest
, SafetyCenterQsActivityTest
, etc.)
Ces tests permettent de vérifier les points suivants:
- La redirection vers le centre de sécurité avec des paramètres spécifiques fonctionne comme prévu, par exemple, en redirigeant vers un problème spécifique. Consultez Redirection vers le centre de sécurité.
- L'UI affiche l'état de sécurité sous-jacent correct.
- L'UI permet de naviguer vers des écrans distincts.
- L'UI permet de résoudre les problèmes de sécurité directement depuis l'écran du centre de sécurité lorsque spécifié par
SafetySourceIssue
. - L'UI réduit plusieurs fiches d'avertissement en un seul élément et permet de les développer dans plusieurs fiches d'avertissement.
- Les données sont actualisées lorsque la page du centre de sécurité est ouverte pour les sources concernées.
- Le bouton de nouvelle analyse ne s'affiche que dans des circonstances spécifiques.
- Appuyer sur le bouton "Rechercher" permet d'extraire de nouvelles données.
Des tests similaires sont effectués pour le Centre de sécurité. Consultez Créer des blocs "Réglages rapides" personnalisés pour votre application.
Cas spéciaux supplémentaires, tels que les états d'erreur et d'attente.
Tests multi-utilisateurs (SafetyCenterMultiUsersTest
)
L'objectif de ces tests est de s'assurer que l'API fonctionne correctement lorsque des données sont fournies pour plusieurs utilisateurs ou profils. Consultez Fournir des données pour plusieurs utilisateurs et profils. Cette configuration est obtenue à l'aide d'une bibliothèque interne qui facilite la configuration d'utilisateurs et de profils distincts sur l'appareil à l'aide de Bedstead.
Ce test permet de vérifier les points suivants:
- Les données appartenant à un utilisateur sont fusionnées avec le profil géré associé, le cas échéant.
- Seules les sources signalées par
profile="all_profiles"
peuvent fournir des données dans le profil géré de l'utilisateur. - Une entrée est créée pour chaque profil géré associé à un utilisateur.
- Les données appartenant à un utilisateur ne sont pas divulguées à un autre utilisateur sans rapport.