New multi calls tests
This commit is contained in:
parent
f5a5f4c2f4
commit
4d630ae59d
1 changed files with 125 additions and 6 deletions
|
@ -3,14 +3,18 @@ package org.linphone.test;
|
||||||
import junit.framework.Assert;
|
import junit.framework.Assert;
|
||||||
|
|
||||||
import org.linphone.InCallActivity;
|
import org.linphone.InCallActivity;
|
||||||
|
import org.linphone.IncomingCallActivity;
|
||||||
import org.linphone.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.core.LinphoneCall;
|
import org.linphone.core.LinphoneCall;
|
||||||
|
import org.linphone.core.LinphoneCoreException;
|
||||||
import org.linphone.core.LinphoneCore.RegistrationState;
|
import org.linphone.core.LinphoneCore.RegistrationState;
|
||||||
|
|
||||||
import android.test.suitebuilder.annotation.LargeTest;
|
import android.test.suitebuilder.annotation.LargeTest;
|
||||||
import android.test.suitebuilder.annotation.MediumTest;
|
import android.test.suitebuilder.annotation.MediumTest;
|
||||||
import android.test.suitebuilder.annotation.SmallTest;
|
import android.test.suitebuilder.annotation.SmallTest;
|
||||||
|
import android.util.DisplayMetrics;
|
||||||
|
import android.view.View;
|
||||||
|
|
||||||
public class ConferenceAndMultiCall extends SampleTest {
|
public class ConferenceAndMultiCall extends SampleTest {
|
||||||
|
|
||||||
|
@ -64,17 +68,16 @@ public class ConferenceAndMultiCall extends SampleTest {
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@SmallTest
|
@SmallTest //TODO REMOVE
|
||||||
@MediumTest
|
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testCChangePausedCall() {
|
public void testDChangePausedCall() {
|
||||||
startConference();
|
startTwoCalls();
|
||||||
|
|
||||||
solo.sleep(2000);
|
solo.sleep(2000);
|
||||||
LinphoneCall call1 = LinphoneTestManager.getLc(1).getCalls()[0];
|
LinphoneCall call1 = LinphoneTestManager.getLc(1).getCalls()[0];
|
||||||
LinphoneCall call2 = LinphoneTestManager.getLc(2).getCalls()[0];
|
LinphoneCall call2 = LinphoneTestManager.getLc(2).getCalls()[0];
|
||||||
Assert.assertEquals(LinphoneCall.State.StreamsRunning, call2.getState());
|
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.clickOnView(solo.getView(org.linphone.R.id.callStatus));
|
||||||
solo.sleep(2000);
|
solo.sleep(2000);
|
||||||
|
@ -88,6 +91,118 @@ public class ConferenceAndMultiCall extends SampleTest {
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
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() {
|
private void goToSettings() {
|
||||||
solo.waitForActivity("LinphoneActivity", 2000);
|
solo.waitForActivity("LinphoneActivity", 2000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
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));
|
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.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));
|
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));
|
solo.clickOnView(solo.getView(org.linphone.R.id.Call));
|
||||||
|
|
||||||
assertCallIsCorrectlyRunning(2);
|
assertCallIsCorrectlyRunning(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void startConference() {
|
||||||
|
startTwoCalls();
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.conference));
|
solo.clickOnView(solo.getView(org.linphone.R.id.conference));
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
|
|
Loading…
Reference in a new issue