Merge branch 'feature/v4' into 'master'

Adding implementation for alt images

See merge request amatos/rest-countries!58
This commit is contained in:
Alejandro Matos
2023-01-30 17:23:07 +00:00
6 changed files with 26612 additions and 26616 deletions
@@ -1,15 +1,11 @@
package dev.amatos.restcountries.controller; package dev.amatos.restcountries.controller;
import static dev.amatos.restcountries.utils.Constants.CACHE_CONTROL_VALUE;
import static io.micronaut.http.HttpHeaders.CACHE_CONTROL;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.JsonArray; import com.google.gson.JsonArray;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.google.gson.JsonParser; import com.google.gson.JsonParser;
import dev.amatos.restcountries.domain.ICountryRestSymbols; import dev.amatos.restcountries.domain.ICountryRestSymbols;
import dev.amatos.restcountries.domain.base.BaseCountry; import dev.amatos.restcountries.domain.base.BaseCountry;
import io.micronaut.http.HttpResponse;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
@@ -122,6 +118,7 @@ public class ControllerV3Helper {
"coatOfArms", "coatOfArms",
"startOfWeek", "startOfWeek",
"capitalInfo", "capitalInfo",
"postalCode" "postalCode",
"capital"
}; };
} }
@@ -1,5 +1,6 @@
package dev.amatos.restcountries.domain.base; package dev.amatos.restcountries.domain.base;
import java.util.List;
import java.util.Map; import java.util.Map;
public class Name { public class Name {
@@ -7,6 +8,8 @@ public class Name {
private String official; private String official;
private Map<String, NativeName> nativeName; private Map<String, NativeName> nativeName;
private List<String> altSpellings;
public String getCommon() { public String getCommon() {
return common; return common;
} }
@@ -31,4 +34,12 @@ public class Name {
Map<String, NativeName> nativeName) { Map<String, NativeName> nativeName) {
this.nativeName = nativeName; this.nativeName = nativeName;
} }
public List<String> getAltSpellings() {
return altSpellings;
}
public void setAltSpellings(List<String> altSpellings) {
this.altSpellings = altSpellings;
}
} }
@@ -3,6 +3,7 @@ package dev.amatos.restcountries.domain.v3.v31;
public class Flag { public class Flag {
private String png; private String png;
private String svg; private String svg;
private String alt;
public String getPng() { public String getPng() {
return png; return png;
@@ -19,4 +20,12 @@ public class Flag {
public void setSvg(String svg) { public void setSvg(String svg) {
this.svg = svg; this.svg = svg;
} }
public String getAlt() {
return alt;
}
public void setAlt(String alt) {
this.alt = alt;
}
} }
+1 -1
View File
@@ -8015,7 +8015,7 @@
{ {
"iso639_1": "kl", "iso639_1": "kl",
"iso639_2": "kal", "iso639_2": "kal",
"name": "Kalaallisut", "name": "Greenlandic",
"nativeName": "kalaallisut" "nativeName": "kalaallisut"
} }
], ],
File diff suppressed because it is too large Load Diff
@@ -19,9 +19,8 @@ class RestCountriesV31Test {
void getByAlpha() { void getByAlpha() {
var countries = CountryServiceV31.getInstance().getByAlpha("CO"); var countries = CountryServiceV31.getInstance().getByAlpha("CO");
Assertions.assertFalse(countries.isEmpty()); Assertions.assertFalse(countries.isEmpty());
countries.forEach(country -> { Assertions.assertEquals("Colombia",
Assertions.assertEquals("CO", country.getCca2()); countries.stream().findFirst().map(country -> country.getName().getCommon()).orElseThrow());
});
} }
@Test @Test
@@ -34,9 +33,8 @@ class RestCountriesV31Test {
void getCountryByName() { void getCountryByName() {
var countries = CountryServiceV31.getInstance().getByName("Peru", false); var countries = CountryServiceV31.getInstance().getByName("Peru", false);
Assertions.assertFalse(countries.isEmpty()); Assertions.assertFalse(countries.isEmpty());
countries.forEach(country -> { Assertions.assertEquals("Peru",
Assertions.assertEquals("Peru", country.getName().getCommon()); countries.stream().findFirst().map(country -> country.getName().getCommon()).orElseThrow());
});
} }
@Test @Test
@@ -45,12 +43,12 @@ class RestCountriesV31Test {
Assertions.assertNotNull(countries); Assertions.assertNotNull(countries);
Assertions.assertFalse(countries.isEmpty()); Assertions.assertFalse(countries.isEmpty());
Assertions.assertEquals(3, countries.size()); Assertions.assertEquals(3, countries.size());
var result = countries.stream().allMatch(country ->
for (var country : countries) { country.getName().getCommon().contains("Peru") ||
Assertions.assertTrue( country.getName().getCommon().contains("Netherlands") ||
country.getCca2().equals("PE") || country.getCca2().equals("NL") || country.getCca2() country.getName().getCommon().contains("German")
.equals("DE")); );
} Assertions.assertTrue(result);
} }
@Test @Test
@@ -65,21 +63,20 @@ class RestCountriesV31Test {
@Test @Test
void getByCapital() { void getByCapital() {
var countries = CountryServiceV31.getInstance().getByCapital("Helsinki"); var countries = CountryServiceV31.getInstance().getByCapital("Helsinki");
var result = countries.stream()
.anyMatch(country -> country.getName().getCommon().equalsIgnoreCase("Finland"));
Assertions.assertTrue(result);
Assertions.assertEquals(1, countries.size()); Assertions.assertEquals(1, countries.size());
Assertions.assertEquals("Finland", countries.stream().findFirst().get().getName().getCommon()); Assertions.assertEquals("Finland",
countries.stream().findFirst().map(country -> country.getName().getCommon()).orElseThrow());
} }
@Test @Test
void getByRegion() { void getByRegion() {
var countries = CountryServiceV31.getInstance().getByRegion("Asia"); var countries = CountryServiceV31.getInstance().getByRegion("Asia");
Assertions.assertFalse(countries.isEmpty()); Assertions.assertFalse(countries.isEmpty());
var result = false; var result = countries.stream()
for (var country : countries) { .anyMatch(country -> country.getName().getCommon().equalsIgnoreCase("Bangladesh"));
if (country.getName().getCommon().equalsIgnoreCase("Bangladesh")) {
result = true;
break;
}
}
Assertions.assertTrue(result); Assertions.assertTrue(result);
} }
@@ -87,13 +84,8 @@ class RestCountriesV31Test {
void getBySubregion() { void getBySubregion() {
var countries = CountryServiceV31.getInstance().getBySubregion("Middle Africa"); var countries = CountryServiceV31.getInstance().getBySubregion("Middle Africa");
Assertions.assertFalse(countries.isEmpty()); Assertions.assertFalse(countries.isEmpty());
var result = false; var result = countries.stream()
for (var country : countries) { .anyMatch(country -> country.getName().getCommon().equalsIgnoreCase("Gabon"));
if (country.getName().getCommon().equalsIgnoreCase("Gabon")) {
result = true;
break;
}
}
Assertions.assertTrue(result); Assertions.assertTrue(result);
} }
@@ -101,13 +93,8 @@ class RestCountriesV31Test {
void getByLanguage() { void getByLanguage() {
var countries = CountryServiceV31.getInstance().getByLanguage("german"); var countries = CountryServiceV31.getInstance().getByLanguage("german");
Assertions.assertFalse(countries.isEmpty()); Assertions.assertFalse(countries.isEmpty());
var result = false; var result = countries.stream()
for (var country : countries) { .anyMatch(country -> country.getName().getCommon().equalsIgnoreCase("Liechtenstein"));
if (country.getName().getCommon().equalsIgnoreCase("Liechtenstein")) {
result = true;
break;
}
}
Assertions.assertTrue(result); Assertions.assertTrue(result);
} }
@@ -116,12 +103,8 @@ class RestCountriesV31Test {
var countries = CountryServiceV31.getInstance().getByDemonym("chilean"); var countries = CountryServiceV31.getInstance().getByDemonym("chilean");
Assertions.assertFalse(countries.isEmpty()); Assertions.assertFalse(countries.isEmpty());
var result = false; var result = false;
for (var country : countries) { result = countries.stream()
if (country.getName().getCommon().equalsIgnoreCase("Chile")) { .anyMatch(country -> country.getName().getCommon().equalsIgnoreCase("Chile"));
result = true;
break;
}
}
Assertions.assertTrue(result); Assertions.assertTrue(result);
} }
@@ -138,12 +121,9 @@ class RestCountriesV31Test {
var countries = CountryServiceV31.getInstance().getAll(); var countries = CountryServiceV31.getInstance().getAll();
var result = true; var result = true;
try { try {
for (var country : countries) { result = countries.stream().noneMatch(
if (null == country.getFlags().getPng() || null == country.getFlags().getSvg()) { country -> null == country.getFlags().getPng() || null == country.getFlags().getSvg()
result = false; || null == country.getFlags().getAlt());
break;
}
}
} catch ( } catch (
Exception ex) { Exception ex) {
Assertions.fail(); Assertions.fail();
@@ -156,12 +136,9 @@ class RestCountriesV31Test {
var countries = CountryServiceV31.getInstance().getAll(); var countries = CountryServiceV31.getInstance().getAll();
var result = true; var result = true;
try { try {
for (var country : countries) { result = countries.stream().noneMatch(
if (null == country.getCoatOfArms().getPng() || null == country.getCoatOfArms().getSvg()) { country -> null == country.getCoatOfArms().getPng() || null == country.getCoatOfArms()
result = false; .getSvg());
break;
}
}
} catch ( } catch (
Exception ex) { Exception ex) {
Assertions.fail(); Assertions.fail();