You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by el...@apache.org on 2018/10/05 19:54:34 UTC

[trafficcontrol] 04/05: Add unit test for parsing localizationMethods from CRConfig

This is an automated email from the ASF dual-hosted git repository.

elsloo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git

commit 4d3a4430e35bdd26e6e5eb33908ee47efa5abdc1
Author: Rawlin Peters <ra...@comcast.com>
AuthorDate: Thu Oct 4 15:41:14 2018 -0600

    Add unit test for parsing localizationMethods from CRConfig
---
 .../core/config/ConfigHandlerTest.java             | 41 ++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/traffic_router/core/src/test/java/com/comcast/cdn/traffic_control/traffic_router/core/config/ConfigHandlerTest.java b/traffic_router/core/src/test/java/com/comcast/cdn/traffic_control/traffic_router/core/config/ConfigHandlerTest.java
index 0fde4a5..dcb47ad 100644
--- a/traffic_router/core/src/test/java/com/comcast/cdn/traffic_control/traffic_router/core/config/ConfigHandlerTest.java
+++ b/traffic_router/core/src/test/java/com/comcast/cdn/traffic_control/traffic_router/core/config/ConfigHandlerTest.java
@@ -15,9 +15,15 @@
 
 package com.comcast.cdn.traffic_control.traffic_router.core.config;
 
+import java.util.Arrays;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.Map;
+import java.util.Set;
 
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.comcast.cdn.traffic_control.traffic_router.core.cache.CacheLocation.LocalizationMethod;
 import com.comcast.cdn.traffic_control.traffic_router.core.request.HTTPRequest;
 import org.junit.Before;
 import org.junit.Test;
@@ -241,4 +247,39 @@ public class ConfigHandlerTest {
         assertThat(urlType[0], equalTo("DS_URL"));
         assertThat(typeUrl[0], equalTo(path));
     }
+
+    @Test
+    public void testParseLocalizationMethods() throws Exception {
+        LocalizationMethod[] allMethods = new LocalizationMethod[] {
+                LocalizationMethod.CZ,
+                LocalizationMethod.DEEP_CZ,
+                LocalizationMethod.GEO,
+        };
+        Set<LocalizationMethod> expected = new HashSet<>();
+        expected.addAll(Arrays.asList(allMethods));
+
+        ObjectMapper mapper = new ObjectMapper();
+
+        String allMethodsString = "{\"localizationMethods\": [\"CZ\",\"DEEP_CZ\",\"GEO\"]}";
+        JsonNode allMethodsJson = mapper.readTree(allMethodsString);
+        Set<LocalizationMethod> actual = Whitebox.invokeMethod(handler, "parseLocalizationMethods", "foo", allMethodsJson);
+        assertThat(actual, equalTo(expected));
+
+        String noMethodsString = "{}";
+        JsonNode noMethodsJson = mapper.readTree(noMethodsString);
+        actual = Whitebox.invokeMethod(handler, "parseLocalizationMethods", "foo", noMethodsJson);
+        assertThat(actual, equalTo(expected));
+
+        String nullMethodsString = "{\"localizationMethods\": null}";
+        JsonNode nullMethodsJson = mapper.readTree(nullMethodsString);
+        actual = Whitebox.invokeMethod(handler, "parseLocalizationMethods", "foo", nullMethodsJson);
+        assertThat(actual, equalTo(expected));
+
+        String CZMethodsString = "{\"localizationMethods\": [\"CZ\"]}";
+        JsonNode CZMethodsJson = mapper.readTree(CZMethodsString);
+        expected.clear();
+        expected.add(LocalizationMethod.CZ);
+        actual = Whitebox.invokeMethod(handler, "parseLocalizationMethods", "foo", CZMethodsJson);
+        assertThat(actual, equalTo(expected));
+    }
 }