package com.mozu.api.utils; import static org.junit.Assert.*; import org.joda.time.DateTime; import org.joda.time.DateTimeZone; import org.junit.Test; public class UrlFormatterTest { @Test public void testUrlFormat () { UrlFormatter formatter = new UrlFormatter("/api/commerce/catalog/storefront/products/{productId}/locationinventory?filter={filter}&searchFilter={searchFilter}") ; formatter.formatUrl("productId", "Lowrise pants-002"); formatter.formatUrl("filter", "id eq 1111"); formatter.formatUrl("searchFilter", null); assertEquals ("/api/commerce/catalog/storefront/products/Lowrise%20pants-002/locationinventory?filter=id%20eq%201111", formatter.getResourceUrl()); } @Test public void testUrlFormat2 () { UrlFormatter formatter = new UrlFormatter("/api/commerce/catalog/storefront/products/{productId}/locationinventory?filter={filter}&searchFilter={searchFilter}") ; formatter.formatUrl("productId", "Lowrise pants-002"); formatter.formatUrl("filter", null); formatter.formatUrl("searchFilter", null); assertEquals ("/api/commerce/catalog/storefront/products/Lowrise%20pants-002/locationinventory", formatter.getResourceUrl()); } @Test public void testUrlFormat3 () { UrlFormatter formatter = new UrlFormatter("/api/commerce/catalog/storefront/products/{productId}/locationinventory?filter={filter}&searchFilter={searchFilter}") ; formatter.formatUrl("productId", "Lowrise pants-002"); formatter.formatUrl("filter", "id eq 1111"); formatter.formatUrl("searchFilter", "ratings > 3.5"); assertEquals ("/api/commerce/catalog/storefront/products/Lowrise%20pants-002/locationinventory?filter=id%20eq%201111&searchfilter=ratings%20%3E%203.5", formatter.getResourceUrl()); } @Test public void testUrlFormat4 () { UrlFormatter formatter = new UrlFormatter("/api/commerce/catalog/storefront/products/{productId}/locationinventory?filter={filter}&searchFilter={searchFilter}") ; formatter.formatUrl("productId", "Lowrise pants-002"); formatter.formatUrl("filter", null); formatter.formatUrl("searchFilter", "ratings > 3.5"); assertEquals ("/api/commerce/catalog/storefront/products/Lowrise%20pants-002/locationinventory?searchfilter=ratings%20%3E%203.5", formatter.getResourceUrl()); } @Test public void testUrlFormatDateTime () { UrlFormatter formatter = new UrlFormatter("/api/commerce/catalog/storefront/products/{productId}/locationinventory?filter={filter}&startTime={startTime}&searchFilter={searchFilter}") ; formatter.formatUrl("productId", "Lowrise pants-002"); formatter.formatUrl("filter", null); formatter.formatUrl("startTime", new DateTime(2016, 3, 2, 15, 39, DateTimeZone.UTC)); formatter.formatUrl("searchFilter", null); assertEquals ("/api/commerce/catalog/storefront/products/Lowrise%20pants-002/locationinventory?starttime=2016-03-02T15%3A39%3A00.000Z", formatter.getResourceUrl()); } }