diff --git a/test/data/compile-app-settings/android-app-links/app_settings.expected.json b/test/data/compile-app-settings/android-app-links/app_settings.expected.json new file mode 100644 index 000000000..8780a1d70 --- /dev/null +++ b/test/data/compile-app-settings/android-app-links/app_settings.expected.json @@ -0,0 +1,51 @@ +{ + "locale": "en", + "locales": [ + { + "code": "en", + "name": "English" + }, + { + "code": "es", + "name": "Español (Spanish)" + } + ], + "kujua-reporting": [ + { + "code": "SS", + "reporting_freq": "monthly" + } + ], + "assetlinks": [ + { + "relation": [ + "delegate_permission/common.handle_all_urls" + ], + "target": { + "namespace": "android_app", + "package_name": "org.medicmobile.webapp.mobile", + "sha256_cert_fingerprints": [ + "62:BF:C1:78:24:D8:4D:5C:B4:E1:8B:66:98:EA:14:16:57:6F:A4:E5:96:CD:93:81:B2:65:19:71:A7:80:EA:4D" + ] + } + }, + { + "relation": [ + "delegate_permission/common.handle_all_urls" + ], + "target": { + "namespace": "android_app", + "package_name": "org.medicmobile.something.else", + "sha256_cert_fingerprints": [ + "asdf", + "zxcvbn" + ] + } + } + ], + "contact_summary": "", + "tasks": { + "rules": "", + "targets": {} + } +} diff --git a/test/data/compile-app-settings/android-app-links/invalid-file/.eslintrc b/test/data/compile-app-settings/android-app-links/invalid-file/.eslintrc new file mode 100644 index 000000000..e69de29bb diff --git a/test/data/compile-app-settings/android-app-links/invalid-file/app_settings/assetlinks.json b/test/data/compile-app-settings/android-app-links/invalid-file/app_settings/assetlinks.json new file mode 100644 index 000000000..f38bfbf08 --- /dev/null +++ b/test/data/compile-app-settings/android-app-links/invalid-file/app_settings/assetlinks.json @@ -0,0 +1,11 @@ +[ + { + "relation": [ + "delegate_permission/common.handle_all_urls" + ], + "target": { + "namespace": "android_app", + "package_name": "org.medicmobile.webapp.mobile" + } + } +] diff --git a/test/data/compile-app-settings/android-app-links/invalid-file/app_settings/base_settings.json b/test/data/compile-app-settings/android-app-links/invalid-file/app_settings/base_settings.json new file mode 100644 index 000000000..9a0482d6b --- /dev/null +++ b/test/data/compile-app-settings/android-app-links/invalid-file/app_settings/base_settings.json @@ -0,0 +1,19 @@ +{ + "locale": "en", + "locales": [ + { + "code": "en", + "name": "English" + }, + { + "code": "es", + "name": "Español (Spanish)" + } + ], + "kujua-reporting": [ + { + "code": "SS", + "reporting_freq": "monthly" + } + ] +} diff --git a/test/data/compile-app-settings/android-app-links/invalid-file/contact-summary.js b/test/data/compile-app-settings/android-app-links/invalid-file/contact-summary.js new file mode 100644 index 000000000..e69de29bb diff --git a/test/data/compile-app-settings/android-app-links/invalid-file/rules.nools.js b/test/data/compile-app-settings/android-app-links/invalid-file/rules.nools.js new file mode 100644 index 000000000..e69de29bb diff --git a/test/data/compile-app-settings/android-app-links/invalid-file/targets.json b/test/data/compile-app-settings/android-app-links/invalid-file/targets.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/test/data/compile-app-settings/android-app-links/invalid-file/targets.json @@ -0,0 +1 @@ +{} diff --git a/test/data/compile-app-settings/android-app-links/project/.eslintrc b/test/data/compile-app-settings/android-app-links/project/.eslintrc new file mode 100644 index 000000000..e69de29bb diff --git a/test/data/compile-app-settings/android-app-links/project/app_settings/assetlinks.json b/test/data/compile-app-settings/android-app-links/project/app_settings/assetlinks.json new file mode 100644 index 000000000..a4ae0f985 --- /dev/null +++ b/test/data/compile-app-settings/android-app-links/project/app_settings/assetlinks.json @@ -0,0 +1,27 @@ +[ + { + "relation": [ + "delegate_permission/common.handle_all_urls" + ], + "target": { + "namespace": "android_app", + "package_name": "org.medicmobile.webapp.mobile", + "sha256_cert_fingerprints": [ + "62:BF:C1:78:24:D8:4D:5C:B4:E1:8B:66:98:EA:14:16:57:6F:A4:E5:96:CD:93:81:B2:65:19:71:A7:80:EA:4D" + ] + } + }, + { + "relation": [ + "delegate_permission/common.handle_all_urls" + ], + "target": { + "namespace": "android_app", + "package_name": "org.medicmobile.something.else", + "sha256_cert_fingerprints": [ + "asdf", + "zxcvbn" + ] + } + } +] diff --git a/test/data/compile-app-settings/android-app-links/project/app_settings/base_settings.json b/test/data/compile-app-settings/android-app-links/project/app_settings/base_settings.json new file mode 100644 index 000000000..9a0482d6b --- /dev/null +++ b/test/data/compile-app-settings/android-app-links/project/app_settings/base_settings.json @@ -0,0 +1,19 @@ +{ + "locale": "en", + "locales": [ + { + "code": "en", + "name": "English" + }, + { + "code": "es", + "name": "Español (Spanish)" + } + ], + "kujua-reporting": [ + { + "code": "SS", + "reporting_freq": "monthly" + } + ] +} diff --git a/test/data/compile-app-settings/android-app-links/project/contact-summary.js b/test/data/compile-app-settings/android-app-links/project/contact-summary.js new file mode 100644 index 000000000..e69de29bb diff --git a/test/data/compile-app-settings/android-app-links/project/rules.nools.js b/test/data/compile-app-settings/android-app-links/project/rules.nools.js new file mode 100644 index 000000000..e69de29bb diff --git a/test/data/compile-app-settings/android-app-links/project/targets.json b/test/data/compile-app-settings/android-app-links/project/targets.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/test/data/compile-app-settings/android-app-links/project/targets.json @@ -0,0 +1 @@ +{} diff --git a/test/fn/compile-app-settings.spec.js b/test/fn/compile-app-settings.spec.js index 5ccf49496..8265899d8 100644 --- a/test/fn/compile-app-settings.spec.js +++ b/test/fn/compile-app-settings.spec.js @@ -47,7 +47,7 @@ const scenarios = [ folder: 'purge/no-export-purge/project', }, { - description: 'should handle a project with eslint error when --debug flag is present', + description: 'should handle a project with eslint error when --debug flag is present', folder: 'eslint-error/project', extraArgs: ['--debug'], }, @@ -58,11 +58,15 @@ const scenarios = [ { description: 'should handle a configuration using the base_settings file', folder: 'base-settings/project', - }, + }, { description: 'should handle a configuration using the forms.json and schedules.json files', folder: 'sms-modules/project', }, + { + description: 'should handle a configuration using the assetlinks.json file', + folder: 'android-app-links/project', + }, // REJECTION SCENARIOS { @@ -115,6 +119,11 @@ const scenarios = [ folder: 'missing-eslintrc/project', error: 'No eslint configuration', }, + { + description: 'should reject a configuration using an invalid assetlinks.json file', + folder: 'android-app-links/invalid-file', + error: 'Invalid assetlinks: ValidationError: "[0].target.sha256_cert_fingerprints" is required', + }, ]; describe('compile-app-settings', () => {