@@ -90,21 +90,39 @@ public async Task Test_Message_Goes_To_Right_Worker()
90
90
91
91
}
92
92
93
- private RegisterAgentTypeRequest CreateRegistrationRequest ( EventTypes eventTypes , Type type , string requestId )
93
+ [ Fact ]
94
+ public async Task Test_RegisterAgent_Should_Succeed ( )
94
95
{
95
- var registration = new RegisterAgentTypeRequest
96
- {
97
- Type = type . Name ,
98
- RequestId = requestId
99
- } ;
100
- registration . Events . AddRange ( eventTypes . GetEventsForAgent ( type ) ? . ToList ( ) ) ;
96
+ var logger = Mock . Of < ILogger < GrpcGateway > > ( ) ;
97
+ var gateway = new GrpcGateway ( _fixture . Cluster . Client , logger ) ;
98
+ var service = new GrpcGatewayService ( gateway ) ;
99
+ using var client = new TestGrpcClient ( ) ;
101
100
102
- return registration ;
101
+ var assembly = typeof ( PBAgent ) . Assembly ;
102
+ var eventTypes = ReflectionHelper . GetAgentsMetadata ( assembly ) ;
103
+
104
+ await service . OpenChannel ( client . RequestStream , client . ResponseStream , client . CallContext ) ;
105
+ var responseMessage = await client . ReadNext ( ) ;
106
+
107
+ var connectionId = responseMessage ! . Response . RequestId ;
108
+
109
+ var response = await service . RegisterAgent ( CreateRegistrationRequest ( eventTypes , typeof ( PBAgent ) , connectionId ) , client . CallContext ) ;
110
+ response . Success . Should ( ) . BeTrue ( ) ;
103
111
}
104
112
105
- private string GetFullName ( Type type )
113
+ [ Fact ]
114
+ public async Task Test_RegisterAgent_Should_Fail_For_Wrong_ConnectionId ( )
106
115
{
107
- return ReflectionHelper . GetMessageDescriptor ( type ) ! . FullName ;
116
+ var logger = Mock . Of < ILogger < GrpcGateway > > ( ) ;
117
+ var gateway = new GrpcGateway ( _fixture . Cluster . Client , logger ) ;
118
+ var service = new GrpcGatewayService ( gateway ) ;
119
+ using var client = new TestGrpcClient ( ) ;
120
+
121
+ var assembly = typeof ( PBAgent ) . Assembly ;
122
+ var eventTypes = ReflectionHelper . GetAgentsMetadata ( assembly ) ;
123
+
124
+ var response = await service . RegisterAgent ( CreateRegistrationRequest ( eventTypes , typeof ( PBAgent ) , "faulty_connection_id" ) , client . CallContext ) ;
125
+ response . Success . Should ( ) . BeFalse ( ) ;
108
126
}
109
127
110
128
[ Fact ]
@@ -132,4 +150,21 @@ public async Task Test_GetState()
132
150
133
151
response . Should ( ) . NotBeNull ( ) ;
134
152
}
153
+
154
+ private RegisterAgentTypeRequest CreateRegistrationRequest ( EventTypes eventTypes , Type type , string requestId )
155
+ {
156
+ var registration = new RegisterAgentTypeRequest
157
+ {
158
+ Type = type . Name ,
159
+ RequestId = requestId
160
+ } ;
161
+ registration . Events . AddRange ( eventTypes . GetEventsForAgent ( type ) ? . ToList ( ) ) ;
162
+
163
+ return registration ;
164
+ }
165
+
166
+ private string GetFullName ( Type type )
167
+ {
168
+ return ReflectionHelper . GetMessageDescriptor ( type ) ! . FullName ;
169
+ }
135
170
}
0 commit comments