예제 #1
0
        public void UnitTestFrameworkSettingsWithHandlersInDifferentInstances_CreateFramework_ConstructsTestProbeResolverWithCorrectHandlers()
        {
            //arrange
            Reply1 reply1                 = new Reply1();
            Reply2 reply2                 = new Reply2();
            Reply1 duplicateReply1        = new Reply1();
            UnitTestFrameworkSettings sut = UnitTestFrameworkSettings
                                            .Empty
                                            .RegisterHandler <DummyChildActor1, Message1>(message1 => reply1)
                                            .RegisterHandler <DummyChildActor2, Message2>(message1 => reply2);

            UnitTestFrameworkSettings differentInstance = sut
                                                          .RegisterHandler <DummyChildActor1, Message1>(message1 => duplicateReply1);

            //act
            sut.CreateFramework <DummyParentActor>(this);

            //assert
            HandlersPassedIntoShim.ShouldAllBeEquivalentTo(
                ImmutableDictionary <(Type, Type), Func <object, object> >
                .Empty
                .Add((typeof(DummyChildActor1), typeof(Message1)), message1 => reply1)
                .Add((typeof(DummyChildActor2), typeof(Message2)), message1 => reply2),
                options => options
                .Using <Func <object, object> >(context => context.Subject.Invoke(null).Should().BeSameAs(context.Expectation.Invoke(null)))
                .WhenTypeIs <Func <object, object> >());
        }
예제 #2
0
        public override Task <Reply1> NoStreamNoParam(Empty request, ServerCallContext context)
        {
            var res = new Reply1 {
                Rep1Id = 1, Rep1Name = "yyg"
            };

            return(Task.FromResult(res));
        }
예제 #3
0
        public override Task <Reply1> RequestWithAuth(Empty request, ServerCallContext context)
        {
            var user = context.GetHttpContext().User;
            var rep  = new Reply1 {
                Rep1Id = 1, Rep1Name = user.Identity.Name
            };

            return(Task.FromResult(rep));
        }
예제 #4
0
        public override Task <Reply1> NoStream(Request1 request, ServerCallContext context)
        {
            var id        = request.Req1Id;
            var name      = request.Req1Name;
            var innerName = request.Req1Inner1.Name;

            var res = new Reply1 {
                Rep1Id = id, Rep1Name = $"{name}-{innerName}"
            };

            return(Task.FromResult(res));
        }