Skip to content

Commit

Permalink
Merge pull request #1 from mercari/service-dependency-name-optional
Browse files Browse the repository at this point in the history
Make ServiceDependency name optional
  • Loading branch information
goccy committed Aug 22, 2023
2 parents a596cf9 + c16dea1 commit 3c1d4d6
Show file tree
Hide file tree
Showing 11 changed files with 2,128 additions and 2,202 deletions.
1,062 changes: 532 additions & 530 deletions _examples/04_timeout/grpc/federation/federation.pb.go

Large diffs are not rendered by default.

1,062 changes: 532 additions & 530 deletions _examples/05_async/grpc/federation/federation.pb.go

Large diffs are not rendered by default.

1,062 changes: 532 additions & 530 deletions _examples/06_alias/grpc/federation/federation.pb.go

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions generator/testdata/expected_simple_aggregation.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1,046 changes: 524 additions & 522 deletions grpc/federation/federation.pb.go

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion proto/grpc/federation/federation.proto
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ message ServiceRule {
// ServiceDependency assigns a uniquely determined name to the service.
message ServiceDependency {
// name to be used when initializing the gRPC client.
string name = 1;
optional string name = 1;
// service is the name of the dependent service.
string service = 2;
}
Expand Down
11 changes: 1 addition & 10 deletions resolver/resolver.go
Original file line number Diff line number Diff line change
Expand Up @@ -292,15 +292,6 @@ func (r *Resolver) resolveService(ctx *context, pkg *Package, name string) *Serv
}

func (r *Resolver) resolveServiceDependency(ctx *context, def *federation.ServiceDependency) *ServiceDependency {
name := def.GetName()
if name == "" {
ctx.addError(
ErrWithLocation(
`"name" must be specified`,
source.ServiceDependencyNameLocation(ctx.fileName(), ctx.serviceName(), ctx.depIndex()),
),
)
}
var service *Service
serviceWithPkgName := def.GetService()
if serviceWithPkgName == "" {
Expand Down Expand Up @@ -333,7 +324,7 @@ func (r *Resolver) resolveServiceDependency(ctx *context, def *federation.Servic
}
}
}
return &ServiceDependency{Name: name, Service: service}
return &ServiceDependency{Name: def.GetName(), Service: service}
}

func (r *Resolver) resolveMethod(ctx *context, service *Service, methodDef *descriptorpb.MethodDescriptorProto) *Method {
Expand Down
4 changes: 2 additions & 2 deletions resolver/resolver_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -357,8 +357,8 @@ func TestSimpleAggregation(t *testing.T) {
).
SetRule(
testutil.NewServiceRuleBuilder().
AddDependency("post_service", ref.Service(t, "org.post", "PostService")).
AddDependency("user_service", ref.Service(t, "org.user", "UserService")).
AddDependency("", ref.Service(t, "org.post", "PostService")).
AddDependency("", ref.Service(t, "org.user", "UserService")).
Build(t),
).
AddMessage(ref.Message(t, "org.federation", "GetPostResponse"), ref.Message(t, "org.federation", "GetPostResponseArgument")).
Expand Down
4 changes: 2 additions & 2 deletions testdata/simple_aggregation.proto
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ option go_package = "example/federation;federation";
service FederationService {
option (grpc.federation.service) = {
dependencies: [
{ name: "post_service", service: "org.post.PostService" },
{ name: "user_service", service: "org.user.UserService" }
{ service: "org.post.PostService" },
{ service: "org.user.UserService" }
]
};
rpc GetPost(GetPostRequest) returns (GetPostResponse) {
Expand Down
65 changes: 0 additions & 65 deletions validator/testdata/missing_service_dependency_name.proto

This file was deleted.

8 changes: 0 additions & 8 deletions validator/validator_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -287,14 +287,6 @@ testdata/invalid_service_dependency_service.proto: "user.InvalidService" service
testdata/invalid_service_dependency_service.proto:15:42: "user.InvalidService" does not exist
15: { name: "user_service", service: "user.InvalidService" }
^
`},
{file: "missing_service_dependency_name.proto", expected: `
testdata/missing_service_dependency_name.proto:14:9: "name" must be specified
14: { service: "post.PostService" },
^
testdata/missing_service_dependency_name.proto:15:9: "name" must be specified
15: { service: "user.UserService" }
^
`},
{file: "missing_service_dependency_service.proto", expected: `
testdata/missing_service_dependency_service.proto:14:9: "service" must be specified
Expand Down

0 comments on commit 3c1d4d6

Please sign in to comment.