Ejemplo n.º 1
0
        public async Task AccountListTest()
        {
            var expectedRequest =
                EmbeddedResourceReader.ReadRequestAsString("accountList.sgml");
            var expectedResponse =
                EmbeddedResourceReader.ReadResponseAsString("accountList.sgml");

            var options       = new OfxClientOptions(ApiUrl, "HAN", "5959", "testUserAccount", "testUserPassword");
            var transportMock = Substitute.For <IOfxClientTransport>();
            var utilsMock     = Substitute.For <IUtils>();

            transportMock.PostRequest(Arg.Any <Uri>(), Arg.Any <string>()).Returns(Task.FromResult(expectedResponse));

            utilsMock.GenerateTransactionId().Returns("0000000000");
            utilsMock.GetCurrentDateTime().Returns("20150127131257");
            utilsMock.GetClientUid(Arg.Is <string>(val => val == "testUserAccount")).Returns("SomeGuidHere");

            var client = new OfxClient(options, transportMock, utilsMock);
            var result = await client.GetAccounts();

            var account = result;

            Assert.NotEqual(ImmutableArray <Account> .Empty, account);
            Assert.Equal(2, account.Length);
        }
Ejemplo n.º 2
0
        public async Task ErrorRequestTest()
        {
            var options       = new OfxClientOptions(ApiUrl, "HAN", "5959", "testUserAccount", "testUserPassword");
            var transportMock = Substitute.For <IOfxClientTransport>();
            var utilsMock     = Substitute.For <IUtils>();

            utilsMock.GenerateTransactionId().Returns("0000000000");
            utilsMock.GetCurrentDateTime().Returns("XXXXXXXXXXXXXX");

            transportMock.PostRequest(Arg.Any <Uri>(), Arg.Any <string>()).Returns(Task.FromResult(string.Empty));

            var client = new OfxClient(options, transportMock, utilsMock);
            var ex     = await Assert.ThrowsAsync <FormatException>(() => client.GetAccounts());

            Assert.Equal("<OFX> element is not present in the response body", ex.Message);
        }
Ejemplo n.º 3
0
        public async Task FailedRequestTest()
        {
            var expectedResponse =
                EmbeddedResourceReader.ReadResponseAsString("error.sgml");

            var options       = new OfxClientOptions(ApiUrl, "HAN", "5959", "testUserAccount", "testUserPassword");
            var transportMock = Substitute.For <IOfxClientTransport>();
            var utilsMock     = Substitute.For <IUtils>();

            utilsMock.GenerateTransactionId().Returns("0000000000");
            utilsMock.GetCurrentDateTime().Returns("XXXXXXXXXXXXXX");

            transportMock.PostRequest(Arg.Any <Uri>(), Arg.Any <string>()).Returns(Task.FromResult(expectedResponse));

            var client = new OfxClient(options, transportMock, utilsMock);
            var ex     = await Assert.ThrowsAsync <OfxResponseException>(() => client.GetAccounts());

            Assert.Equal("An incorrect username/password combination has been entered. Please try again.", ex.Message);
        }