-
Notifications
You must be signed in to change notification settings - Fork 186
/
Copy pathservice_generator_test.dart
35 lines (29 loc) · 1.26 KB
/
service_generator_test.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:protoc_plugin/indenting_writer.dart';
import 'package:protoc_plugin/protoc.dart';
import 'package:protoc_plugin/src/linker.dart';
import 'package:protoc_plugin/src/options.dart';
import 'package:test/test.dart';
import 'golden_file.dart';
import 'service_util.dart';
void main() {
test('testServiceGenerator', () {
final options = GenerationOptions();
final fd = buildFileDescriptor(
'testpkg', 'testpkg.proto', ['SomeRequest', 'SomeReply']);
fd.service.add(buildServiceDescriptor());
final fg = FileGenerator(fd, options);
final fd2 = buildFileDescriptor(
'foo.bar', 'foobar.proto', ['EmptyMessage', 'AnotherReply']);
final fg2 = FileGenerator(fd2, options);
link(GenerationOptions(), [fg, fg2]);
final serviceWriter = IndentingWriter();
fg.serviceGenerators[0].generate(serviceWriter);
expectMatchesGoldenFile(
serviceWriter.toString(), 'test/goldens/serviceGenerator');
expectMatchesGoldenFile(
fg.generateJsonFile(), 'test/goldens/serviceGenerator.pb.json');
});
}