Ejemplo n.º 1
0
        public async void TestSiteAccountsRequest()
        {
            IContainer container = InitContainer(typeof(YodleeService));

            YodleeService yodleeService = container.GetInstance <YodleeService>();

            YCobrandLoginRequest cobrandLoginRequest = new YCobrandLoginRequest().SetCobrandUserName(CoBrandUserName)
                                                       .SetCobrandPassword(CoBrandPassword);

            YCobrandLoginResponse yCobrandLoginResponse = await yodleeService.LoginCobrand(cobrandLoginRequest);

            YUserLoginRequest userLoginRequest = new YUserLoginRequest()
                                                 .SetCobrandSessionToken(yCobrandLoginResponse.cobrandConversationCredentials.sessionToken)
                                                 .SetUserName(UserName)
                                                 .SetUserPassword(UserPassword);

            YUserLoginResponse yUserLoginResponse = await yodleeService.LoginUser(userLoginRequest);

            YSiteAccountsRequest siteAccountsRequest = new YSiteAccountsRequest()
                                                       .SetCobrandSessionToken(yCobrandLoginResponse.cobrandConversationCredentials.sessionToken)
                                                       .SetUserSessionToken(yUserLoginResponse.userContext.conversationCredentials.sessionToken);

            YSiteAccountsResponse ySiteAccountsResponse = await yodleeService.GetSiteAccounts(siteAccountsRequest);

            Assert.AreEqual(ySiteAccountsResponse.AccountInfos.Count, 4);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Gets the site accounts.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns></returns>
        internal async Task <YSiteAccountsResponse> GetSiteAccounts(YSiteAccountsRequest request)
        {
            HttpContent content = CreateHttpContent(request);

            string json = await Browser.PostAsyncAndGetStringResponse(YodleeCommands.GET_SITE_ACCOUNTS, content);

            if (IsError(json))
            {
                var error    = JsonConvert.DeserializeObject <YError>(json);
                var response = new YSiteAccountsResponse(CollectionUtils.GetEmptyList <SiteAccountInfo>());
                response.SetError(error);
                return(response);
            }

            var infos = JsonConvert.DeserializeObject <IList <SiteAccountInfo> >(json);

            return(new YSiteAccountsResponse(infos));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Handles the specified command.
        /// </summary>
        /// <param name="cmd">The command.</param>
        public async void Handle(YodleeGetUserAccountsCommand cmd)
        {
            YCobrandLoginRequest cobrandLoginRequest = new YCobrandLoginRequest().SetCobrandUserName(cmd.CobrandUserName)
                                                       .SetCobrandPassword(cmd.CobrandPassword);

            YCobrandLoginResponse yCobrandLoginResponse = await Yodlee.LoginCobrand(cobrandLoginRequest);

            YUserLoginRequest userLoginRequest = new YUserLoginRequest()
                                                 .SetCobrandSessionToken(yCobrandLoginResponse.cobrandConversationCredentials.sessionToken)
                                                 .SetUserName(cmd.UserName)
                                                 .SetUserPassword(cmd.UserPassword);

            YUserLoginResponse yUserLoginResponse = await Yodlee.LoginUser(userLoginRequest);

            YSiteAccountsRequest siteAccountsRequest = new YSiteAccountsRequest()
                                                       .SetCobrandSessionToken(yCobrandLoginResponse.cobrandConversationCredentials.sessionToken)
                                                       .SetUserSessionToken(yUserLoginResponse.userContext.conversationCredentials.sessionToken);

            InfoAccumulator       info = new InfoAccumulator();
            YSiteAccountsResponse ySiteAccountsResponse = await Yodlee.GetSiteAccounts(siteAccountsRequest);

            var yodleeUserAccounts = ySiteAccountsResponse.AccountInfos.Select(TransformToApiAccount).ToList();

            string json = await Yodlee.GetSiteAccountsAsJson(siteAccountsRequest);

            if (IsError(json))
            {
                info.AddError("got error response:\n" + json);
            }

            SendReply(info, cmd, reply => {
                reply.CustomerId   = cmd.CustomerId;
                reply.UserName     = cmd.UserName;
                reply.UserPassword = cmd.UserPassword;
                reply.Accounts     = yodleeUserAccounts;
            });
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Gets the site accounts as json.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns></returns>
        internal Task <string> GetSiteAccountsAsJson(YSiteAccountsRequest request)
        {
            HttpContent content = CreateHttpContent(request);

            return(Browser.PostAsyncAndGetStringResponse(YodleeCommands.GET_SITE_ACCOUNTS, content));
        }