UNPKG

@sentry/wizard

Version:

Sentry wizard helping you to configure your project

57 lines 9.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var gradle_1 = require("../../src/react-native/gradle"); describe('react-native gradle', function () { describe('doesAppBuildGradleIncludeSentry', function () { it('returns false for empty file', function () { expect((0, gradle_1.doesAppBuildGradleIncludeRNSentryGradlePlugin)('')).toBe(false); }); it('returns false for minimal app/build.gradle', function () { var appBuildGradle = "apply plugin: \"com.android.application\"\n\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n"; expect((0, gradle_1.doesAppBuildGradleIncludeRNSentryGradlePlugin)(appBuildGradle)).toBe(false); }); it('returns false for app/build.gradle with SAGP', function () { var appBuildGradle = "apply plugin: \"com.android.application\"\napply plugin: \"io.sentry.android.gradle\"\n\nsentry {\n}\n\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n"; expect((0, gradle_1.doesAppBuildGradleIncludeRNSentryGradlePlugin)(appBuildGradle)).toBe(false); }); it('returns true for app/build.gradle with RN SAGP', function () { var appBuildGradle = "apply plugin: \"com.android.application\"\napply plugin: \"io.sentry.android.gradle\"\n\nsentry {\n}\n\napply from: new File([\"node\", \"--print\", \"require.resolve('@sentry/react-native/package.json')\"].execute().text.trim(), \"../sentry.gradle\")\n\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n"; expect((0, gradle_1.doesAppBuildGradleIncludeRNSentryGradlePlugin)(appBuildGradle)).toBe(true); }); }); describe('addRNSentryGradlePlugin', function () { it('does not add nothing to empty file', function () { expect((0, gradle_1.addRNSentryGradlePlugin)('')).toBe(''); }); it('does add RN SAGP', function () { var input = "apply plugin: \"com.android.application\"\n\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n"; var expectedOutput = "apply plugin: \"com.android.application\"\n\napply from: new File([\"node\", \"--print\", \"require.resolve('@sentry/react-native/package.json')\"].execute().text.trim(), \"../sentry.gradle\")\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n"; expect((0, gradle_1.addRNSentryGradlePlugin)(input)).toBe(expectedOutput); }); it('does add RN SAGP to build gradle with SAGP', function () { var input = "apply plugin: \"com.android.application\"\napply plugin: \"io.sentry.android.gradle\"\n\nsentry {\n}\n\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n"; var expectedOutput = "apply plugin: \"com.android.application\"\napply plugin: \"io.sentry.android.gradle\"\n\nsentry {\n}\n\napply from: new File([\"node\", \"--print\", \"require.resolve('@sentry/react-native/package.json')\"].execute().text.trim(), \"../sentry.gradle\")\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n"; expect((0, gradle_1.addRNSentryGradlePlugin)(input)).toBe(expectedOutput); }); }); describe('removeRNSentryGradlePlugin', function () { it('does not add nothing to empty file', function () { expect((0, gradle_1.removeRNSentryGradlePlugin)('')).toBe(''); }); it('does not change build gradle without RN SAGP', function () { var input = "apply plugin: \"com.android.application\"\napply plugin: \"io.sentry.android.gradle\"\n\nsentry {\n}\n\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n"; expect((0, gradle_1.removeRNSentryGradlePlugin)(input)).toBe(input); }); it('does remove RN SAGP referenced by node resolved path', function () { var input = "apply plugin: \"com.android.application\"\napply plugin: \"io.sentry.android.gradle\"\n\nsentry {\n}\n\napply from: new File([\"node\", \"--print\", \"require.resolve('@sentry/react-native/package.json')\"].execute().text.trim(), \"../sentry.gradle\")\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n"; var output = "apply plugin: \"com.android.application\"\napply plugin: \"io.sentry.android.gradle\"\n\nsentry {\n}\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n"; expect((0, gradle_1.removeRNSentryGradlePlugin)(input)).toBe(output); }); it('does remove RN SAGP reference by relative path', function () { var input = "apply plugin: \"com.android.application\"\napply plugin: \"io.sentry.android.gradle\"\n\nsentry {\n}\n\napply from: \"../../node_modules/@sentry/react-native/sentry.gradle\"\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n"; var output = "apply plugin: \"com.android.application\"\napply plugin: \"io.sentry.android.gradle\"\n\nsentry {\n}\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n"; expect((0, gradle_1.removeRNSentryGradlePlugin)(input)).toBe(output); }); }); }); //# sourceMappingURL=gradle.test.js.map