diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 6b0a8b4864..fca82a40f4 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -197,6 +197,7 @@ dependencies { androidTestImplementation(Dependencies.androidTestLibs) androidTestImplementation(Proton.Core.accountManagerPresentationCompose) androidTestImplementation(Proton.Core.authTest) + androidTestImplementation(project(":test:annotations")) androidTestImplementation(project(":test:test-data")) androidTestImplementation(project(":test:network-mocks")) diff --git a/settings.gradle.kts b/settings.gradle.kts index 0c5e7a8283..b5f1814dc4 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -74,6 +74,7 @@ include(":mail-settings:data") include(":mail-settings:domain") include(":mail-settings:presentation") +include(":test:annotations") include(":test:network-mocks") include(":test:test-data") diff --git a/test/annotations/build.gradle.kts b/test/annotations/build.gradle.kts new file mode 100644 index 0000000000..fa119ff70b --- /dev/null +++ b/test/annotations/build.gradle.kts @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2022 Proton Technologies AG + * This file is part of Proton Technologies AG and Proton Mail. + * + * Proton Mail is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Proton Mail is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Proton Mail. If not, see . + */ + +plugins { + id("kotlin") +} diff --git a/test/annotations/src/main/kotlin/ch/protonmail/android/test/annotations/suite/RegressionTest.kt b/test/annotations/src/main/kotlin/ch/protonmail/android/test/annotations/suite/RegressionTest.kt new file mode 100644 index 0000000000..8b0ee9b6a2 --- /dev/null +++ b/test/annotations/src/main/kotlin/ch/protonmail/android/test/annotations/suite/RegressionTest.kt @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2022 Proton Technologies AG + * This file is part of Proton Technologies AG and Proton Mail. + * + * Proton Mail is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Proton Mail is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Proton Mail. If not, see . + */ + +package ch.protonmail.android.test.annotations.suite + +@Retention(AnnotationRetention.RUNTIME) +@Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION) +annotation class RegressionTest diff --git a/test/annotations/src/main/kotlin/ch/protonmail/android/test/annotations/suite/SmokeExtendedTest.kt b/test/annotations/src/main/kotlin/ch/protonmail/android/test/annotations/suite/SmokeExtendedTest.kt new file mode 100644 index 0000000000..edd12ab237 --- /dev/null +++ b/test/annotations/src/main/kotlin/ch/protonmail/android/test/annotations/suite/SmokeExtendedTest.kt @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2022 Proton Technologies AG + * This file is part of Proton Technologies AG and Proton Mail. + * + * Proton Mail is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Proton Mail is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Proton Mail. If not, see . + */ + +package ch.protonmail.android.test.annotations.suite + +@Retention(AnnotationRetention.RUNTIME) +@Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION) +annotation class SmokeExtendedTest diff --git a/test/annotations/src/main/kotlin/ch/protonmail/android/test/annotations/suite/SmokeTest.kt b/test/annotations/src/main/kotlin/ch/protonmail/android/test/annotations/suite/SmokeTest.kt new file mode 100644 index 0000000000..a486849763 --- /dev/null +++ b/test/annotations/src/main/kotlin/ch/protonmail/android/test/annotations/suite/SmokeTest.kt @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2022 Proton Technologies AG + * This file is part of Proton Technologies AG and Proton Mail. + * + * Proton Mail is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Proton Mail is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Proton Mail. If not, see . + */ + +package ch.protonmail.android.test.annotations.suite + +@Retention(AnnotationRetention.RUNTIME) +@Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION) +annotation class SmokeTest