### Question:
OfferRequest { public static OfferRequest of(String url) throws InfoJobsAPIException { List<NameValuePair> params = new ArrayList<>(); try { params = URLEncodedUtils.parse(new URI(url), "UTF-8"); } catch (URISyntaxException e) { l.error("Failed to build URI", e); throw new InfoJobsAPIException("Invalid URL " + url); } NameValuePair key = params.stream() .filter(nvp -> nvp.getName().equalsIgnoreCase("of_codigo")) .findFirst() .orElse(new BasicNameValuePair("of_codigo", StringUtils.right(url, 30))); return new OfferRequest(key); } OfferRequest(NameValuePair nvp);  OfferRequest(String key); static OfferRequest of(String url); Optional<Offer> execute(); String getKey();  }### Answer:
@Test public void of() { List<NameValuePair> valids = Arrays.asList(new BasicNameValuePair[]{ new BasicNameValuePair("191f3a359148338652264596490a9c","https: new BasicNameValuePair("191f3a359148338652264596490a9c", "https: new BasicNameValuePair("e258722fe746dd97a3762545bc2046", "https: }); valids.forEach(nvp -> testValidURL(nvp.getValue(), nvp.getName())); }