public ChatService(ICache cache, IRecentMessageCache recentMessageCache, IJabbrRepository repository) : this(cache, recentMessageCache, repository, ApplicationSettings.GetDefaultSettings()) { }
public ChatService(ICache cache, IRecentMessageCache recentMessageCache, IJabbrRepository repository, ApplicationSettings settings) { _cache = cache; _recentMessageCache = recentMessageCache; _repository = repository; _settings = settings; }
public Chat( IJabbrRepository repository, IOptions <ApplicationSettings> settings, IRecentMessageCache recentMessageCache, IChatService chatService) { // Request the injected object instances _repository = repository; _chatService = chatService; _recentMessageCache = recentMessageCache; _settings = settings.Value; }
public Chat(ContentProviderProcessor resourceProcessor, IChatService service, IRecentMessageCache recentMessageCache, IJabbrRepository repository, ICache cache, ILogger logger) { _resourceProcessor = resourceProcessor; _service = service; _recentMessageCache = recentMessageCache; _repository = repository; _cache = cache; _logger = logger; }
public ChatHub(ContentProviderProcessor resourceProcessor, IChatService service, IRecentMessageCache recentMessageCache, IJabbrRepository repository, IMemoryCache cache, ILogger <ChatHub> logger, ApplicationSettings settings) { _resourceProcessor = resourceProcessor; _service = service; _recentMessageCache = recentMessageCache; _repository = repository; _cache = cache; _logger = logger; _settings = settings; }
public Chat(ContentProviderProcessor resourceProcessor, PushNotificationService pushNotification, IChatService service, IRecentMessageCache recentMessageCache, IJabbrRepository repository, ICache cache, ILogger logger, ApplicationSettings settings) { _resourceProcessor = resourceProcessor; _pushNotification = pushNotification; _service = service; _recentMessageCache = recentMessageCache; _repository = repository; _cache = cache; _logger = logger; _settings = settings; }
public ChatTest() { // Fetch new instances of the required objects _context = new JabbrContext(new DbContextOptions <JabbrContext>()); _repository = new InMemoryRepository(_context); _cache = new DefaultCache(); _recentMessageCache = new RecentMessageCache(); _settings = new OptionsManager <ApplicationSettings>(new List <IConfigureOptions <ApplicationSettings> >() { }); _chatService = new ChatService(_cache, _recentMessageCache, _repository); // Create Mocks of the objects being passed into SignalR var request = new Mock <HttpRequest>(); var connection = new Mock <IConnection>(); var pipeline = new Mock <IHubPipelineInvoker>(); // Taken from normal JabbR-Core execution var connectionId = "79482a87-8d16-42bc-b5ce-1fb7b309ad1e"; // Establish new Chat hub with normal SignalR connection + pipeline var chat = new TestableChat(_repository, _settings, _chatService, connection); chat.Clients = new HubConnectionContext(pipeline.Object, chat.MockConnection.Object, "Chat", connectionId); // Include required claims with request for authentication // Adam's LoginFakerMiddleware runs but doesn't establish Hub context // so we can put the same code here to establish an identity var claims = new List <Claim>(); claims.Add(new Claim(ClaimTypes.Name, "James")); claims.Add(new Claim(ClaimTypes.AuthenticationMethod, "provider")); claims.Add(new Claim(ClaimTypes.NameIdentifier, "identity")); claims.Add(new Claim(ClaimTypes.Email, "*****@*****.**")); claims.Add(new Claim(JabbRClaimTypes.Identifier, "2")); var claimsIdentity = new ClaimsIdentity(claims, Constants.JabbRAuthType); var claimsPrincipal = new ClaimsPrincipal(claimsIdentity); ChatUser user = new ChatUser() { Name = "James", Email = "*****@*****.**", Id = "2", Identity = claimsIdentity.ToString() }; // Add to repository for methods that perform user verification _repository.Add(user); // Establish request properties here, investigate query string request.Setup(r => r.Cookies).Returns(new Mock <IRequestCookieCollection>().Object); request.Setup(r => r.HttpContext.User).Returns(claimsPrincipal); // Register the real SignalR context to the TestableChat. chat.Context = new HubCallerContext(request.Object, connectionId); chat.Groups = new GroupManager(connection.Object, "mygroup"); // Instantiate Chat hub. _chat = chat; }