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); }
/// <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)); }
/// <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; }); }
/// <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)); }