Skip to content

Commit

Permalink
(wip) Glean metric unit tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
daoshengmu committed Dec 10, 2019
1 parent 322e109 commit 13bf658
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 1 deletion.
18 changes: 17 additions & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -291,6 +291,12 @@ android {
]
}

// test {
// java.srcDirs = [
// 'src/test'
// ]
// }

release {
manifest.srcFile getUseDebugSigningOnRelease() ? "src/debug/AndroidManifest.xml"
: manifest.srcFile
Expand Down Expand Up @@ -414,6 +420,12 @@ android {
]
}
}

// testOptions {
// unitTests {
// includeAndroidResources = true
// }
// }
}

configurations {
Expand Down Expand Up @@ -495,9 +507,13 @@ dependencies {
implementation deps.disklrucache.disklrucache

// Testing
testImplementation deps.junit
androidTestImplementation deps.atsl.runner
androidTestImplementation deps.espresso.core
testImplementation deps.junit
testImplementation deps.atsl.core
testImplementation deps.robolectric
testImplementation deps.android_components.support_test
testImplementation deps.android_components.glean_unittests

// Daydream
googlevrImplementation deps.google_vr.sdk_base
Expand Down
34 changes: 34 additions & 0 deletions app/src/test/java/org/mozilla/vrbrowser/GleanMetricsServiceTest.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package org.mozilla.vrbrowser

import androidx.test.core.app.ApplicationProvider
import mozilla.components.service.glean.Glean.initialize
import mozilla.components.service.glean.Glean.setUploadEnabled
import mozilla.components.service.glean.config.Configuration
import mozilla.components.service.glean.config.Configuration.Companion.DEFAULT_TELEMETRY_ENDPOINT
import mozilla.components.service.glean.testing.GleanTestRule
import org.junit.Assert.assertEquals
import org.junit.Rule
import org.junit.Test
import org.mozilla.vrbrowser.GleanMetrics.*


@get:Rule
val gleanRule = GleanTestRule(ApplicationProvider.getApplicationContext())

class GleanMetricsServiceTest {

@Test
fun testMetricsGathering() {
setUploadEnabled(true)
val config = Configuration(DEFAULT_TELEMETRY_ENDPOINT, BuildConfig.BUILD_TYPE)
initialize(ApplicationProvider.getApplicationContext(), config)

assert(!Url.visits.testHasValue())
Url.visits.add()
assert(Url.visits.testHasValue())
assertEquals(Url.visits.testGetValue(), 1)

assert(Url.queryType["voice_query"].testHasValue())
assertEquals(Url.queryType["voice_query"].testGetValue(), 0)
}
}
7 changes: 7 additions & 0 deletions versions.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ versions.support = "1.0.0"
versions.recyclerview = "1.1.0"
versions.constraint_layout = "2.0.0-alpha2"
versions.junit = "4.12"
versions.atsl_core = "1.2.0"
versions.atsl_runner = "1.1.0-alpha4"
versions.atsl_rules = "1.1.0-alpha4"
versions.espresso = "3.1.0-alpha4"
Expand All @@ -50,6 +51,7 @@ versions.kotlin = "1.3.31"
versions.kotlin_coroutines = "1.2.1"
versions.snakeyaml = "1.24"
versions.gson = "2.8.5"
versions.robolectric = "4.2.1"
def deps = [:]

def gecko_view = [:]
Expand All @@ -61,6 +63,7 @@ deps.gecko_view = gecko_view
def android_components = [:]
android_components.telemetry = "org.mozilla.components:service-telemetry:$versions.android_components"
android_components.glean = "org.mozilla.components:service-glean:$versions.android_components"
android_components.glean_unittests = "org.mozilla.telemetry:glean-forUnitTests:$versions.android_components"
android_components.browser_errorpages = "org.mozilla.components:browser-errorpages:$versions.android_components"
android_components.browser_search = "org.mozilla.components:browser-search:$versions.android_components"
android_components.browser_storage = "org.mozilla.components:browser-storage-sync:$versions.android_components"
Expand All @@ -71,6 +74,7 @@ android_components.concept_fetch = "org.mozilla.components:concept-fetch:$versio
android_components.lib_fetch = "org.mozilla.components:lib-fetch-httpurlconnection:$versions.android_components"
android_components.support_rustlog = "org.mozilla.components:support-rustlog:$versions.android_components"
android_components.support_rusthttp = "org.mozilla.components:support-rusthttp:$versions.android_components"
android_components.support_test = "org.mozilla.components:support-test:$versions.android_components"
deps.android_components = android_components

def app_services = [:]
Expand Down Expand Up @@ -123,6 +127,7 @@ espresso.intents = "androidx.test.espresso:espresso-intents:$versions.espresso"
deps.espresso = espresso

def atsl = [:]
atsl.core = "androidx.test:core-ktx:$versions.atsl_core"
atsl.runner = "androidx.test:runner:$versions.atsl_runner"
atsl.rules = "androidx.test:rules:$versions.atsl_runner"
deps.atsl = atsl
Expand Down Expand Up @@ -156,6 +161,8 @@ deps.snakeyaml = "org.yaml:snakeyaml:$versions.snakeyaml:android"

deps.gson = "com.google.code.gson:gson:$versions.gson"

deps.robolectric = "org.robolectric:robolectric:$versions.robolectric"

ext.deps = deps

def build_versions = [:]
Expand Down

0 comments on commit 13bf658

Please sign in to comment.