2 * Copyright (c) 2021 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package com.samsung.android.beyond.InferenceUnitTest;
19 import android.content.Context;
21 import com.samsung.android.beyond.ConfigType;
22 import com.samsung.android.beyond.authenticator.Authenticator;
23 import com.samsung.android.beyond.inference.InferenceModuleFactory;
24 import com.samsung.android.beyond.inference.Peer;
25 import com.samsung.android.beyond.module.authenticator.SSL.SSLModule;
26 import com.samsung.android.beyond.module.peer.NN.NNModule;
28 import org.junit.BeforeClass;
29 import org.junit.Test;
31 import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
32 import static com.samsung.android.beyond.TestUtils.*;
33 import static org.junit.Assert.assertEquals;
34 import static org.junit.Assert.assertNotNull;
35 import static org.junit.Assert.assertTrue;
37 public class InferencePeerUnitTest {
39 private static Context context;
41 private Peer inferencePeer = null;
44 public static void initialize() {
45 context = getInstrumentation().getContext();
49 public void testCreatePeerServer() {
50 inferencePeer = InferenceModuleFactory.createPeerServer(context, NNModule.NAME);
51 assertNotNull(inferencePeer);
55 public void testPeerServerSetInfo() {
56 inferencePeer = InferenceModuleFactory.createPeerServer(context, NNModule.NAME);
58 assertEquals(true, inferencePeer.setInfo());
62 public void testPeerServerGetInfo() {
63 inferencePeer = InferenceModuleFactory.createPeerServer(context, NNModule.NAME);
64 inferencePeer.setInfo();
66 Peer.Info info = inferencePeer.getInfo();
68 assertEquals(info.port, 3000);
69 assertEquals(info.host, "0.0.0.0");
73 public void testPeerServerActivateControlChannel() {
74 inferencePeer = InferenceModuleFactory.createPeerServer(context, NNModule.NAME);
75 inferencePeer.setInfo();
77 assertEquals(true, inferencePeer.activateControlChannel());
81 public void testPeerServerConfigureWithAuthenticator() {
85 Authenticator auth = new Authenticator(args);
88 assertTrue(auth.activate());
89 assertTrue(auth.prepare());
91 inferencePeer = InferenceModuleFactory.createPeerServer(context, NNModule.NAME);
92 assertNotNull(inferencePeer);
94 boolean status = inferencePeer.configure(ConfigType.AUTHENTICATOR, auth);
98 // GC the inferencePeer and destroy its native instance
105 public void testPeerServerDeactivateControlChannel() {
106 inferencePeer = InferenceModuleFactory.createPeerServer(context, NNModule.NAME);
107 inferencePeer.setInfo();
108 inferencePeer.activateControlChannel();
110 assertEquals(true, inferencePeer.deactivateControlChannel());
114 public void testCreatePeerClient() {
115 inferencePeer = InferenceModuleFactory.createPeerClient(context, NNModule.NAME);
117 assertNotNull(inferencePeer);
121 public void testPeerClientSetInfo() {
122 inferencePeer = InferenceModuleFactory.createPeerClient(context, NNModule.NAME);
123 Peer.Info info = new Peer.Info();
124 info.host = TEST_SERVER_IP;
125 info.port = TEST_SERVER_PORT;
126 assertEquals(true, inferencePeer.setInfo(info));
130 public void testPeerClientActivateControlChannel() {
131 inferencePeer = InferenceModuleFactory.createPeerClient(context, NNModule.NAME);
132 Peer.Info info = new Peer.Info();
133 info.host = TEST_SERVER_IP;
134 info.port = TEST_SERVER_PORT;
135 inferencePeer.setInfo(info);
137 assertEquals(true, inferencePeer.activateControlChannel());
141 public void testPeerClientDeactivateControlChannel() {
142 Peer serverPeer = InferenceModuleFactory.createPeerServer(context, NNModule.NAME);
143 serverPeer.setInfo();
144 serverPeer.activateControlChannel();
146 inferencePeer = InferenceModuleFactory.createPeerClient(context, NNModule.NAME);
147 inferencePeer.setInfo();
148 inferencePeer.activateControlChannel();
150 assertEquals(true, inferencePeer.deactivateControlChannel());