summaryrefslogtreecommitdiff
path: root/adservices/tests/unittest/service-core/src/com/android/adservices/service/measurement/registration/FetcherUtilTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'adservices/tests/unittest/service-core/src/com/android/adservices/service/measurement/registration/FetcherUtilTest.java')
-rw-r--r--adservices/tests/unittest/service-core/src/com/android/adservices/service/measurement/registration/FetcherUtilTest.java54
1 files changed, 39 insertions, 15 deletions
diff --git a/adservices/tests/unittest/service-core/src/com/android/adservices/service/measurement/registration/FetcherUtilTest.java b/adservices/tests/unittest/service-core/src/com/android/adservices/service/measurement/registration/FetcherUtilTest.java
index 4a76028b79..07af7b36a5 100644
--- a/adservices/tests/unittest/service-core/src/com/android/adservices/service/measurement/registration/FetcherUtilTest.java
+++ b/adservices/tests/unittest/service-core/src/com/android/adservices/service/measurement/registration/FetcherUtilTest.java
@@ -32,6 +32,8 @@ import android.net.Uri;
import androidx.test.filters.SmallTest;
import com.android.adservices.service.Flags;
+import com.android.adservices.service.measurement.AsyncRegistration;
+import com.android.adservices.service.measurement.util.AsyncRedirect;
import com.android.adservices.service.stats.AdServicesLogger;
import com.android.adservices.service.stats.MeasurementRegistrationResponseStats;
@@ -82,27 +84,49 @@ public final class FetcherUtilTest {
}
@Test
- public void testParseRedirectsNothingInitial() {
- List<Uri> redirs = FetcherUtil.parseRedirects(Map.of());
- assertEquals(0, redirs.size());
+ public void parseRedirects_noRedirectHeaders_returnsEmpty() {
+ AsyncRedirect asyncRedirect = FetcherUtil.parseRedirects(
+ Map.of(), AsyncRegistration.RedirectType.ANY);
+ assertEquals(AsyncRegistration.RedirectType.NONE, asyncRedirect.getRedirectType());
+ assertEquals(0, asyncRedirect.getRedirects().size());
}
@Test
- public void testParseRedirectsARR() {
- List<Uri> redirs =
- FetcherUtil.parseRedirects(
- Map.of("Attribution-Reporting-Redirect", List.of("foo.com", "bar.com")));
- assertEquals(2, redirs.size());
- assertEquals(Uri.parse("foo.com"), redirs.get(0));
- assertEquals(Uri.parse("bar.com"), redirs.get(1));
+ public void parseRedirects_bothHeaderTypes_choosesListType() {
+ AsyncRedirect asyncRedirect = FetcherUtil.parseRedirects(
+ Map.of(
+ "Attribution-Reporting-Redirect", List.of("foo.test", "bar.test"),
+ "Location", List.of("baz.test")),
+ AsyncRegistration.RedirectType.ANY);
+ assertEquals(AsyncRegistration.RedirectType.NONE, asyncRedirect.getRedirectType());
+ List<Uri> redirects = asyncRedirect.getRedirects();
+ assertEquals(2, redirects.size());
+ assertEquals(Uri.parse("foo.test"), redirects.get(0));
+ assertEquals(Uri.parse("bar.test"), redirects.get(1));
}
@Test
- public void testParseRedirectsSingleElementARR() {
- List<Uri> redirs =
- FetcherUtil.parseRedirects(
- Map.of("Attribution-Reporting-Redirect", List.of("foo.com")));
- assertEquals(1, redirs.size());
+ public void parseRedirects_locationHeaderOnly_choosesLocationType() {
+ AsyncRedirect asyncRedirect = FetcherUtil.parseRedirects(
+ Map.of("Location", List.of("foo.test")),
+ AsyncRegistration.RedirectType.ANY);
+ assertEquals(AsyncRegistration.RedirectType.DAISY_CHAIN, asyncRedirect.getRedirectType());
+ List<Uri> redirects = asyncRedirect.getRedirects();
+ assertEquals(1, redirects.size());
+ assertEquals(Uri.parse("foo.test"), redirects.get(0));
+ }
+
+ @Test
+ public void parseRedirects_bothHeaderTypes_providedLocationType_choosesLocationType() {
+ AsyncRedirect asyncRedirect = FetcherUtil.parseRedirects(
+ Map.of(
+ "Attribution-Reporting-Redirect", List.of("foo.test", "bar.test"),
+ "Location", List.of("baz.test")),
+ AsyncRegistration.RedirectType.DAISY_CHAIN);
+ assertEquals(AsyncRegistration.RedirectType.DAISY_CHAIN, asyncRedirect.getRedirectType());
+ List<Uri> redirects = asyncRedirect.getRedirects();
+ assertEquals(1, redirects.size());
+ assertEquals(Uri.parse("baz.test"), redirects.get(0));
}
@Test