public void TangerineObjectFactory_CanBuildStatementData() { TangerineObjectFactory factory = new TangerineObjectFactory(); TangerineStatement statement = factory.BuildStatement(statementDateInfo); Assert.AreEqual(new DateTime(2015, 10, 31), statement.Timestamp); Assert.AreEqual("1234567987", statement.AccountNumber); }
public void TangerineObjectFactory_CanBuildAccountList() { TangerineObjectFactory factory = new TangerineObjectFactory(); List<TangerineAccount> accounts = factory .BuildAccountList(accountInfo) .ToList(); Assert.AreEqual(accountInfo.Count / 2, accounts.Count); Assert.AreEqual("Tangerine Chequing Account", accounts[0].Name); Assert.AreEqual("1234567987", accounts[0].Number); Assert.AreEqual(0, accounts[0].AccountIndex); Assert.AreEqual(3232.61, accounts[0].Balance); Assert.AreEqual("Tangerine Chequing Account", accounts[1].Name); Assert.AreEqual("1234567987", accounts[1].Number); Assert.AreEqual(6.44, accounts[1].Balance); Assert.AreEqual(1, accounts[1].AccountIndex); Assert.AreEqual("Tax-Free Savings Account", accounts[2].Name); Assert.AreEqual("1234567987", accounts[2].Number); Assert.AreEqual(2.02, accounts[2].Balance); Assert.AreEqual(2, accounts[2].AccountIndex); }
/// <summary> /// Initializes a new instance of the <see cref="Craswell.WebRepositories.Tangerine.TangerineClient"/> class. /// </summary> /// <param name="clientConfiguration">The client configuration.</param> /// <param name="objectFactory">The object factory.</param> public TangerineClient( HttpClient client, IWebRepositoryConfiguration clientConfiguration, TangerineObjectFactory objectFactory) { if (client == null) { throw new ArgumentNullException("client"); } if (clientConfiguration == null) { throw new ArgumentNullException("clientConfiguration"); } if (objectFactory == null) { throw new ArgumentNullException("objectFactory"); } this.client = client; this.clientConfiguration = clientConfiguration; this.objectFactory = objectFactory; }
/// <summary> /// Gets the web repositories. /// </summary> /// <returns>The web repositories.</returns> public IList<IConnectedWebRepository> GetWebRepositories() { List<IConnectedWebRepository> repositoryList = new List<IConnectedWebRepository>(); using (ISession session = this.dal.OpenSession()) { IList<WebRepositoryData> webRepositories = session .CreateCriteria<WebRepositoryData>() .List<WebRepositoryData>(); foreach (WebRepositoryData repository in webRepositories) { switch (repository.Type) { case WebRepositoryType.Tangerine: ILog tangerineLogger = LogManager.GetLogger("TangerineClientLogger"); TangerineConfiguration config = new TangerineConfiguration( repository.Configuration.Address, this.aesTool.DecryptText(repository.Configuration.Username, this.passphrase), this.aesTool.DecryptText(repository.Configuration.Password, this.passphrase), repository.Configuration.SecurityQuestions .ToDictionary( sq => this.aesTool.DecryptText(sq.Key, this.passphrase), sq => this.aesTool.DecryptText(sq.Value, this.passphrase))); HttpClient httpClient = new HttpClient(tangerineLogger); TangerineObjectFactory objectFactory = new TangerineObjectFactory(); TangerineClient client = new TangerineClient( httpClient, config, objectFactory); IConnectedWebRepository repo = new TangerineRepository( repository.Id, repository.Name, client); repositoryList.Add(repo); break; } } } return repositoryList; }