Ejemplo n.º 1
0
        public async Task getTraderInformationWhenCallingQueryWithTraderID()
        {
            string results = await hyperledgerService.InvokeGet(HyperledgerConsts.TraderQueryURL("TRADER1"));

            Trader trader = JsonConvert.DeserializeObject <Trader>(results);

            Assert.AreEqual("TRADER1", trader.traderId);
        }
        public async Task PropertyHistoryWillInvokeANewURL()
        {
            mockBlockService.Setup(m => m.InvokeGet(It.IsAny <String>()))
            .ReturnsAsync("[]");

            await clientWithMock.GetPropertyHistory("Property A");

            mockBlockService.Verify(m => m.InvokeGet(HyperledgerConsts.PropertyPackageUrl("Property%20A")));
        }
        public async Task Login_Method_for_client_should_set_username()
        {
            mockBlockService.Setup(m => m.InvokeGet(HyperledgerConsts.TraderQueryURL(TestJsonObjectConsts.trader1ID)))
            .ReturnsAsync(TestJsonObjectConsts.trader1);
            mockBlockService.Setup(m => m.InvokePostAuthentication(FlaskConsts.LoginUrl, JsonConvert.SerializeObject(user)))
            .ReturnsAsync(TestJsonObjectConsts.trader1AuthenticationMessage);

            await clientWithMock.Login(user);

            Assert.AreEqual(TestJsonObjectConsts.trader1ID, clientWithMock.thisTrader.traderId);
        }
Ejemplo n.º 4
0
 public async Task WhenCallingInvalidUserIDReturnHttpException()
 {
     try
     {
         string results = await hyperledgerService.InvokeGet(HyperledgerConsts.TraderQueryURL("Invalid"));
     }
     catch (HttpRequestException)
     {
         Assert.IsTrue(true);
     }
 }
        public async Task Successful_login_will_set_trader_object_to_serialized_json()
        {
            mockBlockService.Setup(m => m.InvokeGet(HyperledgerConsts.TraderQueryURL(TestJsonObjectConsts.trader1ID)))
            .ReturnsAsync(TestJsonObjectConsts.trader1);
            mockBlockService.Setup(m => m.InvokePostAuthentication(FlaskConsts.LoginUrl, JsonConvert.SerializeObject(user)))
            .ReturnsAsync(TestJsonObjectConsts.trader1AuthenticationMessage);
            Trader expectedTrader = JsonConvert.DeserializeObject <Trader>(TestJsonObjectConsts.trader1);

            bool results = await clientWithMock.Login(user);

            AssertTradersEqual(expectedTrader, clientWithMock.thisTrader);
        }
        public async Task CantGetPackageWhenServiceIsDown()
        {
            mockBlockService.Setup(m => m.InvokeGet(HyperledgerConsts.MyPackagesUrl(TestJsonObjectConsts.trader1ID)))
            .ThrowsAsync(new HttpRequestException());
            mockBlockService.Setup(m => m.InvokeGet(HyperledgerConsts.TraderQueryURL(TestJsonObjectConsts.trader1ID)))
            .ReturnsAsync(TestJsonObjectConsts.trader1);
            mockBlockService.Setup(m => m.InvokePostAuthentication(FlaskConsts.LoginUrl, JsonConvert.SerializeObject(user)))
            .ReturnsAsync(TestJsonObjectConsts.trader1AuthenticationMessage);

            await clientWithMock.Login(user);

            List <Package> results = await clientWithMock.GetMyPackages();

            Assert.IsNull(results);
        }
        public async Task GetMyPackagesMethodWillInvokeMyPackagesUrl()
        {
            mockBlockService.Setup(m => m.InvokeGet(HyperledgerConsts.MyPackagesUrl(TestJsonObjectConsts.trader1ID)))
            .ReturnsAsync("[]");
            mockBlockService.Setup(m => m.InvokeGet(HyperledgerConsts.TraderQueryURL(TestJsonObjectConsts.trader1ID)))
            .ReturnsAsync(TestJsonObjectConsts.trader1);
            mockBlockService.Setup(m => m.InvokePostAuthentication(FlaskConsts.LoginUrl, JsonConvert.SerializeObject(user)))
            .ReturnsAsync(TestJsonObjectConsts.trader1AuthenticationMessage);

            await clientWithMock.Login(user);

            List <Package> results = await clientWithMock.GetMyPackages();

            mockBlockService.Verify(m => m.InvokeGet(HyperledgerConsts.MyPackagesUrl(TestJsonObjectConsts.trader1ID)));
        }
        public async Task If_network_is_down_cant_get_property()
        {
            mockBlockService.Setup(m => m.InvokeGet(HyperledgerConsts.TraderQueryURL(TestJsonObjectConsts.trader1ID)))
            .ReturnsAsync(TestJsonObjectConsts.trader1);
            mockBlockService.Setup(m => m.InvokePostAuthentication(FlaskConsts.LoginUrl, JsonConvert.SerializeObject(user)))
            .ReturnsAsync(TestJsonObjectConsts.trader1AuthenticationMessage);
            mockBlockService.Setup(m => m.InvokeGet(HyperledgerConsts.MyAssetsUrl(TestJsonObjectConsts.trader1ID)))
            .ThrowsAsync(new HttpRequestException());

            await clientWithMock.Login(user);

            List <Property> results = await clientWithMock.GetMyProperties();

            Assert.IsNull(results);
        }
        public async Task Get_My_Assets_Will_InvokeGet_From_BlockchainService()
        {
            mockBlockService.Setup(m => m.InvokeGet(HyperledgerConsts.TraderQueryURL(TestJsonObjectConsts.trader1ID)))
            .ReturnsAsync(TestJsonObjectConsts.trader1);
            mockBlockService.Setup(m => m.InvokePostAuthentication(FlaskConsts.LoginUrl, JsonConvert.SerializeObject(user)))
            .ReturnsAsync(TestJsonObjectConsts.trader1AuthenticationMessage);
            mockBlockService.Setup(m => m.InvokeGet(HyperledgerConsts.MyAssetsUrl(TestJsonObjectConsts.trader1ID)))
            .ReturnsAsync("[]");

            await clientWithMock.Login(user);

            List <Property> results = await clientWithMock.GetMyProperties();

            mockBlockService.Verify(m => m.InvokeGet(HyperledgerConsts.TraderQueryURL(TestJsonObjectConsts.trader1ID)));
        }
        public async Task PropertyHistoryWillReturnListOfTransfersInOrderWithMostRecentFirst()
        {
            string property = "Property A";
            string package  = "PackageA";

            mockBlockService.Setup(m => m.InvokeGet(HyperledgerConsts.PackageHistoryUrl(Uri.EscapeDataString(package))))
            .ReturnsAsync("[{\"timestamp\":\"2018-04-21T19:47:54.368Z\"},{\"timestamp\":\"2018-04-21T19:48:54.368Z\"}]");
            mockBlockService.Setup(m => m.InvokeGet(HyperledgerConsts.PropertyPackageUrl(Uri.EscapeDataString(property))))
            .ReturnsAsync("[{\"PackageId\": \"PackageA\"}]");

            List <NewTransfer> results = await clientWithMock.GetPropertyHistory(property);

            for (int i = 0; i < results.Count() - 1; i++)
            {
                Assert.IsTrue(results[i].timestamp > results[i + 1].timestamp);
            }
        }
        public async Task PropertyHistoryWillCallPackageHistoryOnEveryReturnedPackage()
        {
            string         property    = "Property A";
            string         packageList = "[{\"PackageId\": \"PackageA\"}, {\"PackageId\": \"PackageB\"}]";
            List <Package> actualList  = JsonConvert.DeserializeObject <List <Package> >(packageList);

            mockBlockService.Setup(m => m.InvokeGet(It.IsAny <String>()))
            .ReturnsAsync("[]");
            mockBlockService.Setup(m => m.InvokeGet(HyperledgerConsts.PropertyPackageUrl(Uri.EscapeDataString(property))))
            .ReturnsAsync(packageList);

            await clientWithMock.GetPropertyHistory(property);

            foreach (Package package in actualList)
            {
                mockBlockService.Verify(m => m.InvokeGet(HyperledgerConsts.PackageHistoryUrl(package.PackageId)));
            }
        }