CtrlK
BlogDocsLog inGet started
Tessl Logo

finkel/spring-grpc

Spring gRPC reference documentation covering server, client, security, and configuration

92

2.19x
Quality

Pending

Does it follow best practices?

Impact

92%

2.19x

Average score across 3 eval scenarios

SecuritybySnyk

Pending

The risk profile of this skill

Overview
Eval results
Files

criteria.jsonevals/scenario-3/

{
  "context": "Tests whether the agent correctly sets up Spring gRPC integration tests using @AutoConfigureInProcessTransport for in-process transport, spring-grpc-test dependency, spring.grpc.test.inprocess.enabled property, and @LocalGrpcPort / ${local.grpc.port} for dynamic port binding — all as specified in the Spring gRPC testing documentation.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "spring-grpc-test dependency",
      "description": "pom.xml includes spring-grpc-test as a test-scoped dependency",
      "max_score": 10
    },
    {
      "name": "@AutoConfigureInProcessTransport used",
      "description": "The in-process test class is annotated with @AutoConfigureInProcessTransport",
      "max_score": 12
    },
    {
      "name": "In-process property alternative",
      "description": "Either @AutoConfigureInProcessTransport OR spring.grpc.test.inprocess.enabled=true is used for the in-process test (not manual channel setup with in-process:<name> only)",
      "max_score": 8
    },
    {
      "name": "@SpringJUnitConfig or @SpringBootTest used",
      "description": "Test classes use Spring test annotations (@SpringJUnitConfig or @SpringBootTest), not plain JUnit with manual channel wiring",
      "max_score": 8
    },
    {
      "name": "@LocalGrpcPort injection",
      "description": "The port-based test class injects the server port using @LocalGrpcPort annotation (not a hardcoded port number)",
      "max_score": 12
    },
    {
      "name": "${local.grpc.port} placeholder OR @LocalGrpcPort",
      "description": "Client channel address uses @LocalGrpcPort injected value OR ${local.grpc.port} placeholder in properties — not a hardcoded port",
      "max_score": 10
    },
    {
      "name": "In-process channel address format",
      "description": "When using in-process channel manually, the address uses the in-process:<name> format",
      "max_score": 8
    },
    {
      "name": "Service @Service annotation",
      "description": "InventoryServiceImpl is annotated with @Service",
      "max_score": 8
    },
    {
      "name": "spring-grpc-dependencies BOM",
      "description": "pom.xml uses spring-grpc-dependencies as a BOM in dependencyManagement",
      "max_score": 8
    },
    {
      "name": "Proto3 syntax options",
      "description": "inventory.proto uses syntax = \"proto3\" with java_multiple_files = true option",
      "max_score": 8
    },
    {
      "name": "Test @TestConfiguration imports service",
      "description": "Test configuration (inner @TestConfiguration class or test app class) imports the service implementation class",
      "max_score": 8
    }
  ]
}

tile.json