blob: 7c29fdfa9db03ed7b435acba1c50dc0a6cb66bd1 [file] [log] [blame]
package com.chip.casting.dnssd;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.net.nsd.NsdManager;
import android.net.nsd.NsdServiceInfo;
import com.chip.casting.app.CastingContext;
import com.chip.casting.util.GlobalCastingConstants;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
@RunWith(MockitoJUnitRunner.class)
public class CommissionerDiscoveryListenerTest {
@Mock private CastingContext castingContext;
@Mock private NsdServiceInfo nsdService;
@Mock private NsdManager nsdManager;
@Test
public void onServiceFound_callsResolve_whenCommissionerDiscovered() {
when(nsdService.getServiceType()).thenReturn(GlobalCastingConstants.CommissionerServiceType);
when(castingContext.getNsdManager()).thenReturn(nsdManager);
doNothing().when(nsdManager).resolveService(any(), any());
CommissionerDiscoveryListener listener = new CommissionerDiscoveryListener(castingContext);
listener.onServiceFound(nsdService);
verify(nsdManager, times(1)).resolveService(any(), any());
}
@Test
public void onServiceFound_noCallsToResolve_whenNonCommissionerDiscovered() {
when(nsdService.getServiceType()).thenReturn("_type._udp");
CommissionerDiscoveryListener listener = new CommissionerDiscoveryListener(castingContext);
listener.onServiceFound(nsdService);
verify(nsdManager, times(0)).resolveService(any(), any());
}
@Test
public void onStartDiscoveryFailed_callsStopServiceDiscovery() {
when(castingContext.getNsdManager()).thenReturn(nsdManager);
doNothing().when(nsdManager).stopServiceDiscovery(any());
CommissionerDiscoveryListener listener = new CommissionerDiscoveryListener(castingContext);
listener.onStartDiscoveryFailed("_test_type._udp", 1);
verify(nsdManager, times(1)).stopServiceDiscovery(any());
}
@Test
public void onStopDiscoveryFailed_callsStopServiceDiscovery() {
when(castingContext.getNsdManager()).thenReturn(nsdManager);
doNothing().when(nsdManager).stopServiceDiscovery(any());
CommissionerDiscoveryListener listener = new CommissionerDiscoveryListener(castingContext);
listener.onStopDiscoveryFailed("_test_type._udp", 1);
verify(nsdManager, times(1)).stopServiceDiscovery(any());
}
}