Set appropriate preferences to select UDP upload

The tests are now passing reliably now that all the correct
preferences are being set for the test.
pull/319/head
Loren M. Lang 2022-01-11 20:46:19 -08:00
rodzic dd72b7f67b
commit 086d1c7096
2 zmienionych plików z 20 dodań i 5 usunięć

Wyświetl plik

@ -43,7 +43,7 @@ class DatagramRecorderSocket extends DatagramSocket {
@Override
public void send(DatagramPacket p) {
if(p != null) {
Log.d("APRSTest", "Packet to " + p.getAddress().toString() + ":" + p.getPort() + " -> " + new String(p.getData(), StandardCharsets.UTF_8));
Log.d("APRSdroid-test", "Packet to " + p.getAddress().toString() + ":" + p.getPort() + " -> " + new String(p.getData(), StandardCharsets.UTF_8));
DatagramLog.addPacket(p);
}
}

Wyświetl plik

@ -1,10 +1,12 @@
package org.aprsdroid.app;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import android.support.test.runner.AndroidJUnit4;
import android.support.test.InstrumentationRegistry;
import android.util.Log;
import org.junit.Assert;
import org.junit.Test;
@ -27,6 +29,7 @@ public class ManualLocationUploadTest {
private Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
private SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(appContext);
// Invalid passcode used so it can't accidentally submit data
private final String expected_callsign = "X1ABC";
private final String expected_passcode = "12345";
private final String expected_ssid = "2";
@ -37,26 +40,38 @@ public class ManualLocationUploadTest {
public void testSingleShotUpload() {
APRSdroidApplication androidApp = (APRSdroidApplication)appContext.getApplicationContext();
androidApp.setServiceLocator(new ServiceLocatorTestImpl());
Log.v("APRSdroid-test", "Stopping APRS service");
appContext.stopService(new Intent(appContext, AprsService.class));
try {
// TODO Synchronize with service lifecycle
Thread.sleep(1*1000);
} catch (InterruptedException ex) {
Log.w("APRSdroid-test", "Sleep was interrupted: " + ex.toString());
}
DatagramRecorderSocket.DatagramLog.clear();
SharedPreferences.Editor editor = prefs.edit();
editor.putString("callsign", expected_callsign);
editor.putString("passcode", expected_passcode); // Invalid passcode so it can't accidentally submit data
editor.putString("passcode", expected_passcode);
editor.putString("ssid", expected_ssid);
editor.putString("loc_source", "manual");
editor.putString("manual_lat", String.valueOf(expected_latitude));
editor.putString("manual_lon", String.valueOf(expected_longitude));
editor.putBoolean("periodicposition", false);
editor.putString("interval", "1");
editor.putString("backendname", "aprsis-tcpip-udp");
//editor.putString("backendname", "aprsis-tcpip-udp");
editor.putString("proto", "aprsis");
editor.putString("aprsis", "udp");
editor.commit();
Log.v("APRSdroid-test", "Starting one-shot APRS service");
appContext.startService(AprsService$.MODULE$.intent(appContext, AprsService$.MODULE$.SERVICE_ONCE()));
try {
// TODO Synchronize with service lifecycle
Thread.sleep(3000);
Thread.sleep(5*1000);
} catch (InterruptedException ex) {
Log.w("APRSdroid-test", "Sleep was interrupted: " + ex.toString());
}
List<DatagramPacket> packets = DatagramRecorderSocket.DatagramLog.getLog();
@ -71,9 +86,9 @@ public class ManualLocationUploadTest {
fields.put(header[i], header[i+1]);
}
}
String expected_user = String.format("%s-%s", expected_callsign, expected_ssid);
Assert.assertTrue("user field missing", fields.containsKey("user"));
Assert.assertTrue("pass field missing", fields.containsKey("user"));
String expected_user = String.format("%s-%s", expected_callsign, expected_ssid);
Assert.assertEquals("User id incorrect", expected_user, fields.get("user"));
Assert.assertEquals("Passcode incorrect", expected_passcode, fields.get("pass"));
APRSPacket decodedPacket;