New multi calls tests

This commit is contained in:
Sylvain Berfini 2013-06-18 17:14:13 +02:00
parent f5a5f4c2f4
commit 4d630ae59d

View file

@ -3,14 +3,18 @@ package org.linphone.test;
import junit.framework.Assert;
import org.linphone.InCallActivity;
import org.linphone.IncomingCallActivity;
import org.linphone.LinphoneActivity;
import org.linphone.LinphoneManager;
import org.linphone.core.LinphoneCall;
import org.linphone.core.LinphoneCoreException;
import org.linphone.core.LinphoneCore.RegistrationState;
import android.test.suitebuilder.annotation.LargeTest;
import android.test.suitebuilder.annotation.MediumTest;
import android.test.suitebuilder.annotation.SmallTest;
import android.util.DisplayMetrics;
import android.view.View;
public class ConferenceAndMultiCall extends SampleTest {
@ -64,17 +68,16 @@ public class ConferenceAndMultiCall extends SampleTest {
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
}
@SmallTest
@MediumTest
@SmallTest //TODO REMOVE
@LargeTest
public void testCChangePausedCall() {
startConference();
public void testDChangePausedCall() {
startTwoCalls();
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.Paused, call1.getState());
Assert.assertEquals(LinphoneCall.State.PausedByRemote, call1.getState());
solo.clickOnView(solo.getView(org.linphone.R.id.callStatus));
solo.sleep(2000);
@ -88,6 +91,118 @@ public class ConferenceAndMultiCall extends SampleTest {
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
}
@LargeTest
public void testEPauseAllCalls() {
startTwoCalls();
//TODO
}
@SmallTest //TODO REMOVE
@LargeTest
public void testFAddNewCallAndCancelIt() {
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
solo.clickOnView(solo.getView(org.linphone.R.id.Call));
assertCallIsCorrectlyRunning(1);
LinphoneTestManager.getInstance().autoAnswer = false;
solo.clickOnView(solo.getView(org.linphone.R.id.options));
solo.clickOnView(solo.getView(org.linphone.R.id.addCall));
solo.enterText(0, iContext.getString(org.linphone.test.R.string.conference_account_login) + "@" + iContext.getString(org.linphone.test.R.string.conference_account_domain));
solo.clickOnView(solo.getView(org.linphone.R.id.Call));
solo.sleep(2000);
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
solo.sleep(1000);
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
solo.waitForActivity("LinphoneActivity", 5000);
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
LinphoneTestManager.getInstance().autoAnswer = true;
}
@SmallTest //TODO REMOVE
@LargeTest
public void testGIncomingCallWhileInCallAndDecline() {
LinphoneTestManager.getInstance().autoAnswer = true; //Just in case
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
solo.clickOnView(solo.getView(org.linphone.R.id.Call));
assertCallIsCorrectlyRunning(1);
LinphoneTestManager.getInstance().autoAnswer = false;
solo.sleep(2000);
try {
LinphoneTestManager.getLc(2).invite("sip:" + iContext.getString(org.linphone.test.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.test.R.string.account_linphone_domain));
} catch (LinphoneCoreException e) {
e.printStackTrace();
}
solo.waitForActivity("IncomingCallActivity", 5000);
solo.assertCurrentActivity("Expected Incoming Call Activity", IncomingCallActivity.class);
solo.sleep(1000);
View topLayout = solo.getView(org.linphone.R.id.topLayout);
int topLayoutHeigh = topLayout.getMeasuredHeight();
DisplayMetrics dm = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);
int topOffset = dm.heightPixels - topLayoutHeigh;
int slidersTop = topLayoutHeigh - 80 - topOffset; // 80 is the bottom margin set in incoming.xml
solo.drag(topLayout.getMeasuredWidth() - 10, 10, slidersTop, slidersTop, 10);
assertCallIsCorrectlyRunning(1);
solo.sleep(2000);
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
solo.waitForActivity("LinphoneActivity", 5000);
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
}
@SmallTest //TODO REMOVE
@LargeTest
public void testHIncomingCallWhileInCallAndAccept() {
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
solo.clickOnView(solo.getView(org.linphone.R.id.Call));
assertCallIsCorrectlyRunning(1);
solo.sleep(2000);
try {
LinphoneTestManager.getLc(2).invite("sip:" + iContext.getString(org.linphone.test.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.test.R.string.account_linphone_domain));
} catch (LinphoneCoreException e) {
e.printStackTrace();
}
solo.waitForActivity("IncomingCallActivity", 5000);
solo.assertCurrentActivity("Expected Incoming Call Activity", IncomingCallActivity.class);
solo.sleep(1000);
View topLayout = solo.getView(org.linphone.R.id.topLayout);
int topLayoutHeigh = topLayout.getMeasuredHeight();
DisplayMetrics dm = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);
int topOffset = dm.heightPixels - topLayoutHeigh;
int slidersTop = topLayoutHeigh - 80 - topOffset; // 80 is the bottom margin set in incoming.xml
solo.drag(10, topLayout.getMeasuredWidth() - 10, slidersTop, slidersTop, 10);
assertCallIsCorrectlyRunning(1);
assertCallIsCorrectlyRunning(2);
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
solo.sleep(1000);
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
solo.waitForActivity("LinphoneActivity", 5000);
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
}
@LargeTest
public void testIAddNewCallDeclined() {
//TODO
}
private void goToSettings() {
solo.waitForActivity("LinphoneActivity", 2000);
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
@ -95,7 +210,7 @@ public class ConferenceAndMultiCall extends SampleTest {
solo.clickOnView(solo.getView(org.linphone.R.id.settings));
}
private void startConference() {
private void startTwoCalls() {
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
solo.clickOnView(solo.getView(org.linphone.R.id.Call));
@ -107,6 +222,10 @@ public class ConferenceAndMultiCall extends SampleTest {
solo.clickOnView(solo.getView(org.linphone.R.id.Call));
assertCallIsCorrectlyRunning(2);
}
private void startConference() {
startTwoCalls();
solo.clickOnView(solo.getView(org.linphone.R.id.conference));
solo.sleep(1000);