Improve tests
This commit is contained in:
parent
cb76489f63
commit
cd62369fd5
9 changed files with 88 additions and 74 deletions
|
@ -5,7 +5,6 @@ import junit.framework.Assert;
|
|||
import org.linphone.LinphoneActivity;
|
||||
import org.linphone.LinphoneManager;
|
||||
import org.linphone.LinphonePreferences;
|
||||
import org.linphone.core.LinphoneCore.RegistrationState;
|
||||
import org.linphone.core.LinphoneProxyConfig;
|
||||
import org.linphone.mediastream.video.capture.hwconf.Hacks;
|
||||
import org.linphone.setup.SetupActivity;
|
||||
|
@ -53,7 +52,7 @@ public class AccountAssistant extends SampleTest {
|
|||
LinphoneProxyConfig[] proxyConfigs = LinphoneManager.getLc().getProxyConfigList();
|
||||
Assert.assertEquals(1, proxyConfigs.length);
|
||||
LinphoneProxyConfig proxyConfig = proxyConfigs[0];
|
||||
Assert.assertEquals(RegistrationState.RegistrationOk, proxyConfig.getState());
|
||||
waitForRegistration(proxyConfig);
|
||||
|
||||
//Check the wizard added sip.linphone.org custom settings
|
||||
LinphonePreferences prefs = LinphonePreferences.instance();
|
||||
|
@ -98,7 +97,7 @@ public class AccountAssistant extends SampleTest {
|
|||
LinphoneProxyConfig[] proxyConfigs = LinphoneManager.getLc().getProxyConfigList();
|
||||
Assert.assertEquals(proxyConfigs.length, 2);
|
||||
LinphoneProxyConfig proxyConfig = proxyConfigs[1];
|
||||
Assert.assertEquals(RegistrationState.RegistrationOk, proxyConfig.getState());
|
||||
waitForRegistration(proxyConfig);
|
||||
}
|
||||
|
||||
@LargeTest
|
||||
|
|
|
@ -6,7 +6,6 @@ import org.linphone.FragmentsAvailable;
|
|||
import org.linphone.LinphoneActivity;
|
||||
import org.linphone.LinphoneManager;
|
||||
import org.linphone.LinphonePreferences;
|
||||
import org.linphone.core.LinphoneCore.RegistrationState;
|
||||
import org.linphone.core.LinphoneProxyConfig;
|
||||
|
||||
import android.test.suitebuilder.annotation.LargeTest;
|
||||
|
@ -33,7 +32,7 @@ public class AccountManagement extends SampleTest {
|
|||
waitForRegistration(proxyConfig);
|
||||
Assert.assertEquals(proxyConfigs.length, 2);
|
||||
proxyConfig = proxyConfigs[1];
|
||||
Assert.assertEquals(RegistrationState.RegistrationOk, proxyConfig.getState());
|
||||
waitForRegistration(proxyConfig);
|
||||
Assert.assertTrue(proxyConfig.getIdentity(), proxyConfig.getIdentity().contains("new"));
|
||||
}
|
||||
|
||||
|
|
|
@ -2,8 +2,6 @@ package org.linphone.test;
|
|||
|
||||
import junit.framework.Assert;
|
||||
|
||||
import org.linphone.core.LinphoneCore.RegistrationState;
|
||||
|
||||
import android.test.suitebuilder.annotation.LargeTest;
|
||||
import android.test.suitebuilder.annotation.MediumTest;
|
||||
import android.test.suitebuilder.annotation.SmallTest;
|
||||
|
@ -21,6 +19,6 @@ public class AinitTestEnv extends SampleTest {
|
|||
|
||||
solo.sleep(5000);
|
||||
Assert.assertEquals(1, LinphoneTestManager.getLc().getProxyConfigList().length);
|
||||
Assert.assertEquals(RegistrationState.RegistrationOk, LinphoneTestManager.getLc().getProxyConfigList()[0].getState());
|
||||
waitForRegistration(LinphoneTestManager.getLc().getProxyConfigList()[0]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,6 +18,10 @@ import android.test.suitebuilder.annotation.SmallTest;
|
|||
import android.util.DisplayMetrics;
|
||||
import android.view.View;
|
||||
|
||||
import java.lang.reflect.Array;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Sylvain Berfini
|
||||
*/
|
||||
|
@ -154,7 +158,7 @@ public class CallsAudio extends SampleTest {
|
|||
solo.assertCurrentActivity("Expected InCall Activity", InCallActivity.class);
|
||||
|
||||
solo.sleep(2000);
|
||||
Assert.assertEquals(LinphoneCall.State.OutgoingRinging, LinphoneManager.getLc().getCalls()[0].getState());
|
||||
waitForCallState(LinphoneManager.getLc().getCalls()[0],LinphoneCall.State.OutgoingRinging);
|
||||
|
||||
LinphoneTestManager.getInstance().autoAnswer = true;
|
||||
|
||||
|
@ -246,14 +250,13 @@ public class CallsAudio extends SampleTest {
|
|||
|
||||
solo.clickOnView(solo.getView(org.linphone.R.id.pause));
|
||||
solo.sleep(1000);
|
||||
LinphoneCall.State state = LinphoneManager.getLc().getCalls()[0].getState();
|
||||
|
||||
Assert.assertTrue(LinphoneCall.State.Paused == state || LinphoneCall.State.Pausing == state);
|
||||
waitForCallPaused(LinphoneManager.getLc().getCalls()[0]);
|
||||
|
||||
solo.clickOnView(solo.getView(org.linphone.R.id.pause));
|
||||
solo.sleep(1000);
|
||||
|
||||
state = LinphoneManager.getLc().getCalls()[0].getState();
|
||||
Assert.assertTrue(LinphoneCall.State.Resuming == state || LinphoneCall.State.StreamsRunning == state);
|
||||
waitForCallResumed(LinphoneManager.getLc().getCalls()[0]);
|
||||
|
||||
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
|
||||
solo.waitForActivity("LinphoneActivity", 5000);
|
||||
|
@ -271,12 +274,12 @@ public class CallsAudio extends SampleTest {
|
|||
LinphoneTestManager.getLc().pauseAllCalls();
|
||||
solo.sleep(1000);
|
||||
|
||||
Assert.assertEquals(LinphoneCall.State.PausedByRemote, LinphoneManager.getLc().getCalls()[0].getState());
|
||||
waitForCallState(LinphoneManager.getLc().getCalls()[0], LinphoneCall.State.PausedByRemote);
|
||||
|
||||
LinphoneTestManager.getLc().resumeCall(LinphoneTestManager.getLc().getCalls()[0]);
|
||||
solo.sleep(1000);
|
||||
|
||||
LinphoneCall.State state = LinphoneManager.getLc().getCalls()[0].getState();
|
||||
Assert.assertTrue(LinphoneCall.State.Resuming == state || LinphoneCall.State.StreamsRunning == state);
|
||||
waitForCallResumed(LinphoneManager.getLc().getCalls()[0]);
|
||||
|
||||
solo.clickLongOnScreen(200, 200); //To ensure controls are shown
|
||||
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
|
||||
|
@ -363,14 +366,7 @@ public class CallsAudio extends SampleTest {
|
|||
solo.sleep(2000);
|
||||
LinphoneCall call = LinphoneManager.getLc().getCalls()[0];
|
||||
|
||||
int retry = 0;
|
||||
while ((call.getState() == LinphoneCall.State.OutgoingProgress || call.getState() == LinphoneCall.State.IncomingReceived) && retry < 5) {
|
||||
solo.sleep(1000);
|
||||
retry++;
|
||||
Log.w("Call in progress but not running, retry = " + retry);
|
||||
}
|
||||
|
||||
Assert.assertEquals(LinphoneCall.State.StreamsRunning, call.getState());
|
||||
waitForCallState(call, LinphoneCall.State.StreamsRunning);
|
||||
}
|
||||
|
||||
private void goToSettings() {
|
||||
|
|
|
@ -11,7 +11,6 @@ import org.linphone.core.LinphoneCore;
|
|||
import org.linphone.core.LinphoneCoreException;
|
||||
import org.linphone.core.LinphonePlayer;
|
||||
import org.linphone.core.PayloadType;
|
||||
import org.linphone.core.LinphoneCore.RegistrationState;
|
||||
import org.linphone.mediastream.Log;
|
||||
|
||||
import android.test.suitebuilder.annotation.LargeTest;
|
||||
|
@ -169,7 +168,7 @@ public class CallsVideo extends SampleTest {
|
|||
solo.assertCurrentActivity("Expected InCall Activity", InCallActivity.class);
|
||||
|
||||
solo.sleep(2000);
|
||||
Assert.assertEquals(LinphoneCall.State.OutgoingRinging, LinphoneManager.getLc().getCalls()[0].getState());
|
||||
waitForCallState(LinphoneManager.getLc().getCalls()[0],LinphoneCall.State.OutgoingRinging);
|
||||
|
||||
LinphoneTestManager.getInstance().autoAnswer = true;
|
||||
|
||||
|
@ -273,15 +272,12 @@ public class CallsVideo extends SampleTest {
|
|||
|
||||
solo.clickOnView(solo.getView(org.linphone.R.id.pause));
|
||||
solo.sleep(1000);
|
||||
LinphoneCall.State state = LinphoneManager.getLc().getCalls()[0].getState();
|
||||
|
||||
|
||||
Assert.assertTrue(LinphoneCall.State.Paused == state || LinphoneCall.State.Pausing == state);
|
||||
waitForCallPaused(LinphoneManager.getLc().getCalls()[0]);
|
||||
solo.clickOnView(solo.getView(org.linphone.R.id.pause));
|
||||
solo.sleep(1000);
|
||||
|
||||
state = LinphoneManager.getLc().getCalls()[0].getState();
|
||||
Assert.assertTrue(LinphoneCall.State.Resuming == state || LinphoneCall.State.StreamsRunning == state);
|
||||
waitForCallResumed(LinphoneManager.getLc().getCalls()[0]);
|
||||
|
||||
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
|
||||
solo.waitForActivity("LinphoneActivity", 5000);
|
||||
|
@ -299,12 +295,11 @@ public class CallsVideo extends SampleTest {
|
|||
LinphoneTestManager.getLc().pauseAllCalls();
|
||||
solo.sleep(1000);
|
||||
|
||||
Assert.assertEquals(LinphoneCall.State.PausedByRemote, LinphoneManager.getLc().getCalls()[0].getState());
|
||||
waitForCallState(LinphoneManager.getLc().getCalls()[0], LinphoneCall.State.PausedByRemote);
|
||||
LinphoneTestManager.getLc().resumeCall(LinphoneTestManager.getLc().getCalls()[0]);
|
||||
solo.sleep(1000);
|
||||
|
||||
LinphoneCall.State state = LinphoneManager.getLc().getCalls()[0].getState();
|
||||
Assert.assertTrue(LinphoneCall.State.Resuming == state || LinphoneCall.State.StreamsRunning == state);
|
||||
waitForCallResumed(LinphoneManager.getLc().getCalls()[0]);
|
||||
|
||||
solo.clickLongOnScreen(200, 200); //To ensure controls are shown
|
||||
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
|
||||
|
@ -343,14 +338,7 @@ public class CallsVideo extends SampleTest {
|
|||
solo.sleep(2000);
|
||||
LinphoneCall call = LinphoneManager.getLc().getCalls()[0];
|
||||
|
||||
int retry = 0;
|
||||
while ((call.getState() == LinphoneCall.State.OutgoingProgress || call.getState() == LinphoneCall.State.IncomingReceived) && retry < 5) {
|
||||
solo.sleep(1000);
|
||||
retry++;
|
||||
Log.w("Call in progress but not running, retry = " + retry);
|
||||
}
|
||||
|
||||
Assert.assertEquals(LinphoneCall.State.StreamsRunning, call.getState());
|
||||
waitForCallState(call, LinphoneCall.State.StreamsRunning);
|
||||
}
|
||||
|
||||
private void goToSettings() {
|
||||
|
|
|
@ -28,7 +28,7 @@ public class ConferenceAndMultiCall extends SampleTest {
|
|||
LinphoneTestManager.createAndStart(aContext, iContext, 2);
|
||||
|
||||
solo.sleep(2000);
|
||||
Assert.assertEquals(RegistrationState.RegistrationOk, LinphoneTestManager.getLc(2).getProxyConfigList()[0].getState());
|
||||
waitForRegistration(LinphoneTestManager.getLc(2).getProxyConfigList()[0]);
|
||||
|
||||
//Disable video
|
||||
goToSettings();
|
||||
|
@ -79,13 +79,13 @@ public class ConferenceAndMultiCall extends SampleTest {
|
|||
solo.sleep(2000);
|
||||
LinphoneCall call1 = LinphoneTestManager.getLc(1).getCalls()[0];
|
||||
LinphoneCall call2 = LinphoneTestManager.getLc(2).getCalls()[0];
|
||||
Assert.assertEquals(LinphoneCall.State.StreamsRunning, call2.getState());
|
||||
Assert.assertEquals(LinphoneCall.State.PausedByRemote, call1.getState());
|
||||
waitForCallState(call2,LinphoneCall.State.StreamsRunning);
|
||||
waitForCallState(call1,LinphoneCall.State.PausedByRemote);
|
||||
|
||||
solo.clickOnView(solo.getView(org.linphone.R.id.callStatus));
|
||||
solo.sleep(2000);
|
||||
Assert.assertEquals(LinphoneCall.State.StreamsRunning, call1.getState());
|
||||
Assert.assertEquals(LinphoneCall.State.PausedByRemote, call2.getState());
|
||||
waitForCallState(call1,LinphoneCall.State.StreamsRunning);
|
||||
waitForCallState(call2,LinphoneCall.State.PausedByRemote);
|
||||
|
||||
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
|
||||
solo.sleep(1000);
|
||||
|
@ -101,14 +101,14 @@ public class ConferenceAndMultiCall extends SampleTest {
|
|||
solo.sleep(2000);
|
||||
LinphoneCall call1 = LinphoneTestManager.getLc(1).getCalls()[0];
|
||||
LinphoneCall call2 = LinphoneTestManager.getLc(2).getCalls()[0];
|
||||
Assert.assertEquals(LinphoneCall.State.StreamsRunning, call2.getState());
|
||||
Assert.assertEquals(LinphoneCall.State.PausedByRemote, call1.getState());
|
||||
waitForCallState(call2,LinphoneCall.State.StreamsRunning);
|
||||
waitForCallState(call1,LinphoneCall.State.PausedByRemote);
|
||||
|
||||
ArrayList<View> views = solo.getViews(solo.getView(2));
|
||||
solo.clickOnView(views.get(2)); // Second call pause button
|
||||
solo.sleep(2000);
|
||||
Assert.assertEquals(LinphoneCall.State.PausedByRemote, call1.getState());
|
||||
Assert.assertEquals(LinphoneCall.State.PausedByRemote, call2.getState());
|
||||
waitForCallState(call2,LinphoneCall.State.PausedByRemote);
|
||||
waitForCallState(call1,LinphoneCall.State.PausedByRemote);
|
||||
|
||||
// All calls are paused, one click on hangUp terminates them all
|
||||
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
|
||||
|
@ -133,10 +133,10 @@ public class ConferenceAndMultiCall extends SampleTest {
|
|||
solo.sleep(2000);
|
||||
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
|
||||
|
||||
Assert.assertEquals(LinphoneCall.State.PausedByRemote, LinphoneTestManager.getLc(1).getCalls()[0].getState());
|
||||
waitForCallState(LinphoneTestManager.getLc(1).getCalls()[0],LinphoneCall.State.PausedByRemote);
|
||||
solo.clickOnView(solo.getView(org.linphone.R.id.pause));
|
||||
solo.sleep(1000);
|
||||
Assert.assertEquals(LinphoneCall.State.StreamsRunning, LinphoneTestManager.getLc(1).getCalls()[0].getState());
|
||||
waitForCallState(LinphoneTestManager.getLc(1).getCalls()[0],LinphoneCall.State.StreamsRunning);
|
||||
|
||||
solo.sleep(1000);
|
||||
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
|
||||
|
@ -163,7 +163,7 @@ public class ConferenceAndMultiCall extends SampleTest {
|
|||
solo.clickOnView(solo.getView(org.linphone.R.id.Call));
|
||||
|
||||
solo.sleep(2000);
|
||||
Assert.assertEquals(LinphoneCall.State.PausedByRemote, LinphoneTestManager.getLc(1).getCalls()[0].getState());
|
||||
waitForCallState(LinphoneTestManager.getLc(1).getCalls()[0],LinphoneCall.State.PausedByRemote);
|
||||
|
||||
solo.sleep(1000);
|
||||
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
|
||||
|
@ -237,7 +237,7 @@ public class ConferenceAndMultiCall extends SampleTest {
|
|||
|
||||
solo.sleep(1000);
|
||||
LinphoneCall call1 = LinphoneTestManager.getLc(1).getCalls()[0];
|
||||
Assert.assertEquals(LinphoneCall.State.PausedByRemote, call1.getState());
|
||||
waitForCallState(call1,LinphoneCall.State.PausedByRemote);
|
||||
assertCallIsCorrectlyRunning(2);
|
||||
|
||||
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
|
||||
|
@ -293,6 +293,6 @@ public class ConferenceAndMultiCall extends SampleTest {
|
|||
Log.w("Call in progress but not running, retry = " + retry);
|
||||
}
|
||||
|
||||
Assert.assertEquals(LinphoneCall.State.StreamsRunning, call.getState());
|
||||
waitForCallState(call, LinphoneCall.State.StreamsRunning);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -44,7 +44,7 @@ public class History extends SampleTest {
|
|||
|
||||
solo.sleep(2000);
|
||||
Assert.assertEquals(1, LinphoneTestManager.getLc().getCallsNb());
|
||||
Assert.assertEquals(LinphoneCall.State.StreamsRunning, LinphoneTestManager.getLc().getCalls()[0].getState());
|
||||
waitForCallState(LinphoneTestManager.getLc().getCalls()[0],LinphoneCall.State.StreamsRunning);
|
||||
|
||||
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
|
||||
solo.waitForActivity("LinphoneActivity", 5000);
|
||||
|
|
|
@ -2,6 +2,8 @@ package org.linphone.test;
|
|||
|
||||
import org.linphone.LinphoneLauncherActivity;
|
||||
import org.linphone.LinphoneManager;
|
||||
import org.linphone.core.LinphoneCall;
|
||||
import org.linphone.core.LinphoneCall.State;
|
||||
import org.linphone.core.LinphoneCore;
|
||||
import org.linphone.core.LinphoneProxyConfig;
|
||||
import org.linphone.core.LinphoneCore.RegistrationState;
|
||||
|
@ -9,6 +11,7 @@ import org.linphone.core.LinphoneCore.RegistrationState;
|
|||
import android.content.Context;
|
||||
import android.test.ActivityInstrumentationTestCase2;
|
||||
import android.widget.ListView;
|
||||
import java.util.List;
|
||||
|
||||
import com.robotium.solo.Condition;
|
||||
import com.robotium.solo.Solo;
|
||||
|
@ -54,11 +57,42 @@ public abstract class SampleTest extends ActivityInstrumentationTestCase2<Linpho
|
|||
}
|
||||
|
||||
protected void waitForRegistration(final LinphoneProxyConfig lpc) {
|
||||
if(lpc == null) return;
|
||||
solo.waitForCondition(new Condition() {
|
||||
@Override
|
||||
public boolean isSatisfied() {
|
||||
return RegistrationState.RegistrationOk == lpc.getState();
|
||||
}
|
||||
},30000);
|
||||
}, 30000);
|
||||
}
|
||||
|
||||
protected void waitForCallPaused(final LinphoneCall call) {
|
||||
if(call == null) return;
|
||||
solo.waitForCondition(new Condition() {
|
||||
@Override
|
||||
public boolean isSatisfied() {
|
||||
return call.getState().equals(State.Paused) || call.getState().equals(State.Pausing);
|
||||
}
|
||||
}, 30000);
|
||||
}
|
||||
|
||||
protected void waitForCallResumed(final LinphoneCall call) {
|
||||
if(call == null) return;
|
||||
solo.waitForCondition(new Condition() {
|
||||
@Override
|
||||
public boolean isSatisfied() {
|
||||
return call.getState().equals(State.Resuming) || call.getState().equals(State.StreamsRunning);
|
||||
}
|
||||
}, 30000);
|
||||
}
|
||||
|
||||
protected void waitForCallState(final LinphoneCall call, final State state) {
|
||||
if(call == null) return;
|
||||
solo.waitForCondition(new Condition() {
|
||||
@Override
|
||||
public boolean isSatisfied() {
|
||||
return state.equals(call.getState());
|
||||
}
|
||||
}, 30000);
|
||||
}
|
||||
}
|
|
@ -53,6 +53,6 @@ public class Transfer extends SampleTest {
|
|||
Log.w("Call in progress but not running, retry = " + retry);
|
||||
}
|
||||
|
||||
Assert.assertEquals(LinphoneCall.State.StreamsRunning, call.getState());
|
||||
waitForCallState(call,LinphoneCall.State.StreamsRunning);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue