From 9d23369be986d95ccad77fcb2552fe5b5ac132f2 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 3 Oct 2012 15:01:59 +0200 Subject: [PATCH] PSTN gateway test --- .../linphone/test/AccountzFreephonieTest.java | 130 ++++++++++++++++++ .../src/org/linphone/test/SignalingTest.java | 2 +- 2 files changed, 131 insertions(+), 1 deletion(-) create mode 100644 tests/src/org/linphone/test/AccountzFreephonieTest.java diff --git a/tests/src/org/linphone/test/AccountzFreephonieTest.java b/tests/src/org/linphone/test/AccountzFreephonieTest.java new file mode 100644 index 000000000..f02410a79 --- /dev/null +++ b/tests/src/org/linphone/test/AccountzFreephonieTest.java @@ -0,0 +1,130 @@ +package org.linphone.test; + +import org.linphone.InCallActivity; +import org.linphone.LinphoneActivity; +import org.linphone.R; +import org.linphone.setup.SetupActivity; + +import android.content.Context; +import android.test.ActivityInstrumentationTestCase2; +import android.widget.EditText; +import android.widget.ListView; + +import com.jayway.android.robotium.solo.Solo; + +public class AccountzFreephonieTest extends ActivityInstrumentationTestCase2 { + private static final String numberToCallToTestPSTNGateway = "0952636505"; + private Solo solo; + + @SuppressWarnings("deprecation") + public AccountzFreephonieTest() { + super("org.linphone", LinphoneActivity.class); + } + + private void selectItemInListOnUIThread(final int item) { + solo.sleep(500); + getActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + ListView list = (ListView) solo.getView(android.R.id.list); + list.setSelection(item); + } + }); + } + + private void configureFreephonieAccount() { + Context context = getActivity(); + + solo.waitForActivity("LinphoneActivity", 2000); + solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); + solo.clickOnView(solo.getView(R.id.settings)); + + selectItemInListOnUIThread(19); + solo.clickOnText(context.getString(R.string.pref_network_title)); + solo.clickOnText(context.getString(R.string.pref_transport_udp)); + solo.goBack(); + selectItemInListOnUIThread(0); + + solo.clickOnText(context.getString(R.string.setup_title)); + solo.assertCurrentActivity("Expected Setup Activity", SetupActivity.class); + solo.clickOnView(solo.getView(R.id.setup_next)); + solo.clickOnText(context.getString(R.string.setup_login_generic)); + solo.enterText((EditText) solo.getView(R.id.setup_username), "0953335419"); + solo.enterText((EditText) solo.getView(R.id.setup_password), "jodeeeeeer"); + solo.enterText((EditText) solo.getView(R.id.setup_domain), "freephonie.net"); + solo.clickOnText(context.getString(R.string.setup_apply)); + + solo.waitForActivity("LinphoneActivity", 2000); + solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); + solo.clickOnView(solo.getView(R.id.settings)); + + solo.clickOnText("0953335419@freephonie.net"); + selectItemInListOnUIThread(6); + solo.clickOnText(context.getString(R.string.pref_default_account)); + +// solo.clickOnText(context.getString(R.string.pref_proxy)); +// solo.enterText(0, "sip.linphone.org"); +// solo.clickOnText("OK"); +// solo.clickOnText(context.getString(R.string.pref_enable_outbound_proxy)); + + solo.goBack(); + solo.goBack(); + } + + private void deleteFreephonieAccount() { + Context context = getActivity(); + + solo.waitForActivity("LinphoneActivity", 2000); + solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); + solo.clickOnView(solo.getView(R.id.settings)); + + selectItemInListOnUIThread(0); + solo.clickOnText("junit@test.linphone.org"); + selectItemInListOnUIThread(6); + solo.clickOnText(context.getString(R.string.pref_default_account)); + solo.goBack(); + + solo.clickOnText("0953335419@freephonie.net"); + selectItemInListOnUIThread(7); + solo.clickOnText(context.getString(R.string.pref_delete_account)); + + selectItemInListOnUIThread(19); + solo.clickOnText(context.getString(R.string.pref_network_title)); + solo.clickOnText(context.getString(R.string.pref_transport_tls)); + solo.goBack(); + + solo.goBack(); + } + + private void goToDialerAndOutgoingCall() { + solo.clickOnView(solo.getView(R.id.dialer)); + solo.clickOnView(solo.getView(R.id.Adress)); + solo.enterText((EditText) solo.getView(R.id.Adress), numberToCallToTestPSTNGateway); + solo.clickOnView(solo.getView(R.id.Call)); + + solo.waitForActivity("InCallActivity", 2000); + solo.assertCurrentActivity("Expected InCall Activity", InCallActivity.class); + solo.waitForText("01", 1, 15000); + solo.clickOnView(solo.getView(R.id.hangUp)); + + solo.waitForActivity("LinphoneActivity", 2000); + solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); + } + + @Override + protected void setUp() throws Exception { + super.setUp(); + solo = new Solo(getInstrumentation(), getActivity()); + } + + public void testAOutgoingCallUsingPSTNGatewayAndFreephonieNetwork() { + configureFreephonieAccount(); + goToDialerAndOutgoingCall(); + deleteFreephonieAccount(); + } + + @Override + public void tearDown() throws Exception { + solo.finishOpenedActivities(); + } +} diff --git a/tests/src/org/linphone/test/SignalingTest.java b/tests/src/org/linphone/test/SignalingTest.java index 1d63134b1..79225f4e3 100644 --- a/tests/src/org/linphone/test/SignalingTest.java +++ b/tests/src/org/linphone/test/SignalingTest.java @@ -40,7 +40,7 @@ public class SignalingTest extends ActivityInstrumentationTestCase2