11import protoParser from '../src/client/components/composer/protos/protoParser' ;
2- import { remote } from "electron" ;
32
43
5- beforeEach ( ( ) => {
6- const protoFile = `syntax = 'proto3';
4+ describe ( 'testing protoParser' , ( ) => {
75
8- package helloworld;
6+ const protoFile = `syntax = 'proto3';
7+
8+ package helloworld;
9+
10+ // The greeting service definition.
11+ service Greeter {
12+ // Sends a greeting
13+ rpc SayHello (HelloRequest) returns (HelloReply) {}
14+ rpc SayHelloCS (stream HelloRequest) returns (HelloReply) {}
15+ rpc SayHellos (HelloRequest) returns (stream HelloReply) {}
16+ rpc SayHelloBidi (stream HelloRequest) returns (stream HelloReply) {}
17+ }
18+
19+ // The request message containing the user's name.
20+ message HelloRequest {
21+ string name = 1;
22+ }
23+
24+ // The response message containing the greetings
25+ message HelloReply {
26+ string message = 1;
27+ }
28+
29+ // The request message containing the user's name.
30+ message HelloHowOldRequest {
31+ int32 age = 1;
32+ }
33+ message HelloAge {
34+ int32 age = 1;
35+ }`
36+ describe ( 'parser parses protos correctly' , ( ) => {
37+ it ( 'should get packageName' , ( ) => {
38+ const parsedProto = protoParser ( protoFile )
39+ . then ( data => {
40+ // console.log(d)
41+ expect ( data . packageName ) . toEqual ( 'helloworld' )
42+ } )
43+
44+ } )
45+ it ( 'should get serviceArray' , ( ) => {
46+ const testArr = [ {
47+ messages : [ { } , { } , { } , { } ] ,
48+ name : 'Greeter' ,
49+ packageName : 'helloworld' ,
50+ rpcs : [ { } , { } , { } , { } ] ,
51+
52+ } ]
53+ const parsedProto = protoParser ( protoFile )
54+ . then ( data => {
55+ // console.log(d)
56+ expect ( data . serviceArr [ 0 ] . messages ) . toHaveLength ( 4 ) ;
57+ expect ( data . serviceArr [ 0 ] . rpcs ) . toHaveLength ( 4 ) ;
58+ expect ( data . serviceArr [ 0 ] . name ) . toEqual ( 'Greeter' ) ;
59+ expect ( data . serviceArr [ 0 ] . packageName ) . toEqual ( 'helloworld' ) ;
60+ } )
61+
62+ } )
963
10- // The greeting service definition.
11- service Greeter {
12- // Sends a greeting
13- rpc SayHello (HelloRequest) returns (HelloReply) {}
14- rpc SayHelloCS (stream HelloRequest) returns (HelloReply) {}
15- rpc SayHellos (HelloRequest) returns (stream HelloReply) {}
16- rpc SayHelloBidi (stream HelloRequest) returns (stream HelloReply) {}
17- }
64+ it ( 'should fill message content' , ( ) => {
65+ const testArr = [ {
66+ messages : [
67+ { name : "HelloRequest" , def : { name : { type : "TYPE_STRING" , nested : false , dependent : '' } } } ,
68+ { name : "HelloRequest" , def : { name : { type : "TYPE_STRING" , nested : false , dependent : '' } } } ,
69+ { name : "HelloRequest" , def : { name : { type : "TYPE_STRING" , nested : false , dependent : '' } } } ,
70+ { name : "HelloRequest" , def : { name : { type : "TYPE_STRING" , nested : false , dependent : '' } } }
71+ ] ,
72+ name : 'Greeter' ,
73+ packageName : 'helloworld' ,
74+ rpcs : [ { } , { } , { } , { } ] ,
75+
76+ } ]
77+ const parsedProto = protoParser ( protoFile )
78+ . then ( data => {
79+ expect ( data . serviceArr [ 0 ] . messages [ 0 ] ) . toEqual ( testArr [ 0 ] . messages [ 0 ] ) ;
80+ expect ( data . serviceArr [ 0 ] . messages [ 0 ] . def . name . type ) . toEqual ( "TYPE_STRING" ) ;
81+ } )
82+
83+ } )
84+
85+
86+ } )
87+ } )
1888
19- // The request message containing the user's name.
20- message HelloRequest {
21- string name = 1;
22- }
23-
24- // The response message containing the greetings
25- message HelloReply {
26- string message = 1;
27- }
28-
29- // The request message containing the user's name.
30- message HelloHowOldRequest {
31- int32 age = 1;
32- }
33- message HelloAge {
34- int32 age = 1;
35- }`
36- } )
0 commit comments