aboutsummaryrefslogtreecommitdiff
path: root/tests/iketests/src/java/com/android/ike/ikev2/IkeSessionTest.java
diff options
context:
space:
mode:
authorevitayan <evitayan@google.com>2019-10-30 14:36:17 -0700
committerevitayan <evitayan@google.com>2019-11-07 14:52:32 -0800
commite8da20d0f53fa8241d9195ae14b4434fe9b8e1e8 (patch)
treeb39c3e794945072d38b97c963c5a6f10753514e1 /tests/iketests/src/java/com/android/ike/ikev2/IkeSessionTest.java
parente27a40124c6885b385cef49f7ae3132c323e00c1 (diff)
downloadike-e8da20d0f53fa8241d9195ae14b4434fe9b8e1e8.tar.gz
Move API and impl to separate packages
This commit - Moves API and implementation to separate packages so that later we can expose the API package only. - Also moves tests accordingly Bug: 143983419 Test: atest FrameworksIkeTests(all tests passed) Change-Id: I53cf15caefb09aabaeefd0167d8daeb23e5e571f
Diffstat (limited to 'tests/iketests/src/java/com/android/ike/ikev2/IkeSessionTest.java')
-rw-r--r--tests/iketests/src/java/com/android/ike/ikev2/IkeSessionTest.java160
1 files changed, 0 insertions, 160 deletions
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/IkeSessionTest.java b/tests/iketests/src/java/com/android/ike/ikev2/IkeSessionTest.java
deleted file mode 100644
index 28a13110..00000000
--- a/tests/iketests/src/java/com/android/ike/ikev2/IkeSessionTest.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.ike.ikev2;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
-
-import android.content.Context;
-import android.net.IpSecManager;
-import android.os.Looper;
-import android.os.test.TestLooper;
-import android.util.Log;
-
-import com.android.ike.ikev2.testutils.MockIpSecTestUtils;
-
-import libcore.net.InetAddressUtils;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import java.net.Inet4Address;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.Executor;
-import java.util.concurrent.TimeUnit;
-
-public final class IkeSessionTest {
- private static final int TIMEOUT_MS = 500;
-
- private static final Inet4Address LOCAL_ADDRESS =
- (Inet4Address) (InetAddressUtils.parseNumericAddress("192.0.2.200"));
- private static final Inet4Address REMOTE_ADDRESS =
- (Inet4Address) (InetAddressUtils.parseNumericAddress("127.0.0.1"));
-
- private MockIpSecTestUtils mMockIpSecTestUtils;
- private IpSecManager mIpSecManager;
- private Context mContext;
-
- private IkeSessionOptions mIkeSessionOptions;
- private ChildSessionOptions mMockChildSessionOptions;
- private Executor mUserCbExecutor;
- private IkeSessionCallback mMockIkeSessionCb;
- private ChildSessionCallback mMockChildSessionCb;
-
- @Before
- public void setUp() throws Exception {
- if (Looper.myLooper() == null) Looper.prepare();
-
- mMockIpSecTestUtils = MockIpSecTestUtils.setUpMockIpSec();
- mIpSecManager = mMockIpSecTestUtils.getIpSecManager();
- mContext = mMockIpSecTestUtils.getContext();
-
- mIkeSessionOptions = buildIkeSessionOptions();
- mMockChildSessionOptions = mock(ChildSessionOptions.class);
- mUserCbExecutor = (r) -> r.run(); // Inline executor for testing purposes.
- mMockIkeSessionCb = mock(IkeSessionCallback.class);
- mMockChildSessionCb = mock(ChildSessionCallback.class);
- }
-
- private IkeSessionOptions buildIkeSessionOptions() throws Exception {
- return new IkeSessionOptions.Builder()
- .setServerAddress(REMOTE_ADDRESS)
- .setUdpEncapsulationSocket(mIpSecManager.openUdpEncapsulationSocket())
- .addSaProposal(IkeSessionStateMachineTest.buildSaProposal())
- .setLocalIdentification(new IkeIpv4AddrIdentification((Inet4Address) LOCAL_ADDRESS))
- .setRemoteIdentification(
- new IkeIpv4AddrIdentification((Inet4Address) REMOTE_ADDRESS))
- .setAuthPsk(new byte[0] /* psk, unused */)
- .build();
- }
-
- @Test
- public void testConstructIkeSession() throws Exception {
- IkeSession ikeSession =
- new IkeSession(
- mContext,
- mIkeSessionOptions,
- mMockChildSessionOptions,
- mUserCbExecutor,
- mMockIkeSessionCb,
- mMockChildSessionCb);
- assertNotNull(ikeSession.mIkeSessionStateMachine.getHandler().getLooper());
- }
-
- /**
- * Test that when users construct IkeSessions from different threads, these IkeSessions will
- * still be running on the same IKE worker thread.
- */
- @Test
- public void testConstructFromDifferentThreads() throws Exception {
- final int numSession = 2;
- IkeSession[] sessions = new IkeSession[numSession];
-
- final CountDownLatch cntLatch = new CountDownLatch(2);
-
- for (int i = 0; i < numSession; i++) {
- int index = i;
- new Thread() {
- @Override
- public void run() {
- try {
- sessions[index] =
- new IkeSession(
- mContext,
- mIkeSessionOptions,
- mMockChildSessionOptions,
- mUserCbExecutor,
- mMockIkeSessionCb,
- mMockChildSessionCb);
- cntLatch.countDown();
- } catch (Exception e) {
- Log.e("IkeSessionTest", "error encountered constructing IkeSession. ", e);
- }
- }
- }.start();
- }
-
- assertTrue(cntLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS));
-
- // Verify that two sessions use the same looper.
- assertEquals(
- sessions[0].mIkeSessionStateMachine.getHandler().getLooper(),
- sessions[1].mIkeSessionStateMachine.getHandler().getLooper());
- }
-
- @Test
- public void testOpensIkeSession() throws Exception {
- TestLooper testLooper = new TestLooper();
- IkeSession ikeSession =
- new IkeSession(
- testLooper.getLooper(),
- mContext,
- mIpSecManager,
- mIkeSessionOptions,
- mMockChildSessionOptions,
- mUserCbExecutor,
- mMockIkeSessionCb,
- mMockChildSessionCb);
- testLooper.dispatchAll();
-
- assertTrue(
- ikeSession.mIkeSessionStateMachine.getCurrentState()
- instanceof IkeSessionStateMachine.CreateIkeLocalIkeInit);
- }
-}