private static MessageTypeCacheBuilder AddTyrAuthenticationMessagesAndHandlers(this MessageTypeCacheBuilder builder)
    {
        builder.AddMessageTypesFromAssembly(typeof(Authenticate).Assembly);
        builder.Services.RegisterHandler <Authenticate, AuthenticateHandler>();

        return(builder);
    }
    public void ShouldAddAllMessageTypesFromAssembly()
    {
        var services = new ServiceCollection();
        var sut      = new MessageTypeCacheBuilder(services);

        sut.AddMessageTypesFromAssembly(typeof(AMessage).Assembly);
        var cache = services.BuildServiceProvider()
                    .GetRequiredService <IMessageTypeCache>();

        var messages = cache.GetAllTypes().Select(x => x.Value).ToList();

        Assert.True(messages.Count >= 2);
        Assert.Contains(typeof(AMessage), messages);
        Assert.Contains(typeof(BMessage), messages);

        foreach (var message in messages)
        {
            Assert.Equal(typeof(AMessage).Assembly, message.Assembly);
            Assert.NotNull(message.GetCustomAttribute <MessageAttribute>());
        }
    }
 public static MessageTypeCacheBuilder AddChatMessages(this MessageTypeCacheBuilder builder)
 {
     return(builder.AddMessageTypesFromAssembly(typeof(Say).Assembly));
 }
示例#4
0
 public static MessageTypeCacheBuilder AddTypingDuelsMessages(this MessageTypeCacheBuilder builder)
 {
     builder.AddMessageTypesFromAssembly(typeof(Typed).Assembly);
     return(builder);
 }
示例#5
0
 /// <summary>
 /// Adds all domain messages to <see cref="MessageTypeCacheBuilder"/>.
 /// </summary>
 public static MessageTypeCacheBuilder AddDomainCore(this MessageTypeCacheBuilder builder)
 => builder.AddMessageTypesFromAssembly(typeof(Join).Assembly);
 public static MessageTypeCacheBuilder AddTyrAuthenticationMessages(this MessageTypeCacheBuilder builder)
 {
     return(builder.AddMessageTypesFromAssembly(typeof(Authenticate).Assembly));
 }
 public static MessageTypeCacheBuilder AddWorldMessages(this MessageTypeCacheBuilder builder)
 {
     return(builder.AddMessageTypesFromAssembly(typeof(JoinRopeWarContest).Assembly));
 }