@@ -147,6 +147,34 @@ public void RegisterStatelessServiceSupportsInternalsVisibleToDynamicProxyGenAss
147
147
container . AssertRegistered < InternalsVisibleStatelessService > ( ) ;
148
148
}
149
149
150
+ [ Fact ]
151
+ public void RegisterStatefulServiceCanBeCalledFromModuleLoad ( )
152
+ {
153
+ var builder = new ContainerBuilder ( ) ;
154
+ builder . RegisterModule ( new StatefulServiceModule ( ) ) ;
155
+ var factoryMock = new Mock < IStatefulServiceFactoryRegistration > ( ) ;
156
+ builder . RegisterInstance ( factoryMock . Object ) ;
157
+
158
+ var container = builder . Build ( ) ;
159
+
160
+ container . AssertRegistered < StatefulService1 > ( ) ;
161
+ factoryMock . Verify ( x => x . RegisterStatefulServiceFactory < StatefulService1 > ( container , "serviceTypeName" ) , Times . Once ) ;
162
+ }
163
+
164
+ [ Fact ]
165
+ public void RegisterStatelessServiceCanBeCalledFromModuleLoad ( )
166
+ {
167
+ var builder = new ContainerBuilder ( ) ;
168
+ builder . RegisterModule ( new StatelessServiceModule ( ) ) ;
169
+ var factoryMock = new Mock < IStatelessServiceFactoryRegistration > ( ) ;
170
+ builder . RegisterInstance ( factoryMock . Object ) ;
171
+
172
+ var container = builder . Build ( ) ;
173
+
174
+ container . AssertRegistered < StatelessService1 > ( ) ;
175
+ factoryMock . Verify ( x => x . RegisterStatelessServiceFactory < StatelessService1 > ( container , "serviceTypeName" ) , Times . Once ) ;
176
+ }
177
+
150
178
[ Fact ]
151
179
public void RegisterStatefulServiceThrowsIfProvidedTypeIsNotPublic ( )
152
180
{
@@ -254,6 +282,22 @@ public void RegisterStatelessServiceThrowsIfProvidedServiceTypeNameIsEmpty()
254
282
}
255
283
}
256
284
285
+ public class StatefulServiceModule : Module
286
+ {
287
+ protected override void Load ( ContainerBuilder builder )
288
+ {
289
+ builder . RegisterStatefulService < StatefulService1 > ( "serviceTypeName" ) ;
290
+ }
291
+ }
292
+
293
+ public class StatelessServiceModule : Module
294
+ {
295
+ protected override void Load ( ContainerBuilder builder )
296
+ {
297
+ builder . RegisterStatelessService < StatelessService1 > ( "serviceTypeName" ) ;
298
+ }
299
+ }
300
+
257
301
public class StatefulService1 : StatefulServiceBase
258
302
{
259
303
public StatefulService1 ( StatefulServiceContext serviceContext , IStateProviderReplica stateProviderReplica ) : base ( serviceContext , stateProviderReplica )
0 commit comments