Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(292)

Unified Diff: components/gcm_driver/instance_id/android/javatests/src/org/chromium/components/gcm_driver/instance_id/FakeInstanceIDWithSubtype.java

Issue 1851423003: Make Web Push use InstanceID tokens instead of GCM registrations (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@iid4default
Patch Set: Rebase Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/gcm_driver/instance_id/android/javatests/src/org/chromium/components/gcm_driver/instance_id/FakeInstanceIDWithSubtype.java
diff --git a/components/gcm_driver/instance_id/android/javatests/src/org/chromium/components/gcm_driver/instance_id/FakeInstanceIDWithSubtype.java b/components/gcm_driver/instance_id/android/javatests/src/org/chromium/components/gcm_driver/instance_id/FakeInstanceIDWithSubtype.java
index adb69823443786366718ac14b0c38678bfc7c6d9..733b3dde60a46b02dad39731329270d18e18360b 100644
--- a/components/gcm_driver/instance_id/android/javatests/src/org/chromium/components/gcm_driver/instance_id/FakeInstanceIDWithSubtype.java
+++ b/components/gcm_driver/instance_id/android/javatests/src/org/chromium/components/gcm_driver/instance_id/FakeInstanceIDWithSubtype.java
@@ -7,6 +7,7 @@ package org.chromium.components.gcm_driver.instance_id;
import android.content.Context;
import android.os.Bundle;
import android.os.Looper;
+import android.util.Pair;
import com.google.android.gms.iid.InstanceID;
@@ -27,6 +28,8 @@ import java.util.Random;
public class FakeInstanceIDWithSubtype extends InstanceIDWithSubtype {
private String mId = null;
private long mCreationTime = 0;
+
+ /** Map from (subtype + ',' + authorizedEntity + ',' + scope) to token. */
private Map<String, String> mTokens = new HashMap<>();
/**
@@ -52,6 +55,30 @@ public class FakeInstanceIDWithSubtype extends InstanceIDWithSubtype {
}
}
+ /**
+ * If exactly one instance of InstanceID exists, and it has exactly one token, this returns
+ * the subtype of the InstanceID and the authorizedEntity of the token. Otherwise it throws.
+ * If a test fails with no InstanceID or no tokens, it probably means subscribing failed, or
+ * that the test subscribed in the wrong way (e.g. a GCM registration rather than an InstanceID
+ * token). If a test fails with too many InstanceIDs/tokens, the test subscribed too many times.
+ */
+ public static Pair<String, String> getSubtypeAndAuthorizedEntityOfOnlyToken() {
+ if (InstanceIDWithSubtype.sSubtypeInstances.size() != 1) {
+ throw new IllegalStateException("Expected exactly one InstanceID, but there are "
+ + InstanceIDWithSubtype.sSubtypeInstances.size());
+ }
+ FakeInstanceIDWithSubtype iid =
+ (FakeInstanceIDWithSubtype) InstanceIDWithSubtype.sSubtypeInstances.values()
+ .iterator()
+ .next();
+ if (iid.mTokens.size() != 1) {
+ throw new IllegalStateException(
+ "Expected exactly one token, but there are " + iid.mTokens.size());
+ }
+ String authorizedEntity = iid.mTokens.keySet().iterator().next().split(",", 3)[1];
+ return Pair.create(iid.getSubtype(), authorizedEntity);
+ }
+
private FakeInstanceIDWithSubtype(Context context, String subtype) {
super(context, subtype);

Powered by Google App Engine
This is Rietveld 408576698