Skip to content

Commit

Permalink
Fix getSignalsMatching when passed V1 as version + minor refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
Sergey-Makarov committed May 11, 2023
1 parent 9e83d82 commit 736b8df
Show file tree
Hide file tree
Showing 5 changed files with 157 additions and 53 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ import com.fingerprintjs.android.fingerprint.Configuration
import com.fingerprintjs.android.fingerprint.Fingerprinter
import com.fingerprintjs.android.fingerprint.FingerprinterFactory
import com.fingerprintjs.android.fingerprint.signal_providers.StabilityLevel
import com.fingerprintjs.android.fingerprint.tools.FingerprintingLegacySchemeSupportExtensions.getDeviceStateSignals
import com.fingerprintjs.android.fingerprint.tools.FingerprintingLegacySchemeSupportExtensions.getHardwareSignals
import com.fingerprintjs.android.fingerprint.tools.FingerprintingLegacySchemeSupportExtensions.getInstalledAppsSignals
import com.fingerprintjs.android.fingerprint.tools.FingerprintingLegacySchemeSupportExtensions.getOsBuildSignals
import com.fingerprintjs.android.playground.utils.callbackToSync
import org.junit.Assert.*
import org.junit.Test
Expand All @@ -22,7 +26,7 @@ class InstrumentedTests {
fun testDeviceIdAvailable() {
val fingerprinter = FingerprinterFactory.create(context)
for (version in Fingerprinter.Version.values()) {
val deviceId = callbackToSync { fingerprinter.getDeviceId(version) {emit(it)} }
val deviceId = callbackToSync { fingerprinter.getDeviceId(version) { emit(it) } }
assert(deviceId.deviceId.isNotEmpty())
}
}
Expand Down Expand Up @@ -122,7 +126,7 @@ class InstrumentedTests {
}.run { assertTrue(isFailure) }

val fp = FingerprinterFactory.create(context)
runCatching { fp.getFingerprint { } }.run { assertTrue(isFailure) }
runCatching { fp.getFingerprint { } }.run { assertTrue(isFailure) }
runCatching { fp.getDeviceId { } }.run { assertTrue(isFailure) }
}

Expand Down Expand Up @@ -153,6 +157,28 @@ class InstrumentedTests {
}
}
}
}

private const val INSTRUMENTED_TESTS_TAG = "INSTRUMENTED_TESTS"
@Test
fun testFingerprintingSignalsProviderReturnsCorrectMatchingSignalsForLegacyVersions() {
val fingerprintingSignalsProvider = FingerprinterFactory.create(context).getFingerprintingSignalsProvider()
Fingerprinter.Version.values().takeWhile { it <= Fingerprinter.Version.fingerprintingGroupedSignalsLastVersion }
.forEach { version ->
StabilityLevel.values().forEach { stabilityLevel ->
val expectedLegacySignalsInfos = listOf(
fingerprintingSignalsProvider.getDeviceStateSignals(version, stabilityLevel),
fingerprintingSignalsProvider.getHardwareSignals(version, stabilityLevel),
fingerprintingSignalsProvider.getOsBuildSignals(version, stabilityLevel),
fingerprintingSignalsProvider.getInstalledAppsSignals(version, stabilityLevel),
)
.flatten()
.map { it.info }
.toSet()
val matchingSignalsInfos = fingerprintingSignalsProvider
.getSignalsMatching(version, stabilityLevel)
.map { it.info }
.toSet()
assertEquals(expectedLegacySignalsInfos, matchingSignalsInfos)
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ import com.fingerprintjs.android.fingerprint.signal_providers.StabilityLevel
*/
public sealed class FingerprintingSignal<out T> {
/**
* "Meta" information about the signal. Each signal must
* also contain a static version of this property.
* "Meta" information about the signal. Must reference
* a static version of this property which must also be exposed.
*/
public abstract val info: Info
/**
Expand Down
Loading

0 comments on commit 736b8df

Please sign in to comment.