diff --git a/app/build.gradle b/app/build.gradle index 043f794de..284b07ecc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -94,7 +94,12 @@ android { } sourceSets { + // use kotlin only in tests (for now) test.java.srcDirs += 'src/test/kotlin' + + // use main assets and resources in test + test.assets.srcDirs += 'src/main/assets' + test.resources.srcDirs += 'src/main/resoures' } buildTypes { diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyPlaces.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyPlaces.java index 9e06812ba..f13aa1ae3 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyPlaces.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyPlaces.java @@ -34,7 +34,7 @@ public class NearbyPlaces { public NearbyPlaces() { try { - wikidataQuery = FileUtils.readFromResource("/assets/queries/nearby_query.rq"); + wikidataQuery = FileUtils.readFromResource("/queries/nearby_query.rq"); Timber.v(wikidataQuery); } catch (IOException e) { throw new RuntimeException(e); diff --git a/app/src/main/java/fr/free/nrw/commons/utils/FileUtils.java b/app/src/main/java/fr/free/nrw/commons/utils/FileUtils.java index 4191f9d6f..6912d0ceb 100644 --- a/app/src/main/java/fr/free/nrw/commons/utils/FileUtils.java +++ b/app/src/main/java/fr/free/nrw/commons/utils/FileUtils.java @@ -4,8 +4,10 @@ import android.os.Environment; import java.io.BufferedReader; import java.io.File; +import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; +import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; @@ -16,16 +18,18 @@ public class FileUtils { /** * Read and return the content of a resource file as string. * - * @param fileName asset file's path (e.g. "/assets/queries/nearby_query.rq") + * @param fileName asset file's path (e.g. "/queries/nearby_query.rq") * @return the content of the file */ public static String readFromResource(String fileName) throws IOException { StringBuilder buffer = new StringBuilder(); BufferedReader reader = null; try { - reader = new BufferedReader( - new InputStreamReader( - CommonsApplication.class.getResourceAsStream(fileName), "UTF-8")); + InputStream inputStream = FileUtils.class.getResourceAsStream(fileName); + if (inputStream == null) { + throw new FileNotFoundException(fileName); + } + reader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8")); String line; while ((line = reader.readLine()) != null) { buffer.append(line + "\n"); diff --git a/app/src/main/assets/queries/nearby_query.rq b/app/src/main/resources/queries/nearby_query.rq similarity index 100% rename from app/src/main/assets/queries/nearby_query.rq rename to app/src/main/resources/queries/nearby_query.rq