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