Merge "Add common parameters to reduce duplicated code"
This commit is contained in:
@@ -86,10 +86,15 @@ import java.util.Queue;
|
|||||||
@SmallTest
|
@SmallTest
|
||||||
@DevSdkIgnoreRule.IgnoreUpTo(Build.VERSION_CODES.S_V2)
|
@DevSdkIgnoreRule.IgnoreUpTo(Build.VERSION_CODES.S_V2)
|
||||||
public class NsdServiceTest {
|
public class NsdServiceTest {
|
||||||
|
|
||||||
static final int PROTOCOL = NsdManager.PROTOCOL_DNS_SD;
|
static final int PROTOCOL = NsdManager.PROTOCOL_DNS_SD;
|
||||||
private static final long CLEANUP_DELAY_MS = 500;
|
private static final long CLEANUP_DELAY_MS = 500;
|
||||||
private static final long TIMEOUT_MS = 500;
|
private static final long TIMEOUT_MS = 500;
|
||||||
|
private static final String SERVICE_NAME = "a_name";
|
||||||
|
private static final String SERVICE_TYPE = "a_type";
|
||||||
|
private static final String SERVICE_FULL_NAME = SERVICE_NAME + "." + SERVICE_TYPE;
|
||||||
|
private static final String DOMAIN_NAME = "mytestdevice.local";
|
||||||
|
private static final int PORT = 2201;
|
||||||
|
private static final int IFACE_IDX_ANY = 0;
|
||||||
|
|
||||||
// Records INsdManagerCallback created when NsdService#connect is called.
|
// Records INsdManagerCallback created when NsdService#connect is called.
|
||||||
// Only accessed on the test thread, since NsdService#connect is called by the NsdManager
|
// Only accessed on the test thread, since NsdService#connect is called by the NsdManager
|
||||||
@@ -103,6 +108,7 @@ public class NsdServiceTest {
|
|||||||
@Mock MDnsManager mMockMDnsM;
|
@Mock MDnsManager mMockMDnsM;
|
||||||
HandlerThread mThread;
|
HandlerThread mThread;
|
||||||
TestHandler mHandler;
|
TestHandler mHandler;
|
||||||
|
NsdService mService;
|
||||||
|
|
||||||
private static class LinkToDeathRecorder extends Binder {
|
private static class LinkToDeathRecorder extends Binder {
|
||||||
IBinder.DeathRecipient mDr;
|
IBinder.DeathRecipient mDr;
|
||||||
@@ -134,6 +140,8 @@ public class NsdServiceTest {
|
|||||||
doReturn(true).when(mMockMDnsM).discover(anyInt(), anyString(), anyInt());
|
doReturn(true).when(mMockMDnsM).discover(anyInt(), anyString(), anyInt());
|
||||||
doReturn(true).when(mMockMDnsM).resolve(
|
doReturn(true).when(mMockMDnsM).resolve(
|
||||||
anyInt(), anyString(), anyString(), anyString(), anyInt());
|
anyInt(), anyString(), anyString(), anyString(), anyInt());
|
||||||
|
|
||||||
|
mService = makeService();
|
||||||
}
|
}
|
||||||
|
|
||||||
@After
|
@After
|
||||||
@@ -147,18 +155,14 @@ public class NsdServiceTest {
|
|||||||
@Test
|
@Test
|
||||||
@DisableCompatChanges(NsdManager.RUN_NATIVE_NSD_ONLY_IF_LEGACY_APPS)
|
@DisableCompatChanges(NsdManager.RUN_NATIVE_NSD_ONLY_IF_LEGACY_APPS)
|
||||||
public void testPreSClients() throws Exception {
|
public void testPreSClients() throws Exception {
|
||||||
NsdService service = makeService();
|
|
||||||
|
|
||||||
// Pre S client connected, the daemon should be started.
|
// Pre S client connected, the daemon should be started.
|
||||||
connectClient(service);
|
connectClient(mService);
|
||||||
waitForIdle();
|
|
||||||
final INsdManagerCallback cb1 = getCallback();
|
final INsdManagerCallback cb1 = getCallback();
|
||||||
final IBinder.DeathRecipient deathRecipient1 = verifyLinkToDeath(cb1);
|
final IBinder.DeathRecipient deathRecipient1 = verifyLinkToDeath(cb1);
|
||||||
verify(mMockMDnsM, times(1)).registerEventListener(any());
|
verify(mMockMDnsM, times(1)).registerEventListener(any());
|
||||||
verify(mMockMDnsM, times(1)).startDaemon();
|
verify(mMockMDnsM, times(1)).startDaemon();
|
||||||
|
|
||||||
connectClient(service);
|
connectClient(mService);
|
||||||
waitForIdle();
|
|
||||||
final INsdManagerCallback cb2 = getCallback();
|
final INsdManagerCallback cb2 = getCallback();
|
||||||
final IBinder.DeathRecipient deathRecipient2 = verifyLinkToDeath(cb2);
|
final IBinder.DeathRecipient deathRecipient2 = verifyLinkToDeath(cb2);
|
||||||
// Daemon has been started, it should not try to start it again.
|
// Daemon has been started, it should not try to start it again.
|
||||||
@@ -178,19 +182,15 @@ public class NsdServiceTest {
|
|||||||
@Test
|
@Test
|
||||||
@EnableCompatChanges(NsdManager.RUN_NATIVE_NSD_ONLY_IF_LEGACY_APPS)
|
@EnableCompatChanges(NsdManager.RUN_NATIVE_NSD_ONLY_IF_LEGACY_APPS)
|
||||||
public void testNoDaemonStartedWhenClientsConnect() throws Exception {
|
public void testNoDaemonStartedWhenClientsConnect() throws Exception {
|
||||||
final NsdService service = makeService();
|
|
||||||
|
|
||||||
// Creating an NsdManager will not cause daemon startup.
|
// Creating an NsdManager will not cause daemon startup.
|
||||||
connectClient(service);
|
connectClient(mService);
|
||||||
waitForIdle();
|
|
||||||
verify(mMockMDnsM, never()).registerEventListener(any());
|
verify(mMockMDnsM, never()).registerEventListener(any());
|
||||||
verify(mMockMDnsM, never()).startDaemon();
|
verify(mMockMDnsM, never()).startDaemon();
|
||||||
final INsdManagerCallback cb1 = getCallback();
|
final INsdManagerCallback cb1 = getCallback();
|
||||||
final IBinder.DeathRecipient deathRecipient1 = verifyLinkToDeath(cb1);
|
final IBinder.DeathRecipient deathRecipient1 = verifyLinkToDeath(cb1);
|
||||||
|
|
||||||
// Creating another NsdManager will not cause daemon startup either.
|
// Creating another NsdManager will not cause daemon startup either.
|
||||||
connectClient(service);
|
connectClient(mService);
|
||||||
waitForIdle();
|
|
||||||
verify(mMockMDnsM, never()).registerEventListener(any());
|
verify(mMockMDnsM, never()).registerEventListener(any());
|
||||||
verify(mMockMDnsM, never()).startDaemon();
|
verify(mMockMDnsM, never()).startDaemon();
|
||||||
final INsdManagerCallback cb2 = getCallback();
|
final INsdManagerCallback cb2 = getCallback();
|
||||||
@@ -216,70 +216,66 @@ public class NsdServiceTest {
|
|||||||
@Test
|
@Test
|
||||||
@EnableCompatChanges(NsdManager.RUN_NATIVE_NSD_ONLY_IF_LEGACY_APPS)
|
@EnableCompatChanges(NsdManager.RUN_NATIVE_NSD_ONLY_IF_LEGACY_APPS)
|
||||||
public void testClientRequestsAreGCedAtDisconnection() throws Exception {
|
public void testClientRequestsAreGCedAtDisconnection() throws Exception {
|
||||||
NsdService service = makeService();
|
final NsdManager client = connectClient(mService);
|
||||||
|
|
||||||
NsdManager client = connectClient(service);
|
|
||||||
waitForIdle();
|
|
||||||
final INsdManagerCallback cb1 = getCallback();
|
final INsdManagerCallback cb1 = getCallback();
|
||||||
final IBinder.DeathRecipient deathRecipient = verifyLinkToDeath(cb1);
|
final IBinder.DeathRecipient deathRecipient = verifyLinkToDeath(cb1);
|
||||||
verify(mMockMDnsM, never()).registerEventListener(any());
|
verify(mMockMDnsM, never()).registerEventListener(any());
|
||||||
verify(mMockMDnsM, never()).startDaemon();
|
verify(mMockMDnsM, never()).startDaemon();
|
||||||
|
|
||||||
NsdServiceInfo request = new NsdServiceInfo("a_name", "a_type");
|
final NsdServiceInfo request = new NsdServiceInfo(SERVICE_NAME, SERVICE_TYPE);
|
||||||
request.setPort(2201);
|
request.setPort(PORT);
|
||||||
|
|
||||||
// Client registration request
|
// Client registration request
|
||||||
NsdManager.RegistrationListener listener1 = mock(NsdManager.RegistrationListener.class);
|
NsdManager.RegistrationListener listener1 = mock(NsdManager.RegistrationListener.class);
|
||||||
client.registerService(request, PROTOCOL, listener1);
|
client.registerService(request, PROTOCOL, listener1);
|
||||||
waitForIdle();
|
waitForIdle();
|
||||||
verify(mMockMDnsM, times(1)).registerEventListener(any());
|
verify(mMockMDnsM).registerEventListener(any());
|
||||||
verify(mMockMDnsM, times(1)).startDaemon();
|
verify(mMockMDnsM).startDaemon();
|
||||||
verify(mMockMDnsM, times(1)).registerService(
|
verify(mMockMDnsM).registerService(
|
||||||
eq(2), eq("a_name"), eq("a_type"), eq(2201), any(), eq(0));
|
eq(2), eq(SERVICE_NAME), eq(SERVICE_TYPE), eq(PORT), any(), eq(IFACE_IDX_ANY));
|
||||||
|
|
||||||
// Client discovery request
|
// Client discovery request
|
||||||
NsdManager.DiscoveryListener listener2 = mock(NsdManager.DiscoveryListener.class);
|
NsdManager.DiscoveryListener listener2 = mock(NsdManager.DiscoveryListener.class);
|
||||||
client.discoverServices("a_type", PROTOCOL, listener2);
|
client.discoverServices(SERVICE_TYPE, PROTOCOL, listener2);
|
||||||
waitForIdle();
|
waitForIdle();
|
||||||
verify(mMockMDnsM, times(1)).discover(eq(3), eq("a_type"), eq(0));
|
verify(mMockMDnsM).discover(3 /* id */, SERVICE_TYPE, IFACE_IDX_ANY);
|
||||||
|
|
||||||
// Client resolve request
|
// Client resolve request
|
||||||
NsdManager.ResolveListener listener3 = mock(NsdManager.ResolveListener.class);
|
NsdManager.ResolveListener listener3 = mock(NsdManager.ResolveListener.class);
|
||||||
client.resolveService(request, listener3);
|
client.resolveService(request, listener3);
|
||||||
waitForIdle();
|
waitForIdle();
|
||||||
verify(mMockMDnsM, times(1)).resolve(
|
verify(mMockMDnsM).resolve(
|
||||||
eq(4), eq("a_name"), eq("a_type"), eq("local."), eq(0));
|
4 /* id */, SERVICE_NAME, SERVICE_TYPE, "local." /* domain */, IFACE_IDX_ANY);
|
||||||
|
|
||||||
// Client disconnects, stop the daemon after CLEANUP_DELAY_MS.
|
// Client disconnects, stop the daemon after CLEANUP_DELAY_MS.
|
||||||
deathRecipient.binderDied();
|
deathRecipient.binderDied();
|
||||||
verifyDelayMaybeStopDaemon(CLEANUP_DELAY_MS);
|
verifyDelayMaybeStopDaemon(CLEANUP_DELAY_MS);
|
||||||
// checks that request are cleaned
|
// checks that request are cleaned
|
||||||
verify(mMockMDnsM, times(1)).stopOperation(eq(2));
|
verify(mMockMDnsM).stopOperation(2 /* id */);
|
||||||
verify(mMockMDnsM, times(1)).stopOperation(eq(3));
|
verify(mMockMDnsM).stopOperation(3 /* id */);
|
||||||
verify(mMockMDnsM, times(1)).stopOperation(eq(4));
|
verify(mMockMDnsM).stopOperation(4 /* id */);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@EnableCompatChanges(NsdManager.RUN_NATIVE_NSD_ONLY_IF_LEGACY_APPS)
|
@EnableCompatChanges(NsdManager.RUN_NATIVE_NSD_ONLY_IF_LEGACY_APPS)
|
||||||
public void testCleanupDelayNoRequestActive() throws Exception {
|
public void testCleanupDelayNoRequestActive() throws Exception {
|
||||||
NsdService service = makeService();
|
final NsdManager client = connectClient(mService);
|
||||||
NsdManager client = connectClient(service);
|
|
||||||
|
|
||||||
NsdServiceInfo request = new NsdServiceInfo("a_name", "a_type");
|
final NsdServiceInfo request = new NsdServiceInfo(SERVICE_NAME, SERVICE_TYPE);
|
||||||
request.setPort(2201);
|
request.setPort(PORT);
|
||||||
NsdManager.RegistrationListener listener1 = mock(NsdManager.RegistrationListener.class);
|
NsdManager.RegistrationListener listener1 = mock(NsdManager.RegistrationListener.class);
|
||||||
client.registerService(request, PROTOCOL, listener1);
|
client.registerService(request, PROTOCOL, listener1);
|
||||||
waitForIdle();
|
waitForIdle();
|
||||||
verify(mMockMDnsM, times(1)).registerEventListener(any());
|
verify(mMockMDnsM).registerEventListener(any());
|
||||||
verify(mMockMDnsM, times(1)).startDaemon();
|
verify(mMockMDnsM).startDaemon();
|
||||||
final INsdManagerCallback cb1 = getCallback();
|
final INsdManagerCallback cb1 = getCallback();
|
||||||
final IBinder.DeathRecipient deathRecipient = verifyLinkToDeath(cb1);
|
final IBinder.DeathRecipient deathRecipient = verifyLinkToDeath(cb1);
|
||||||
verify(mMockMDnsM, times(1)).registerService(
|
verify(mMockMDnsM).registerService(
|
||||||
eq(2), eq("a_name"), eq("a_type"), eq(2201), any(), eq(0));
|
eq(2), eq(SERVICE_NAME), eq(SERVICE_TYPE), eq(PORT), any(), eq(IFACE_IDX_ANY));
|
||||||
|
|
||||||
client.unregisterService(listener1);
|
client.unregisterService(listener1);
|
||||||
waitForIdle();
|
waitForIdle();
|
||||||
verify(mMockMDnsM, times(1)).stopOperation(eq(2));
|
verify(mMockMDnsM).stopOperation(2 /* id */);
|
||||||
|
|
||||||
verifyDelayMaybeStopDaemon(CLEANUP_DELAY_MS);
|
verifyDelayMaybeStopDaemon(CLEANUP_DELAY_MS);
|
||||||
reset(mMockMDnsM);
|
reset(mMockMDnsM);
|
||||||
@@ -291,33 +287,28 @@ public class NsdServiceTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testDiscoverOnTetheringDownstream() throws Exception {
|
public void testDiscoverOnTetheringDownstream() throws Exception {
|
||||||
NsdService service = makeService();
|
final NsdManager client = connectClient(mService);
|
||||||
NsdManager client = connectClient(service);
|
|
||||||
|
|
||||||
final String serviceType = "a_type";
|
|
||||||
final String serviceName = "a_name";
|
|
||||||
final String domainName = "mytestdevice.local";
|
|
||||||
final int interfaceIdx = 123;
|
final int interfaceIdx = 123;
|
||||||
final NsdManager.DiscoveryListener discListener = mock(NsdManager.DiscoveryListener.class);
|
final NsdManager.DiscoveryListener discListener = mock(NsdManager.DiscoveryListener.class);
|
||||||
client.discoverServices(serviceType, NsdManager.PROTOCOL_DNS_SD, discListener);
|
client.discoverServices(SERVICE_TYPE, PROTOCOL, discListener);
|
||||||
waitForIdle();
|
waitForIdle();
|
||||||
|
|
||||||
final ArgumentCaptor<IMDnsEventListener> listenerCaptor =
|
final ArgumentCaptor<IMDnsEventListener> listenerCaptor =
|
||||||
ArgumentCaptor.forClass(IMDnsEventListener.class);
|
ArgumentCaptor.forClass(IMDnsEventListener.class);
|
||||||
verify(mMockMDnsM).registerEventListener(listenerCaptor.capture());
|
verify(mMockMDnsM).registerEventListener(listenerCaptor.capture());
|
||||||
final ArgumentCaptor<Integer> discIdCaptor = ArgumentCaptor.forClass(Integer.class);
|
final ArgumentCaptor<Integer> discIdCaptor = ArgumentCaptor.forClass(Integer.class);
|
||||||
verify(mMockMDnsM).discover(discIdCaptor.capture(), eq(serviceType),
|
verify(mMockMDnsM).discover(discIdCaptor.capture(), eq(SERVICE_TYPE),
|
||||||
eq(0) /* interfaceIdx */);
|
eq(0) /* interfaceIdx */);
|
||||||
// NsdManager uses a separate HandlerThread to dispatch callbacks (on ServiceHandler), so
|
// NsdManager uses a separate HandlerThread to dispatch callbacks (on ServiceHandler), so
|
||||||
// this needs to use a timeout
|
// this needs to use a timeout
|
||||||
verify(discListener, timeout(TIMEOUT_MS)).onDiscoveryStarted(serviceType);
|
verify(discListener, timeout(TIMEOUT_MS)).onDiscoveryStarted(SERVICE_TYPE);
|
||||||
|
|
||||||
final DiscoveryInfo discoveryInfo = new DiscoveryInfo(
|
final DiscoveryInfo discoveryInfo = new DiscoveryInfo(
|
||||||
discIdCaptor.getValue(),
|
discIdCaptor.getValue(),
|
||||||
IMDnsEventListener.SERVICE_FOUND,
|
IMDnsEventListener.SERVICE_FOUND,
|
||||||
serviceName,
|
SERVICE_NAME,
|
||||||
serviceType,
|
SERVICE_TYPE,
|
||||||
domainName,
|
DOMAIN_NAME,
|
||||||
interfaceIdx,
|
interfaceIdx,
|
||||||
INetd.LOCAL_NET_ID); // LOCAL_NET_ID (99) used on tethering downstreams
|
INetd.LOCAL_NET_ID); // LOCAL_NET_ID (99) used on tethering downstreams
|
||||||
final IMDnsEventListener eventListener = listenerCaptor.getValue();
|
final IMDnsEventListener eventListener = listenerCaptor.getValue();
|
||||||
@@ -328,8 +319,8 @@ public class NsdServiceTest {
|
|||||||
ArgumentCaptor.forClass(NsdServiceInfo.class);
|
ArgumentCaptor.forClass(NsdServiceInfo.class);
|
||||||
verify(discListener, timeout(TIMEOUT_MS)).onServiceFound(discoveredInfoCaptor.capture());
|
verify(discListener, timeout(TIMEOUT_MS)).onServiceFound(discoveredInfoCaptor.capture());
|
||||||
final NsdServiceInfo foundInfo = discoveredInfoCaptor.getValue();
|
final NsdServiceInfo foundInfo = discoveredInfoCaptor.getValue();
|
||||||
assertEquals(serviceName, foundInfo.getServiceName());
|
assertEquals(SERVICE_NAME, foundInfo.getServiceName());
|
||||||
assertEquals(serviceType, foundInfo.getServiceType());
|
assertEquals(SERVICE_TYPE, foundInfo.getServiceType());
|
||||||
assertNull(foundInfo.getHost());
|
assertNull(foundInfo.getHost());
|
||||||
assertNull(foundInfo.getNetwork());
|
assertNull(foundInfo.getNetwork());
|
||||||
assertEquals(interfaceIdx, foundInfo.getInterfaceIndex());
|
assertEquals(interfaceIdx, foundInfo.getInterfaceIndex());
|
||||||
@@ -340,19 +331,18 @@ public class NsdServiceTest {
|
|||||||
waitForIdle();
|
waitForIdle();
|
||||||
|
|
||||||
final ArgumentCaptor<Integer> resolvIdCaptor = ArgumentCaptor.forClass(Integer.class);
|
final ArgumentCaptor<Integer> resolvIdCaptor = ArgumentCaptor.forClass(Integer.class);
|
||||||
verify(mMockMDnsM).resolve(resolvIdCaptor.capture(), eq(serviceName), eq(serviceType),
|
verify(mMockMDnsM).resolve(resolvIdCaptor.capture(), eq(SERVICE_NAME), eq(SERVICE_TYPE),
|
||||||
eq("local.") /* domain */, eq(interfaceIdx));
|
eq("local.") /* domain */, eq(interfaceIdx));
|
||||||
|
|
||||||
final int servicePort = 10123;
|
final int servicePort = 10123;
|
||||||
final String serviceFullName = serviceName + "." + serviceType;
|
|
||||||
final ResolutionInfo resolutionInfo = new ResolutionInfo(
|
final ResolutionInfo resolutionInfo = new ResolutionInfo(
|
||||||
resolvIdCaptor.getValue(),
|
resolvIdCaptor.getValue(),
|
||||||
IMDnsEventListener.SERVICE_RESOLVED,
|
IMDnsEventListener.SERVICE_RESOLVED,
|
||||||
null /* serviceName */,
|
null /* serviceName */,
|
||||||
null /* serviceType */,
|
null /* serviceType */,
|
||||||
null /* domain */,
|
null /* domain */,
|
||||||
serviceFullName,
|
SERVICE_FULL_NAME,
|
||||||
domainName,
|
DOMAIN_NAME,
|
||||||
servicePort,
|
servicePort,
|
||||||
new byte[0] /* txtRecord */,
|
new byte[0] /* txtRecord */,
|
||||||
interfaceIdx);
|
interfaceIdx);
|
||||||
@@ -362,14 +352,14 @@ public class NsdServiceTest {
|
|||||||
waitForIdle();
|
waitForIdle();
|
||||||
|
|
||||||
final ArgumentCaptor<Integer> getAddrIdCaptor = ArgumentCaptor.forClass(Integer.class);
|
final ArgumentCaptor<Integer> getAddrIdCaptor = ArgumentCaptor.forClass(Integer.class);
|
||||||
verify(mMockMDnsM).getServiceAddress(getAddrIdCaptor.capture(), eq(domainName),
|
verify(mMockMDnsM).getServiceAddress(getAddrIdCaptor.capture(), eq(DOMAIN_NAME),
|
||||||
eq(interfaceIdx));
|
eq(interfaceIdx));
|
||||||
|
|
||||||
final String serviceAddress = "192.0.2.123";
|
final String serviceAddress = "192.0.2.123";
|
||||||
final GetAddressInfo addressInfo = new GetAddressInfo(
|
final GetAddressInfo addressInfo = new GetAddressInfo(
|
||||||
getAddrIdCaptor.getValue(),
|
getAddrIdCaptor.getValue(),
|
||||||
IMDnsEventListener.SERVICE_GET_ADDR_SUCCESS,
|
IMDnsEventListener.SERVICE_GET_ADDR_SUCCESS,
|
||||||
serviceFullName,
|
SERVICE_FULL_NAME,
|
||||||
serviceAddress,
|
serviceAddress,
|
||||||
interfaceIdx,
|
interfaceIdx,
|
||||||
INetd.LOCAL_NET_ID);
|
INetd.LOCAL_NET_ID);
|
||||||
@@ -380,8 +370,8 @@ public class NsdServiceTest {
|
|||||||
ArgumentCaptor.forClass(NsdServiceInfo.class);
|
ArgumentCaptor.forClass(NsdServiceInfo.class);
|
||||||
verify(resolveListener, timeout(TIMEOUT_MS)).onServiceResolved(resInfoCaptor.capture());
|
verify(resolveListener, timeout(TIMEOUT_MS)).onServiceResolved(resInfoCaptor.capture());
|
||||||
final NsdServiceInfo resolvedService = resInfoCaptor.getValue();
|
final NsdServiceInfo resolvedService = resInfoCaptor.getValue();
|
||||||
assertEquals(serviceName, resolvedService.getServiceName());
|
assertEquals(SERVICE_NAME, resolvedService.getServiceName());
|
||||||
assertEquals("." + serviceType, resolvedService.getServiceType());
|
assertEquals("." + SERVICE_TYPE, resolvedService.getServiceType());
|
||||||
assertEquals(InetAddresses.parseNumericAddress(serviceAddress), resolvedService.getHost());
|
assertEquals(InetAddresses.parseNumericAddress(serviceAddress), resolvedService.getHost());
|
||||||
assertEquals(servicePort, resolvedService.getPort());
|
assertEquals(servicePort, resolvedService.getPort());
|
||||||
assertNull(resolvedService.getNetwork());
|
assertNull(resolvedService.getNetwork());
|
||||||
@@ -415,7 +405,10 @@ public class NsdServiceTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
NsdManager connectClient(NsdService service) {
|
NsdManager connectClient(NsdService service) {
|
||||||
return new NsdManager(mContext, service);
|
final NsdManager nsdManager = new NsdManager(mContext, service);
|
||||||
|
// Wait for client registration done.
|
||||||
|
waitForIdle();
|
||||||
|
return nsdManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
void verifyDelayMaybeStopDaemon(long cleanupDelayMs) throws Exception {
|
void verifyDelayMaybeStopDaemon(long cleanupDelayMs) throws Exception {
|
||||||
|
|||||||
Reference in New Issue
Block a user