Android Instrumentation Tests Improvements (#2321)

This commit is contained in:
Bart Louwers
2024-04-29 16:02:46 +02:00
committed by GitHub
parent cd9727b06f
commit 3e1868bc26
17 changed files with 141 additions and 59 deletions

View File

@@ -4,6 +4,7 @@ import androidx.test.filters.LargeTest
import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner
import androidx.test.rule.ActivityTestRule
import androidx.test.uiautomator.UiSelector
import org.junit.Ignore
import org.maplibre.android.testapp.activity.fragment.ViewPagerActivity
import org.junit.Rule
import org.junit.Test
@@ -12,6 +13,7 @@ import org.junit.runner.RunWith
/**
* Regression test that validates MapFragment integration with a ViewPager
*/
@Ignore("https://github.com/maplibre/maplibre-native/issues/2316")
@RunWith(AndroidJUnit4ClassRunner::class)
class ViewPagerScrollTest : BaseIntegrationTest() {

View File

@@ -187,7 +187,7 @@ class MapGestureDetectorTest : BaseTest() {
onView(withId(R.id.mapView)).perform(quickScale(-300f, withVelocity = false, duration = 750L))
rule.runOnUiThread {
Assert.assertEquals(3.0, maplibreMap.cameraPosition.zoom, 0.001)
Assert.assertEquals(3.0, maplibreMap.cameraPosition.zoom, 0.01)
}
}
}

View File

@@ -3,12 +3,12 @@ package org.maplibre.android.maps
import androidx.test.annotation.UiThreadTest
import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner
import org.junit.After
import org.junit.Assert.*
import org.junit.Assert
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.maplibre.android.AppCenter
import org.maplibre.android.MapLibre.*
import org.maplibre.android.MapLibre
import org.maplibre.android.exceptions.MapLibreConfigurationException
@RunWith(AndroidJUnit4ClassRunner::class)
@@ -16,43 +16,48 @@ class MapLibreTest : AppCenter() {
private var realToken: String? = null
@Before
fun setup() {
realToken = getApiKey()
realToken = MapLibre.getApiKey()
}
@Test
@UiThreadTest
fun testConnected() {
assertTrue(isConnected())
Assert.assertTrue(MapLibre.isConnected())
// test manual connectivity
setConnected(true)
assertTrue(isConnected())
setConnected(false)
assertFalse(isConnected())
MapLibre.setConnected(true)
Assert.assertTrue(MapLibre.isConnected())
MapLibre.setConnected(false)
Assert.assertFalse(MapLibre.isConnected())
// reset to Android connectivity
setConnected(null)
assertTrue(isConnected())
MapLibre.setConnected(null)
Assert.assertTrue(MapLibre.isConnected())
}
@Test
@UiThreadTest
fun setApiKey() {
setApiKey(API_KEY)
assertSame(API_KEY, getApiKey())
setApiKey(API_KEY_2)
assertSame(API_KEY_2, getApiKey())
MapLibre.setApiKey(API_KEY)
Assert.assertSame(API_KEY, MapLibre.getApiKey())
MapLibre.setApiKey(API_KEY_2)
Assert.assertSame(API_KEY_2, MapLibre.getApiKey())
}
@Test
@UiThreadTest
fun setNullApiKey() {
assertThrows(MapLibreConfigurationException::class.java) { setApiKey(null) }
Assert.assertThrows(
MapLibreConfigurationException::class.java
) { MapLibre.setApiKey(null) }
}
@After
fun tearDown() {
setApiKey(realToken)
if (realToken?.isNotEmpty() == true) {
MapLibre.setApiKey(realToken)
}
}
companion object {

View File

@@ -2,6 +2,7 @@ package org.maplibre.android.offline
import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner
import androidx.test.rule.ActivityTestRule
import org.junit.Ignore
import org.maplibre.geojson.Point
import org.maplibre.android.log.Logger
import org.maplibre.android.maps.Style
@@ -16,6 +17,7 @@ import java.util.concurrent.TimeoutException
/**
* Integration test that validates downloading an offline region from a point geometry at zoomlevel 17
*/
@Ignore("https://github.com/maplibre/maplibre-native/issues/2318")
@RunWith(AndroidJUnit4ClassRunner::class)
class OfflineDownloadTest : OfflineRegion.OfflineRegionObserver {

View File

@@ -10,6 +10,7 @@ import org.maplibre.android.style.layers.PropertyFactory
import org.maplibre.android.testapp.activity.FeatureOverviewActivity
import org.junit.Assert
import org.junit.Assert.assertNotNull
import org.junit.Ignore
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
@@ -20,6 +21,7 @@ import java.util.concurrent.TimeoutException
/**
* Integration test that validates if a snapshotter creation
*/
@Ignore("https://github.com/maplibre/maplibre-native/issues/2317")
@RunWith(AndroidJUnit4ClassRunner::class)
class MapSnapshotterTest {

View File

@@ -2,6 +2,7 @@ package org.maplibre.android.testapp.geometry;
import static org.junit.Assert.assertEquals;
import org.junit.Ignore;
import org.maplibre.android.camera.CameraUpdateFactory;
import org.maplibre.android.geometry.LatLng;
import org.maplibre.android.geometry.LatLngBounds;
@@ -15,6 +16,7 @@ import org.junit.Test;
/**
* Instrumentation test to validate integration of LatLngBounds
*/
@Ignore("https://github.com/maplibre/maplibre-native/issues/2319")
public class LatLngBoundsTest extends BaseTest {
private static final double MAP_BEARING = 50;

View File

@@ -23,7 +23,7 @@ class StyleLoadTest : EspressoTest() {
val layer = SymbolLayer("id", "id")
maplibreMap.setStyle(Style.Builder().withSource(source).withLayer(layer))
TestingAsyncUtils.waitForLayer(uiController, mapView)
maplibreMap.setStyle(Style.Builder().fromUrl(Style.getPredefinedStyle("Streets")))
maplibreMap.setStyle(Style.getPredefinedStyles()[0].url)
TestingAsyncUtils.waitForLayer(uiController, mapView)
source.setGeoJson("{}")
}