Enrich plugin metadata on what apps they support and add unit tests

Summary:
- This Diff is part 1 of 2 of milestone 1 of my internship project flipper self sufficiency. The task can be found here - https://www.internalfb.com/tasks?q=958574791613645&t=91334896

- I have extended the plugin package meta data format to support a "supportedApps" field that consists of appID (facebook, instagram, messenger etc) along with OS and type that were previously defined in supportedDevices as well.

- The diff also adds unit tests for this new format to ensure addition of the supportedApps field does not break anything.

Reviewed By: nikoant

Differential Revision: D30133225

fbshipit-source-id: 6ef0d1cadd61c0d69640cf61793322acb4cd65f4
This commit is contained in:
Ananya Arun
2021-08-06 07:13:43 -07:00
committed by Facebook GitHub Bot
parent 1a7e3b9b00
commit 025ca05d62
4 changed files with 105 additions and 0 deletions

View File

@@ -76,6 +76,30 @@
}
}
}
},
"supportedApps": {
"description": "List of apps supported by the plugin.",
"type": "array",
"items": {
"description": "App definition. E.g. {\"appID\": \"Facebook\", \"os\": \"Android\", \"type\": \"physical\"} means that plugin supports only Facebook app on Android physical devices.",
"type": "object",
"properties": {
"appID": {
"description": "App name: Facebook, Instagram or Messenger.",
"type": "string"
},
"os": {
"description": "Device OS: iOS, Android or Metro. Lack of this property means that all OSes supported.",
"type": "string",
"enum": ["iOS", "Android", "Metro"]
},
"type": {
"description": "Device type: physical or emulator or dummy. Lack of this property means it supports physical, emulator and dummy devices.",
"type": "string",
"enum": ["physical", "emulator"]
}
}
}
}
},
"required": [