diff --git a/tests/src/org/linphone/test/AccountAssistant.java b/tests/src/org/linphone/test/AccountAssistant.java index 87e24f498..3b08c857f 100644 --- a/tests/src/org/linphone/test/AccountAssistant.java +++ b/tests/src/org/linphone/test/AccountAssistant.java @@ -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,8 +52,8 @@ 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(); String stunServer = prefs.getStunServer(); @@ -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 diff --git a/tests/src/org/linphone/test/AccountManagement.java b/tests/src/org/linphone/test/AccountManagement.java index d6a1198e2..4423706fb 100644 --- a/tests/src/org/linphone/test/AccountManagement.java +++ b/tests/src/org/linphone/test/AccountManagement.java @@ -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")); } diff --git a/tests/src/org/linphone/test/AinitTestEnv.java b/tests/src/org/linphone/test/AinitTestEnv.java index 281948074..08777205b 100644 --- a/tests/src/org/linphone/test/AinitTestEnv.java +++ b/tests/src/org/linphone/test/AinitTestEnv.java @@ -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]); } } diff --git a/tests/src/org/linphone/test/CallsAudio.java b/tests/src/org/linphone/test/CallsAudio.java index 51ea51635..66443e9ac 100644 --- a/tests/src/org/linphone/test/CallsAudio.java +++ b/tests/src/org/linphone/test/CallsAudio.java @@ -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); @@ -270,13 +273,13 @@ 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)); @@ -362,15 +365,8 @@ 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() { diff --git a/tests/src/org/linphone/test/CallsVideo.java b/tests/src/org/linphone/test/CallsVideo.java index 66c44cb5b..270b4ce69 100644 --- a/tests/src/org/linphone/test/CallsVideo.java +++ b/tests/src/org/linphone/test/CallsVideo.java @@ -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); @@ -298,13 +294,12 @@ 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)); @@ -342,15 +337,8 @@ 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() { diff --git a/tests/src/org/linphone/test/ConferenceAndMultiCall.java b/tests/src/org/linphone/test/ConferenceAndMultiCall.java index 76787d0fa..fd3b77972 100644 --- a/tests/src/org/linphone/test/ConferenceAndMultiCall.java +++ b/tests/src/org/linphone/test/ConferenceAndMultiCall.java @@ -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 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)); @@ -132,11 +132,11 @@ 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)); @@ -292,7 +292,7 @@ public class ConferenceAndMultiCall extends SampleTest { retry++; Log.w("Call in progress but not running, retry = " + retry); } - - Assert.assertEquals(LinphoneCall.State.StreamsRunning, call.getState()); + + waitForCallState(call, LinphoneCall.State.StreamsRunning); } } diff --git a/tests/src/org/linphone/test/History.java b/tests/src/org/linphone/test/History.java index b2cc2f415..5a45d545d 100644 --- a/tests/src/org/linphone/test/History.java +++ b/tests/src/org/linphone/test/History.java @@ -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); diff --git a/tests/src/org/linphone/test/SampleTest.java b/tests/src/org/linphone/test/SampleTest.java index 308a03c4f..057272681 100644 --- a/tests/src/org/linphone/test/SampleTest.java +++ b/tests/src/org/linphone/test/SampleTest.java @@ -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