Merge "NsdService: disentangle NativeDaemonConnector from ctor" am: fa97f11b20 am: 47748b754c

am: 5d0bd13538

Change-Id: Ic8ddf92c7c64d4214a75bea6d6e5083f4612a76a
This commit is contained in:
Hugo Benichi
2017-04-27 13:06:59 +00:00
committed by android-build-merger

View File

@@ -16,6 +16,11 @@
package com.android.server; package com.android.server;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.timeout;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import android.os.Handler; import android.os.Handler;
@@ -25,6 +30,9 @@ import android.os.test.TestLooper;
import android.content.Context; import android.content.Context;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.net.nsd.NsdManager; import android.net.nsd.NsdManager;
import com.android.server.NsdService.DaemonConnection;
import com.android.server.NsdService.DaemonConnectionSupplier;
import com.android.server.NsdService.NativeCallbackReceiver;
import android.support.test.filters.SmallTest; import android.support.test.filters.SmallTest;
import android.support.test.runner.AndroidJUnit4; import android.support.test.runner.AndroidJUnit4;
import org.junit.Before; import org.junit.Before;
@@ -34,7 +42,6 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
// TODOs: // TODOs:
// - test daemon connection
// - test client disconnects // - test client disconnects
// - test client can send requests and receive replies // - test client can send requests and receive replies
// - test NSD_ON ENABLE/DISABLED listening // - test NSD_ON ENABLE/DISABLED listening
@@ -45,6 +52,8 @@ public class NsdServiceTest {
@Mock Context mContext; @Mock Context mContext;
@Mock ContentResolver mResolver; @Mock ContentResolver mResolver;
@Mock NsdService.NsdSettings mSettings; @Mock NsdService.NsdSettings mSettings;
@Mock DaemonConnection mDaemon;
NativeCallbackReceiver mDaemonCallback;
TestLooper mLooper; TestLooper mLooper;
TestHandler mHandler; TestHandler mHandler;
@@ -58,8 +67,13 @@ public class NsdServiceTest {
@Test @Test
public void testClientsCanConnect() { public void testClientsCanConnect() {
when(mSettings.isEnabled()).thenReturn(true);
NsdService service = makeService(); NsdService service = makeService();
NsdManager client1 = connectClient(service); NsdManager client1 = connectClient(service);
verify(mDaemon, timeout(100).times(1)).execute("start-service");
NsdManager client2 = connectClient(service); NsdManager client2 = connectClient(service);
// TODO: disconnect client1 // TODO: disconnect client1
@@ -67,7 +81,13 @@ public class NsdServiceTest {
} }
NsdService makeService() { NsdService makeService() {
return new NsdService(mContext, mSettings, mHandler); DaemonConnectionSupplier supplier = (callback) -> {
mDaemonCallback = callback;
return mDaemon;
};
NsdService service = new NsdService(mContext, mSettings, mHandler, supplier);
verify(mDaemon, never()).execute(any(String.class));
return service;
} }
NsdManager connectClient(NsdService service) { NsdManager connectClient(NsdService service) {