Ejemplo n.º 1
0
        public void PrepareOAuthUrl()
        {
            const ScopeSettings   scopeSettings   = ScopeSettings.IamTheGod;
            const AuthDisplayType authDisplayType = AuthDisplayType.Page;
            var response = Api.OAuth.GetAuthUrl(scopeSettings, authDisplayType);

            var query        = response.Query;
            var decodedQuery = WebUtility.HtmlDecode(query);

            Logger.Log(decodedQuery);

            var parameters = decodedQuery
                             .Substring(1)
                             .Split('&')
                             .Select(i => i.Split('='))
                             .ToDictionary(i => i[0], i => i[1]);

            foreach (var parameter in new Dictionary <string, string>
            {
                { "display", authDisplayType.ToString().ToLower() },
                { "scope", ((int)scopeSettings).ToString().ToLower() },
                { "client_id", Constants.OfficialApplicationId.ToString() },
                { "response_type", "token" }
            })
            {
                var actual   = parameters[parameter.Key];
                var expected = parameter.Value;
                actual.Should().Be(expected);
            }
        }
Ejemplo n.º 2
0
 protected bool PromptToModifyRecipientScope(IUIService uiService, ExchangePropertyPageControl scopeControl)
 {
     if (scopeControl == null)
     {
         throw new ArgumentNullException("scopeControl");
     }
     using (PropertyPageDialog propertyPageDialog = new PropertyPageDialog(scopeControl))
     {
         ScopeSettings scopeSettings = new ScopeSettings();
         scopeSettings.CopyFrom(this.ScopeSettings);
         scopeControl.Context = new DataContext(new ExchangeDataHandler());
         scopeControl.Context.DataHandler.DataSource = scopeSettings;
         if (uiService.ShowDialog(propertyPageDialog) == DialogResult.OK && scopeSettings.ObjectState == ObjectState.Changed)
         {
             this.ScopeSettings.CopyChangesFrom(scopeSettings);
             this.UpdateText();
             return(true);
         }
     }
     return(false);
 }