public TeamsMonitor(
     ILogger logger,
     TeamsTokenRetriever tokens,
     TeamsUserTenantsRetriever tenantsRetriever,
     TeamsChatRetriever teamsChatReceiver,
     TeamsUserTenantsRetriever userTenantsRetriever,
     ITeamsUserStore userStore)
 {
     this.logger               = logger.ForContext <TeamsMonitor>();
     this.tokens               = tokens;
     this.tenantsRetriever     = tenantsRetriever;
     this.teamsChatReceiver    = teamsChatReceiver;
     this.userTenantsRetriever = userTenantsRetriever;
     this.userStore            = userStore;
 }
Пример #2
0
        public async Task TestResolveParticipantPlaceholders()
        {
            using var kernel = new FakeItEasyMockingKernel();
            kernel.Rebind <ILogger>().ToConstant(Log.Logger);
            kernel.Rebind <ITeamsUserStore>().ToConstant(A.Fake <ITeamsUserStore>()).InSingletonScope();
            kernel.Rebind <ITeamsUserRegistry>().To <TeamsUserRegistry>().InSingletonScope();
            var userRegistry = kernel.Get <ITeamsUserRegistry>();
            var logger       = kernel.Get <ILogger>();

            var fakeContext = new TeamsDataContext((TeamsParticipant)"8:orgid:00000000-0000-beef-0000-000000000000", new ProcessedTenant(new Tenant()
            {
                tenantId = "Tenant ID", userId = "8:orgid:00000000-0000-beef-0000-000000000000", tenantName = "Fake User"
            }, DateTime.UtcNow));
            await userRegistry.RegisterDisplayNameForUserIdAsync(fakeContext, (TeamsParticipant)"12300000-0000-beef-0000-000000000000", "Test Name", DateTime.UtcNow);

            var message = A.Fake <IMutableChatMessage>();

            message.MessageSubject = "User {{12300000-0000-beef-0000-000000000000}} added: User {{12300000-0000-beef-0000-000000000000}}, Heinrich Ulbricht";
            await TeamsChatRetriever.ResolveParticipantPlaceholders(logger, userRegistry, fakeContext, message);

            Assert.AreEqual("Test Name added: Test Name, Heinrich Ulbricht", message.MessageSubject);
        }