示例#1
0
        public async Task TestGetAuthUrlAsyncEmailNotExist()
        {
            Guid            clientId        = Guid.NewGuid();
            var             mocks           = Utils.CreateDefaultGraphApiMock(string.Empty);
            BotDbContext    db              = Utils.CreateMemoryDbContext();
            DefaultGraphApi defaultGraphApi = new DefaultGraphApi(db, mocks.Item1, mocks.Item2);

            BindHandler bindHandler = new BindHandler(db, defaultGraphApi);

            (string, string)_ = await bindHandler.GetAuthUrlAsync(clientId.ToString());
        }
示例#2
0
        public async Task TestGetAuthUrlAsync()
        {
            Guid clientId = Guid.NewGuid();
            var  mocks    = Utils.CreateDefaultGraphApiMock(string.Empty);
            await Utils.SetOneValueDbContextAsync(clientId);

            BotDbContext    db = Utils.CreateMemoryDbContext();
            DefaultGraphApi defaultGraphApi = new DefaultGraphApi(db, mocks.Item1, mocks.Item2);
            Guid            authId          = (await db.AppAuths.AsQueryable().FirstAsync(item => item.AzureAppId == clientId)).Id;

            BindHandler bindHandler = new BindHandler(db, defaultGraphApi);

            (string, string)results = await bindHandler.GetAuthUrlAsync(clientId.ToString());

            string email   = "*****@*****.**";
            string message = $"https://login.microsoftonline.com/{DefaultGraphApi.GetTenant(email)}/oauth2/v2.0/authorize?client_id={clientId}&response_type=code&redirect_uri={HttpUtility.UrlEncode(BindHandler.AppUrl)}&response_mode=query&scope={HttpUtility.UrlEncode(DefaultGraphApi.Scope)}";

            Assert.AreEqual(message, results.Item2);

            results = await bindHandler.GetAuthUrlAsync(authId.ToString(), false);

            Assert.AreEqual(message, results.Item2);
        }