Changeset View
Changeset View
Standalone View
Standalone View
java/src/test/java/org/softwareheritage/graph/rpc/CountEdgesTest.java
Show All 9 Lines | |||||
import com.google.protobuf.FieldMask; | import com.google.protobuf.FieldMask; | ||||
import io.grpc.Status; | import io.grpc.Status; | ||||
import io.grpc.StatusRuntimeException; | import io.grpc.StatusRuntimeException; | ||||
import org.junit.jupiter.api.Test; | import org.junit.jupiter.api.Test; | ||||
import org.softwareheritage.graph.SWHID; | import org.softwareheritage.graph.SWHID; | ||||
import static org.junit.jupiter.api.Assertions.assertEquals; | import static org.junit.jupiter.api.Assertions.assertEquals; | ||||
import static org.junit.jupiter.api.Assertions.assertThrows; | import static org.junit.jupiter.api.Assertions.assertThrows; | ||||
import org.junit.jupiter.params.ParameterizedTest; | |||||
import org.junit.jupiter.params.provider.ValueSource; | |||||
public class CountEdgesTest extends TraversalServiceTest { | public class CountEdgesTest extends TraversalServiceTest { | ||||
private TraversalRequest.Builder getTraversalRequestBuilder(SWHID src) { | private TraversalRequest.Builder getTraversalRequestBuilder(SWHID src) { | ||||
return TraversalRequest.newBuilder().addSrc(src.toString()); | return TraversalRequest.newBuilder().addSrc(src.toString()); | ||||
} | } | ||||
@Test | @Test | ||||
public void testSwhidErrors() { | public void testSwhidErrors() { | ||||
Show All 10 Lines | public class CountEdgesTest extends TraversalServiceTest { | ||||
} | } | ||||
@Test | @Test | ||||
public void forwardFromRoot() { | public void forwardFromRoot() { | ||||
CountResponse actual = client.countEdges(getTraversalRequestBuilder(new SWHID(TEST_ORIGIN_ID)).build()); | CountResponse actual = client.countEdges(getTraversalRequestBuilder(new SWHID(TEST_ORIGIN_ID)).build()); | ||||
assertEquals(13, actual.getCount()); | assertEquals(13, actual.getCount()); | ||||
} | } | ||||
@ParameterizedTest | |||||
@ValueSource(ints = {0, 1, 2, 13, 14, 15, Integer.MAX_VALUE}) | |||||
public void forwardFromRootWithLimit(int limit) { | |||||
CountResponse actual = client | |||||
.countEdges(getTraversalRequestBuilder(new SWHID(TEST_ORIGIN_ID)).setMaxMatchingNodes(limit).build()); | |||||
switch (limit) { | |||||
case 1: | |||||
// 1. origin -> snp:20 | |||||
assertEquals(1, actual.getCount()); | |||||
break; | |||||
case 2: | |||||
// 1. origin -> snp:20 | |||||
// 2. either snp:20 -> rev:9 or snp:20 -> rel:10 | |||||
assertEquals(3, actual.getCount()); | |||||
break; | |||||
default : | |||||
// Counts all edges | |||||
assertEquals(13, actual.getCount()); | |||||
break; | |||||
} | |||||
} | |||||
@Test | @Test | ||||
public void forwardFromMiddle() { | public void forwardFromMiddle() { | ||||
CountResponse actual = client.countEdges(getTraversalRequestBuilder(fakeSWHID("dir", 12)).build()); | CountResponse actual = client.countEdges(getTraversalRequestBuilder(fakeSWHID("dir", 12)).build()); | ||||
assertEquals(7, actual.getCount()); | assertEquals(7, actual.getCount()); | ||||
} | } | ||||
@Test | @Test | ||||
public void forwardRelRev() { | public void forwardRelRev() { | ||||
Show All 33 Lines |