diff --git a/README.md b/README.md index a2a72dc..115514b 100644 --- a/README.md +++ b/README.md @@ -3,9 +3,9 @@

-# Android Loggerazzi +# Android Snaptesting -Logs snapshot testing for Android Instrumentation tests. +Logs and screenshots snapshot testing for Android Instrumentation tests. ## Introduction @@ -22,14 +22,14 @@ To include the plugin, add it to the plugins block of your project's build.gradl ```gradle plugins { ... - id("com.telefonica.loggerazzi-plugin") version $loggerazzi_version apply false + id("com.telefonica.androidsnaptesting-plugin") version $android_snaptesting_version apply false } ``` Then, include it into your specific application or library build.gradle: ```gradle plugins { ... - id "com.telefonica.loggerazzi-plugin" + id "com.telefonica.androidsnaptesting-plugin" } ``` @@ -38,7 +38,7 @@ Also, include the rule dependency in your application or library dependencies bl ```gradle dependencies { ... - androidTestImplementation "com.telefonica:loggerazzi:$loggerazzi_version" + androidTestImplementation "com.telefonica:androidsnaptesting:$android_snaptesting_version" } ``` diff --git a/loggerazzi/.gitignore b/android-snaptesting/.gitignore similarity index 100% rename from loggerazzi/.gitignore rename to android-snaptesting/.gitignore diff --git a/loggerazzi/build.gradle.kts b/android-snaptesting/build.gradle.kts similarity index 95% rename from loggerazzi/build.gradle.kts rename to android-snaptesting/build.gradle.kts index 672f3f1..f347328 100644 --- a/loggerazzi/build.gradle.kts +++ b/android-snaptesting/build.gradle.kts @@ -4,7 +4,7 @@ plugins { } android { - namespace = "com.telefonica.loggerazzi" + namespace = "com.telefonica.androidsnaptesting" compileSdk = libs.versions.compile.sdk.get().toInt() diff --git a/loggerazzi/consumer-rules.pro b/android-snaptesting/consumer-rules.pro similarity index 100% rename from loggerazzi/consumer-rules.pro rename to android-snaptesting/consumer-rules.pro diff --git a/loggerazzi/proguard-rules.pro b/android-snaptesting/proguard-rules.pro similarity index 100% rename from loggerazzi/proguard-rules.pro rename to android-snaptesting/proguard-rules.pro diff --git a/loggerazzi/src/main/AndroidManifest.xml b/android-snaptesting/src/main/AndroidManifest.xml similarity index 100% rename from loggerazzi/src/main/AndroidManifest.xml rename to android-snaptesting/src/main/AndroidManifest.xml diff --git a/loggerazzi/src/main/java/com/telefonica/loggerazzi/BitmapImage.kt b/android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/BitmapImage.kt similarity index 92% rename from loggerazzi/src/main/java/com/telefonica/loggerazzi/BitmapImage.kt rename to android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/BitmapImage.kt index a72460f..3be619d 100644 --- a/loggerazzi/src/main/java/com/telefonica/loggerazzi/BitmapImage.kt +++ b/android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/BitmapImage.kt @@ -1,4 +1,4 @@ -package com.telefonica.loggerazzi +package com.telefonica.androidsnaptesting import android.graphics.Bitmap import com.dropbox.differ.Color diff --git a/loggerazzi/src/main/java/com/telefonica/loggerazzi/Ignores.kt b/android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/Ignores.kt similarity index 84% rename from loggerazzi/src/main/java/com/telefonica/loggerazzi/Ignores.kt rename to android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/Ignores.kt index 0a1a224..cb1b184 100644 --- a/loggerazzi/src/main/java/com/telefonica/loggerazzi/Ignores.kt +++ b/android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/Ignores.kt @@ -1,4 +1,4 @@ -package com.telefonica.loggerazzi +package com.telefonica.androidsnaptesting @Retention(AnnotationRetention.RUNTIME) diff --git a/loggerazzi/src/main/java/com/telefonica/loggerazzi/LogComparator.kt b/android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/LogComparator.kt similarity index 95% rename from loggerazzi/src/main/java/com/telefonica/loggerazzi/LogComparator.kt rename to android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/LogComparator.kt index 96faab7..e70cdd1 100644 --- a/loggerazzi/src/main/java/com/telefonica/loggerazzi/LogComparator.kt +++ b/android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/LogComparator.kt @@ -1,4 +1,4 @@ -package com.telefonica.loggerazzi +package com.telefonica.androidsnaptesting import java.lang.StringBuilder diff --git a/loggerazzi/src/main/java/com/telefonica/loggerazzi/LogsRecorder.kt b/android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/LogsRecorder.kt similarity index 73% rename from loggerazzi/src/main/java/com/telefonica/loggerazzi/LogsRecorder.kt rename to android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/LogsRecorder.kt index 2d6ca2b..307ec12 100644 --- a/loggerazzi/src/main/java/com/telefonica/loggerazzi/LogsRecorder.kt +++ b/android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/LogsRecorder.kt @@ -1,4 +1,4 @@ -package com.telefonica.loggerazzi +package com.telefonica.androidsnaptesting public interface LogsRecorder { public fun clear() diff --git a/loggerazzi/src/main/java/com/telefonica/loggerazzi/LoggerazziRule.kt b/android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/LogsRule.kt similarity index 84% rename from loggerazzi/src/main/java/com/telefonica/loggerazzi/LoggerazziRule.kt rename to android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/LogsRule.kt index 6bf7d78..62a3954 100644 --- a/loggerazzi/src/main/java/com/telefonica/loggerazzi/LoggerazziRule.kt +++ b/android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/LogsRule.kt @@ -1,4 +1,4 @@ -package com.telefonica.loggerazzi +package com.telefonica.androidsnaptesting import android.os.Environment import androidx.test.platform.app.InstrumentationRegistry @@ -6,10 +6,10 @@ import org.junit.rules.TestWatcher import org.junit.runner.Description import java.io.File -public class LoggerazziRule( +public class LogsRule( recorder: LogsRecorder, comparator: LogComparator = DefaultLogComparator(), -) : GenericLoggerazziRule( +) : GenericLogsRule( recorder = recorder, stringMapper = object : StringMapper { override fun fromLog(log: String): String = log @@ -18,7 +18,7 @@ public class LoggerazziRule( comparator = comparator, ) -public open class GenericLoggerazziRule( +public open class GenericLogsRule( public val recorder: LogsRecorder, private val stringMapper: StringMapper, private val comparator: LogComparator = DefaultLogComparator(), @@ -29,9 +29,9 @@ public open class GenericLoggerazziRule( private val downloadDir = File( Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).absolutePath ) - private val loggerazziDir = File(downloadDir, "loggerazzi-logs/${context.packageName}") - private val failuresDir = File(loggerazziDir, "failures") - private val recordedDir = File(loggerazziDir, "recorded") + private val androidSnaptestingDir = File(downloadDir, "android-snaptesting/${context.packageName}") + private val failuresDir = File(androidSnaptestingDir, "failures") + private val recordedDir = File(androidSnaptestingDir, "recorded") override fun starting(description: Description?) { super.starting(description) @@ -62,7 +62,7 @@ public open class GenericLoggerazziRule( if (InstrumentationRegistry.getArguments().getString("record") != "true" && !isTestIgnored) { val goldenFile = InstrumentationRegistry.getInstrumentation().context.assets.open( - "loggerazzi-golden-files/${testName}.txt" + "android-snaptesting-golden-files/${testName}.txt" ) val goldenStringLogs = String(goldenFile.readBytes()).takeIf { it.isNotEmpty() }?.split("\n") ?: emptyList() val result = comparator.compare(recordedLogs, goldenStringLogs.map { stringMapper.toLog(it) }) diff --git a/loggerazzi/src/main/java/com/telefonica/loggerazzi/ResultValidator.kt b/android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/ResultValidator.kt similarity index 95% rename from loggerazzi/src/main/java/com/telefonica/loggerazzi/ResultValidator.kt rename to android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/ResultValidator.kt index a2f8ab5..a920285 100644 --- a/loggerazzi/src/main/java/com/telefonica/loggerazzi/ResultValidator.kt +++ b/android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/ResultValidator.kt @@ -1,4 +1,4 @@ -package com.telefonica.loggerazzi +package com.telefonica.androidsnaptesting import com.dropbox.differ.ImageComparator import kotlin.math.roundToInt diff --git a/loggerazzi/src/main/java/com/telefonica/loggerazzi/ScreenshotsRule.kt b/android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/ScreenshotsRule.kt similarity index 93% rename from loggerazzi/src/main/java/com/telefonica/loggerazzi/ScreenshotsRule.kt rename to android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/ScreenshotsRule.kt index 0f36341..cc56680 100644 --- a/loggerazzi/src/main/java/com/telefonica/loggerazzi/ScreenshotsRule.kt +++ b/android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/ScreenshotsRule.kt @@ -1,4 +1,4 @@ -package com.telefonica.loggerazzi +package com.telefonica.androidsnaptesting import android.app.Activity import android.graphics.Bitmap @@ -35,9 +35,9 @@ public class ScreenshotsRule( private val downloadDir = File( Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).absolutePath ) - private val loggerazziDir = File(downloadDir, "loggerazzi-logs/${context.packageName}") - private val failuresDir = File(loggerazziDir, "failures") - private val recordedDir = File(loggerazziDir, "recorded") + private val androidSnaptestingDir = File(downloadDir, "android-snaptesting/${context.packageName}") + private val failuresDir = File(androidSnaptestingDir, "failures") + private val recordedDir = File(androidSnaptestingDir, "recorded") override fun apply(base: Statement, description: Description): Statement { className = description.className @@ -97,7 +97,7 @@ public class ScreenshotsRule( private fun getGoldenBitmap(resourceName: String): Bitmap { val goldenBitmap = try { - context.assets.open("loggerazzi-golden-files/$resourceName").use { + context.assets.open("android-snaptesting-golden-files/$resourceName").use { BitmapFactory.decodeStream(it) } } catch (e: FileNotFoundException) { diff --git a/loggerazzi/src/main/java/com/telefonica/loggerazzi/StringMapper.kt b/android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/StringMapper.kt similarity index 76% rename from loggerazzi/src/main/java/com/telefonica/loggerazzi/StringMapper.kt rename to android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/StringMapper.kt index 7991c6d..6168562 100644 --- a/loggerazzi/src/main/java/com/telefonica/loggerazzi/StringMapper.kt +++ b/android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/StringMapper.kt @@ -1,4 +1,4 @@ -package com.telefonica.loggerazzi +package com.telefonica.androidsnaptesting public interface StringMapper { public fun fromLog(log: LogType): String diff --git a/loggerazzi/src/main/java/com/telefonica/loggerazzi/WriteDiffImage.kt b/android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/WriteDiffImage.kt similarity index 98% rename from loggerazzi/src/main/java/com/telefonica/loggerazzi/WriteDiffImage.kt rename to android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/WriteDiffImage.kt index 40f034f..9395fc9 100644 --- a/loggerazzi/src/main/java/com/telefonica/loggerazzi/WriteDiffImage.kt +++ b/android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/WriteDiffImage.kt @@ -1,4 +1,4 @@ -package com.telefonica.loggerazzi +package com.telefonica.androidsnaptesting import android.graphics.Bitmap import android.graphics.Canvas diff --git a/app/build.gradle.kts b/app/build.gradle.kts index bd52f96..91036c9 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,15 +1,15 @@ plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin) - id("com.telefonica.loggerazzi-plugin") + id("com.telefonica.androidsnaptesting-plugin") } android { - namespace = "com.telefonica.loggerazzi" + namespace = "com.telefonica.androidsnaptesting" compileSdk = libs.versions.compile.sdk.get().toInt() defaultConfig { - applicationId = "com.telefonica.loggerazzi" + applicationId = "com.telefonica.androidsnaptesting" minSdk = libs.versions.min.sdk.get().toInt() targetSdk = libs.versions.target.sdk.get().toInt() versionCode = 1 @@ -44,5 +44,5 @@ dependencies { testImplementation(libs.junit) androidTestImplementation(libs.espresso.junit) androidTestImplementation(libs.espresso.core) - androidTestImplementation(project(":loggerazzi")) + androidTestImplementation(project(":android-snaptesting")) } \ No newline at end of file diff --git a/app/src/androidTest/java/com/telefonica/loggerazzi/ExampleInstrumentedTest.kt b/app/src/androidTest/java/com/telefonica/androidsnaptesting/ExampleInstrumentedTest.kt similarity index 90% rename from app/src/androidTest/java/com/telefonica/loggerazzi/ExampleInstrumentedTest.kt rename to app/src/androidTest/java/com/telefonica/androidsnaptesting/ExampleInstrumentedTest.kt index bd69b47..08932c3 100644 --- a/app/src/androidTest/java/com/telefonica/loggerazzi/ExampleInstrumentedTest.kt +++ b/app/src/androidTest/java/com/telefonica/androidsnaptesting/ExampleInstrumentedTest.kt @@ -1,4 +1,4 @@ -package com.telefonica.loggerazzi +package com.telefonica.androidsnaptesting import androidx.test.core.app.ActivityScenario import androidx.test.ext.junit.runners.AndroidJUnit4 @@ -17,7 +17,7 @@ class ExampleInstrumentedTest { private val recorder = FakeTestRecorder() @get:Rule - val loggerazziRule = LoggerazziRule( + val logsRule = LogsRule( recorder = recorder ) @get:Rule @@ -42,13 +42,13 @@ class ExampleInstrumentedTest { @Test @IgnoreLogs - fun testIgnoreLoggerazzi() { + fun testIgnoreLogs() { recorder.record("My log") } @Test @IgnoreLogs - fun testIgnoreLoggerazziWithoutGoldenFile() { + fun testIgnoreLogsWithoutGoldenFile() { recorder.record("My log") } diff --git a/app/src/androidTestDebug/assets/android-snaptesting-golden-files/com.telefonica.androidsnaptesting.ExampleInstrumentedTest_launch_activity.png b/app/src/androidTestDebug/assets/android-snaptesting-golden-files/com.telefonica.androidsnaptesting.ExampleInstrumentedTest_launch_activity.png new file mode 100644 index 0000000..07edc8b Binary files /dev/null and b/app/src/androidTestDebug/assets/android-snaptesting-golden-files/com.telefonica.androidsnaptesting.ExampleInstrumentedTest_launch_activity.png differ diff --git a/app/src/androidTestDebug/assets/loggerazzi-golden-files/com.telefonica.loggerazzi.ExampleInstrumentedTest_testEmpty.txt b/app/src/androidTestDebug/assets/android-snaptesting-golden-files/com.telefonica.androidsnaptesting.ExampleInstrumentedTest_testEmpty.txt similarity index 100% rename from app/src/androidTestDebug/assets/loggerazzi-golden-files/com.telefonica.loggerazzi.ExampleInstrumentedTest_testEmpty.txt rename to app/src/androidTestDebug/assets/android-snaptesting-golden-files/com.telefonica.androidsnaptesting.ExampleInstrumentedTest_testEmpty.txt diff --git a/app/src/androidTestDebug/assets/loggerazzi-golden-files/com.telefonica.loggerazzi.ExampleInstrumentedTest_testSingleLog.txt b/app/src/androidTestDebug/assets/android-snaptesting-golden-files/com.telefonica.androidsnaptesting.ExampleInstrumentedTest_testIgnoreLogs.txt similarity index 100% rename from app/src/androidTestDebug/assets/loggerazzi-golden-files/com.telefonica.loggerazzi.ExampleInstrumentedTest_testSingleLog.txt rename to app/src/androidTestDebug/assets/android-snaptesting-golden-files/com.telefonica.androidsnaptesting.ExampleInstrumentedTest_testIgnoreLogs.txt diff --git a/app/src/androidTestDebug/assets/android-snaptesting-golden-files/com.telefonica.androidsnaptesting.ExampleInstrumentedTest_testIgnoreLogsWithoutGoldenFile.txt b/app/src/androidTestDebug/assets/android-snaptesting-golden-files/com.telefonica.androidsnaptesting.ExampleInstrumentedTest_testIgnoreLogsWithoutGoldenFile.txt new file mode 100644 index 0000000..fd3ea87 --- /dev/null +++ b/app/src/androidTestDebug/assets/android-snaptesting-golden-files/com.telefonica.androidsnaptesting.ExampleInstrumentedTest_testIgnoreLogsWithoutGoldenFile.txt @@ -0,0 +1 @@ +My log \ No newline at end of file diff --git a/app/src/androidTestDebug/assets/loggerazzi-golden-files/com.telefonica.loggerazzi.ExampleInstrumentedTest_testLaunchActivity.txt b/app/src/androidTestDebug/assets/android-snaptesting-golden-files/com.telefonica.androidsnaptesting.ExampleInstrumentedTest_testLaunchActivity.txt similarity index 100% rename from app/src/androidTestDebug/assets/loggerazzi-golden-files/com.telefonica.loggerazzi.ExampleInstrumentedTest_testLaunchActivity.txt rename to app/src/androidTestDebug/assets/android-snaptesting-golden-files/com.telefonica.androidsnaptesting.ExampleInstrumentedTest_testLaunchActivity.txt diff --git a/app/src/androidTestDebug/assets/loggerazzi-golden-files/com.telefonica.loggerazzi.ExampleInstrumentedTest_testMultipleLogs.txt b/app/src/androidTestDebug/assets/android-snaptesting-golden-files/com.telefonica.androidsnaptesting.ExampleInstrumentedTest_testMultipleLogs.txt similarity index 100% rename from app/src/androidTestDebug/assets/loggerazzi-golden-files/com.telefonica.loggerazzi.ExampleInstrumentedTest_testMultipleLogs.txt rename to app/src/androidTestDebug/assets/android-snaptesting-golden-files/com.telefonica.androidsnaptesting.ExampleInstrumentedTest_testMultipleLogs.txt diff --git a/app/src/androidTestDebug/assets/android-snaptesting-golden-files/com.telefonica.androidsnaptesting.ExampleInstrumentedTest_testSingleLog.txt b/app/src/androidTestDebug/assets/android-snaptesting-golden-files/com.telefonica.androidsnaptesting.ExampleInstrumentedTest_testSingleLog.txt new file mode 100644 index 0000000..fd3ea87 --- /dev/null +++ b/app/src/androidTestDebug/assets/android-snaptesting-golden-files/com.telefonica.androidsnaptesting.ExampleInstrumentedTest_testSingleLog.txt @@ -0,0 +1 @@ +My log \ No newline at end of file diff --git a/app/src/androidTestDebug/assets/loggerazzi-golden-files/com.telefonica.loggerazzi.ExampleInstrumentedTest_launch_activity.png b/app/src/androidTestDebug/assets/loggerazzi-golden-files/com.telefonica.loggerazzi.ExampleInstrumentedTest_launch_activity.png deleted file mode 100644 index b2fad07..0000000 Binary files a/app/src/androidTestDebug/assets/loggerazzi-golden-files/com.telefonica.loggerazzi.ExampleInstrumentedTest_launch_activity.png and /dev/null differ diff --git a/app/src/androidTestDebug/assets/loggerazzi-golden-files/com.telefonica.loggerazzi.ExampleInstrumentedTest_testIgnoreLoggerazzi.txt b/app/src/androidTestDebug/assets/loggerazzi-golden-files/com.telefonica.loggerazzi.ExampleInstrumentedTest_testIgnoreLoggerazzi.txt deleted file mode 100644 index 1f6b625..0000000 --- a/app/src/androidTestDebug/assets/loggerazzi-golden-files/com.telefonica.loggerazzi.ExampleInstrumentedTest_testIgnoreLoggerazzi.txt +++ /dev/null @@ -1,2 +0,0 @@ -My log -My second log \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 379edca..87bf8e0 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -10,10 +10,10 @@ android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" - android:theme="@style/Theme.Loggerazzi" + android:theme="@style/Theme.AndroidSnaptesting" tools:targetApi="31"> diff --git a/app/src/main/java/com/telefonica/loggerazzi/MainActivity.kt b/app/src/main/java/com/telefonica/androidsnaptesting/MainActivity.kt similarity index 86% rename from app/src/main/java/com/telefonica/loggerazzi/MainActivity.kt rename to app/src/main/java/com/telefonica/androidsnaptesting/MainActivity.kt index ee84562..45df068 100644 --- a/app/src/main/java/com/telefonica/loggerazzi/MainActivity.kt +++ b/app/src/main/java/com/telefonica/androidsnaptesting/MainActivity.kt @@ -1,4 +1,4 @@ -package com.telefonica.loggerazzi +package com.telefonica.androidsnaptesting import androidx.appcompat.app.AppCompatActivity import android.os.Bundle diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 17eab17..584f0b2 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -4,9 +4,10 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".MainActivity"> + tools:context="com.telefonica.androidsnaptesting.MainActivity"> + + \ No newline at end of file diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml index 5cdbe8c..046c5ea 100644 --- a/app/src/main/res/values-night/themes.xml +++ b/app/src/main/res/values-night/themes.xml @@ -1,6 +1,6 @@ - diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e5879f1..6921f3d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,3 +1,3 @@ - Loggerazzi + Android Snaptesting \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index da21726..b0032f0 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -1,9 +1,9 @@ - -