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

Side by Side Diff: chrome/android/junit/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinderTest.java

Issue 2850503002: Enable "interledger" non-URI payment method. (Closed)
Patch Set: Ganggui's comment Created 3 years, 7 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 unified diff | Download patch
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinder.java ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.payments; 5 package org.chromium.chrome.browser.payments;
6 6
7 import android.content.Intent; 7 import android.content.Intent;
8 import android.content.pm.ActivityInfo; 8 import android.content.pm.ActivityInfo;
9 import android.content.pm.ApplicationInfo; 9 import android.content.pm.ApplicationInfo;
10 import android.content.pm.PackageInfo; 10 import android.content.pm.PackageInfo;
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 Mockito.verify(callback).onAllPaymentAppsCreated(); 83 Mockito.verify(callback).onAllPaymentAppsCreated();
84 } 84 }
85 85
86 @Test 86 @Test
87 public void testQueryWithoutApps() { 87 public void testQueryWithoutApps() {
88 PackageManagerDelegate packageManagerDelegate = Mockito.mock(PackageMana gerDelegate.class); 88 PackageManagerDelegate packageManagerDelegate = Mockito.mock(PackageMana gerDelegate.class);
89 Mockito.when(packageManagerDelegate.getActivitiesThatCanRespondToIntentW ithMetaData( 89 Mockito.when(packageManagerDelegate.getActivitiesThatCanRespondToIntentW ithMetaData(
90 ArgumentMatchers.argThat(sPayIntentArgumentMatcher) )) 90 ArgumentMatchers.argThat(sPayIntentArgumentMatcher) ))
91 .thenReturn(new ArrayList<ResolveInfo>()); 91 .thenReturn(new ArrayList<ResolveInfo>());
92 Set<String> methodNames = new HashSet<>(); 92 Set<String> methodNames = new HashSet<>();
93 methodNames.add(AndroidPaymentAppFinder.BASIC_CARD_PAYMENT_METHOD); 93 methodNames.add("basic-card");
94 PaymentAppCreatedCallback callback = Mockito.mock(PaymentAppCreatedCallb ack.class); 94 PaymentAppCreatedCallback callback = Mockito.mock(PaymentAppCreatedCallb ack.class);
95 95
96 AndroidPaymentAppFinder.find(Mockito.mock(WebContents.class), methodName s, 96 AndroidPaymentAppFinder.find(Mockito.mock(WebContents.class), methodName s,
97 Mockito.mock(PaymentManifestDownloader.class), 97 Mockito.mock(PaymentManifestDownloader.class),
98 Mockito.mock(PaymentManifestParser.class), packageManagerDelegat e, callback); 98 Mockito.mock(PaymentManifestParser.class), packageManagerDelegat e, callback);
99 99
100 Mockito.verify(packageManagerDelegate, Mockito.never()) 100 Mockito.verify(packageManagerDelegate, Mockito.never())
101 .getResourcesForApplication(ArgumentMatchers.anyObject()); 101 .getResourcesForApplication(ArgumentMatchers.anyObject());
102 Mockito.verify(callback, Mockito.never()) 102 Mockito.verify(callback, Mockito.never())
103 .onPaymentAppCreated(Mockito.any(PaymentApp.class)); 103 .onPaymentAppCreated(Mockito.any(PaymentApp.class));
104 Mockito.verify(callback).onAllPaymentAppsCreated(); 104 Mockito.verify(callback).onAllPaymentAppsCreated();
105 } 105 }
106 106
107 @Test 107 @Test
108 public void testQueryWithoutMetaData() { 108 public void testQueryWithoutMetaData() {
109 List<ResolveInfo> activities = new ArrayList<>(); 109 List<ResolveInfo> activities = new ArrayList<>();
110 ResolveInfo alicePay = new ResolveInfo(); 110 ResolveInfo alicePay = new ResolveInfo();
111 alicePay.activityInfo = new ActivityInfo(); 111 alicePay.activityInfo = new ActivityInfo();
112 alicePay.activityInfo.packageName = "com.alicepay.app"; 112 alicePay.activityInfo.packageName = "com.alicepay.app";
113 alicePay.activityInfo.name = "com.alicepay.app.WebPaymentActivity"; 113 alicePay.activityInfo.name = "com.alicepay.app.WebPaymentActivity";
114 activities.add(alicePay); 114 activities.add(alicePay);
115 115
116 PackageManagerDelegate packageManagerDelegate = Mockito.mock(PackageMana gerDelegate.class); 116 PackageManagerDelegate packageManagerDelegate = Mockito.mock(PackageMana gerDelegate.class);
117 Mockito.when(packageManagerDelegate.getActivitiesThatCanRespondToIntentW ithMetaData( 117 Mockito.when(packageManagerDelegate.getActivitiesThatCanRespondToIntentW ithMetaData(
118 ArgumentMatchers.argThat(sPayIntentArgumentMatcher) )) 118 ArgumentMatchers.argThat(sPayIntentArgumentMatcher) ))
119 .thenReturn(activities); 119 .thenReturn(activities);
120 120
121 Set<String> methodNames = new HashSet<>(); 121 Set<String> methodNames = new HashSet<>();
122 methodNames.add(AndroidPaymentAppFinder.BASIC_CARD_PAYMENT_METHOD); 122 methodNames.add("basic-card");
123 PaymentAppCreatedCallback callback = Mockito.mock(PaymentAppCreatedCallb ack.class); 123 PaymentAppCreatedCallback callback = Mockito.mock(PaymentAppCreatedCallb ack.class);
124 124
125 AndroidPaymentAppFinder.find(Mockito.mock(WebContents.class), methodName s, 125 AndroidPaymentAppFinder.find(Mockito.mock(WebContents.class), methodName s,
126 Mockito.mock(PaymentManifestDownloader.class), 126 Mockito.mock(PaymentManifestDownloader.class),
127 Mockito.mock(PaymentManifestParser.class), packageManagerDelegat e, callback); 127 Mockito.mock(PaymentManifestParser.class), packageManagerDelegat e, callback);
128 128
129 Mockito.verify(packageManagerDelegate, Mockito.never()) 129 Mockito.verify(packageManagerDelegate, Mockito.never())
130 .getResourcesForApplication(ArgumentMatchers.anyObject()); 130 .getResourcesForApplication(ArgumentMatchers.anyObject());
131 Mockito.verify(callback, Mockito.never()) 131 Mockito.verify(callback, Mockito.never())
132 .onPaymentAppCreated(Mockito.any(PaymentApp.class)); 132 .onPaymentAppCreated(Mockito.any(PaymentApp.class));
(...skipping 13 matching lines...) Expand all
146 "https://alicepay.com"); 146 "https://alicepay.com");
147 alicePay.activityInfo.metaData = activityMetaData; 147 alicePay.activityInfo.metaData = activityMetaData;
148 activities.add(alicePay); 148 activities.add(alicePay);
149 149
150 PackageManagerDelegate packageManagerDelegate = Mockito.mock(PackageMana gerDelegate.class); 150 PackageManagerDelegate packageManagerDelegate = Mockito.mock(PackageMana gerDelegate.class);
151 Mockito.when(packageManagerDelegate.getActivitiesThatCanRespondToIntentW ithMetaData( 151 Mockito.when(packageManagerDelegate.getActivitiesThatCanRespondToIntentW ithMetaData(
152 ArgumentMatchers.argThat(sPayIntentArgumentMatcher) )) 152 ArgumentMatchers.argThat(sPayIntentArgumentMatcher) ))
153 .thenReturn(activities); 153 .thenReturn(activities);
154 154
155 Set<String> methodNames = new HashSet<>(); 155 Set<String> methodNames = new HashSet<>();
156 methodNames.add(AndroidPaymentAppFinder.BASIC_CARD_PAYMENT_METHOD); 156 methodNames.add("basic-card");
157 PaymentAppCreatedCallback callback = Mockito.mock(PaymentAppCreatedCallb ack.class); 157 PaymentAppCreatedCallback callback = Mockito.mock(PaymentAppCreatedCallb ack.class);
158 158
159 AndroidPaymentAppFinder.find(Mockito.mock(WebContents.class), methodName s, 159 AndroidPaymentAppFinder.find(Mockito.mock(WebContents.class), methodName s,
160 Mockito.mock(PaymentManifestDownloader.class), 160 Mockito.mock(PaymentManifestDownloader.class),
161 Mockito.mock(PaymentManifestParser.class), packageManagerDelegat e, callback); 161 Mockito.mock(PaymentManifestParser.class), packageManagerDelegat e, callback);
162 162
163 Mockito.verify(packageManagerDelegate, Mockito.never()) 163 Mockito.verify(packageManagerDelegate, Mockito.never())
164 .getResourcesForApplication(ArgumentMatchers.anyObject()); 164 .getResourcesForApplication(ArgumentMatchers.anyObject());
165 Mockito.verify(callback, Mockito.never()) 165 Mockito.verify(callback, Mockito.never())
166 .onPaymentAppCreated(Mockito.any(PaymentApp.class)); 166 .onPaymentAppCreated(Mockito.any(PaymentApp.class));
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 Mockito.when(packageManagerDelegate.getActivitiesThatCanRespondToIntentW ithMetaData( 202 Mockito.when(packageManagerDelegate.getActivitiesThatCanRespondToIntentW ithMetaData(
203 ArgumentMatchers.argThat(sPayIntentArgumentMatcher) )) 203 ArgumentMatchers.argThat(sPayIntentArgumentMatcher) ))
204 .thenReturn(activities); 204 .thenReturn(activities);
205 Mockito.when(packageManagerDelegate.getServicesThatCanRespondToIntent( 205 Mockito.when(packageManagerDelegate.getServicesThatCanRespondToIntent(
206 ArgumentMatchers.argThat(new IntentArgumentMatcher( 206 ArgumentMatchers.argThat(new IntentArgumentMatcher(
207 new Intent(AndroidPaymentAppFinder.ACTION_I S_READY_TO_PAY))))) 207 new Intent(AndroidPaymentAppFinder.ACTION_I S_READY_TO_PAY)))))
208 .thenReturn(new ArrayList<ResolveInfo>()); 208 .thenReturn(new ArrayList<ResolveInfo>());
209 209
210 Resources resouces = Mockito.mock(Resources.class); 210 Resources resouces = Mockito.mock(Resources.class);
211 Mockito.when(resouces.getStringArray(ArgumentMatchers.eq(1))) 211 Mockito.when(resouces.getStringArray(ArgumentMatchers.eq(1)))
212 .thenReturn(new String[] { 212 .thenReturn(new String[] {"https://alicepay.com", "basic-card"}) ;
213 "https://alicepay.com", AndroidPaymentAppFinder.BASIC_CA RD_PAYMENT_METHOD});
214 Mockito.when(resouces.getStringArray(ArgumentMatchers.eq(2))) 213 Mockito.when(resouces.getStringArray(ArgumentMatchers.eq(2)))
215 .thenReturn(new String[] { 214 .thenReturn(new String[] {"https://bobpay.com", "basic-card"});
216 "https://bobpay.com", AndroidPaymentAppFinder.BASIC_CARD _PAYMENT_METHOD});
217 215
218 Mockito.when(packageManagerDelegate.getResourcesForApplication( 216 Mockito.when(packageManagerDelegate.getResourcesForApplication(
219 ArgumentMatchers.eq(alicePay.activityInfo.applicati onInfo))) 217 ArgumentMatchers.eq(alicePay.activityInfo.applicati onInfo)))
220 .thenReturn(resouces); 218 .thenReturn(resouces);
221 Mockito.when(packageManagerDelegate.getResourcesForApplication( 219 Mockito.when(packageManagerDelegate.getResourcesForApplication(
222 ArgumentMatchers.eq(bobPay.activityInfo.application Info))) 220 ArgumentMatchers.eq(bobPay.activityInfo.application Info)))
223 .thenReturn(resouces); 221 .thenReturn(resouces);
224 222
225 Set<String> methodNames = new HashSet<>(); 223 Set<String> methodNames = new HashSet<>();
226 methodNames.add(AndroidPaymentAppFinder.BASIC_CARD_PAYMENT_METHOD); 224 methodNames.add("basic-card");
227 PaymentAppCreatedCallback callback = Mockito.mock(PaymentAppCreatedCallb ack.class); 225 PaymentAppCreatedCallback callback = Mockito.mock(PaymentAppCreatedCallb ack.class);
228 226
229 AndroidPaymentAppFinder.find(Mockito.mock(WebContents.class), methodName s, 227 AndroidPaymentAppFinder.find(Mockito.mock(WebContents.class), methodName s,
230 Mockito.mock(PaymentManifestDownloader.class), 228 Mockito.mock(PaymentManifestDownloader.class),
231 Mockito.mock(PaymentManifestParser.class), packageManagerDelegat e, callback); 229 Mockito.mock(PaymentManifestParser.class), packageManagerDelegat e, callback);
232 230
233 Mockito.verify(callback).onPaymentAppCreated( 231 Mockito.verify(callback).onPaymentAppCreated(
234 ArgumentMatchers.argThat(Matches.paymentAppIdentifier("com.alice pay.app"))); 232 ArgumentMatchers.argThat(Matches.paymentAppIdentifier("com.alice pay.app")));
235 Mockito.verify(callback).onPaymentAppCreated( 233 Mockito.verify(callback).onPaymentAppCreated(
236 ArgumentMatchers.argThat(Matches.paymentAppIdentifier("com.bobpa y.app"))); 234 ArgumentMatchers.argThat(Matches.paymentAppIdentifier("com.bobpa y.app")));
(...skipping 18 matching lines...) Expand all
255 253
256 PackageManagerDelegate packageManagerDelegate = Mockito.mock(PackageMana gerDelegate.class); 254 PackageManagerDelegate packageManagerDelegate = Mockito.mock(PackageMana gerDelegate.class);
257 Mockito.when(packageManagerDelegate.getAppLabel(Mockito.any(ResolveInfo. class))) 255 Mockito.when(packageManagerDelegate.getAppLabel(Mockito.any(ResolveInfo. class)))
258 .thenReturn("A non-empty label"); 256 .thenReturn("A non-empty label");
259 Mockito.when(packageManagerDelegate.getActivitiesThatCanRespondToIntentW ithMetaData( 257 Mockito.when(packageManagerDelegate.getActivitiesThatCanRespondToIntentW ithMetaData(
260 ArgumentMatchers.argThat(sPayIntentArgumentMatcher) )) 258 ArgumentMatchers.argThat(sPayIntentArgumentMatcher) ))
261 .thenReturn(activities); 259 .thenReturn(activities);
262 260
263 Resources resouces = Mockito.mock(Resources.class); 261 Resources resouces = Mockito.mock(Resources.class);
264 Mockito.when(resouces.getStringArray(ArgumentMatchers.eq(1))) 262 Mockito.when(resouces.getStringArray(ArgumentMatchers.eq(1)))
265 .thenReturn(new String[] { 263 .thenReturn(new String[] {"https://bobpay.com", "basic-card"});
266 "https://bobpay.com", AndroidPaymentAppFinder.BASIC_CARD _PAYMENT_METHOD});
267 264
268 Mockito.when(packageManagerDelegate.getResourcesForApplication( 265 Mockito.when(packageManagerDelegate.getResourcesForApplication(
269 ArgumentMatchers.eq(bobPay.activityInfo.application Info))) 266 ArgumentMatchers.eq(bobPay.activityInfo.application Info)))
270 .thenReturn(resouces); 267 .thenReturn(resouces);
271 268
272 List<ResolveInfo> services = new ArrayList<>(); 269 List<ResolveInfo> services = new ArrayList<>();
273 ResolveInfo isBobPayReadyToPay = new ResolveInfo(); 270 ResolveInfo isBobPayReadyToPay = new ResolveInfo();
274 isBobPayReadyToPay.serviceInfo = new ServiceInfo(); 271 isBobPayReadyToPay.serviceInfo = new ServiceInfo();
275 isBobPayReadyToPay.serviceInfo.packageName = "com.bobpay.app"; 272 isBobPayReadyToPay.serviceInfo.packageName = "com.bobpay.app";
276 isBobPayReadyToPay.serviceInfo.name = "com.bobpay.app.IsReadyToWebPay"; 273 isBobPayReadyToPay.serviceInfo.name = "com.bobpay.app.IsReadyToWebPay";
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
363 String expectedAppIdentifier) { 360 String expectedAppIdentifier) {
364 return new Matches(expectedAppIdentifier); 361 return new Matches(expectedAppIdentifier);
365 } 362 }
366 363
367 @Override 364 @Override
368 public boolean matches(PaymentApp app) { 365 public boolean matches(PaymentApp app) {
369 return app.getAppIdentifier().equals(mExpectedAppIdentifier); 366 return app.getAppIdentifier().equals(mExpectedAppIdentifier);
370 } 367 }
371 } 368 }
372 } 369 }
OLDNEW
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinder.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698