示例#1
0
        public async Task TestPublicKeyCanBePublishedAndIsReadCorrectlyFromResponse()
        {
            var client     = new RestClient("https://localhost:44381");
            var repository = new RestKvkRepository(client);

            var key = Encryption.Create();
            await repository.RegisterCompanyPublicKeyAsync("242630600", key);

            var publicKey = await repository.GetCompanyPublicKeyAsync("242630600");

            Assert.IsTrue(publicKey.SequenceEqual(key.Export(CngKeyBlobFormat.EccFullPublicBlob)));
        }
示例#2
0
        public async Task TestClientDoesNotReturnOkResponseOnFindByKvkNumberShouldThrowException()
        {
            var response = new RestResponse {
                StatusCode = HttpStatusCode.BadRequest
            };

            var client = new Mock <IRestClient>();

            client.Setup(c => c.ExecuteTaskAsync(It.IsAny <IRestRequest>())).ThrowsAsync(new ApiException(response));

            var repository = new RestKvkRepository(client.Object);
            await repository.GetByKvkNumberAsync("401196200");
        }
示例#3
0
        public async Task TestClientReturnsOkResponseOnFindByKvkNumberShouldMapToDynamicType()
        {
            var response = new RestResponse {
                StatusCode = HttpStatusCode.OK, Content = "{ \"Json\": \"OK\" }"
            };

            var client = new Mock <IRestClient>();

            client.Setup(c => c.ExecuteTaskAsync(It.IsAny <IRestRequest>())).ReturnsAsync(response);

            var repository   = new RestKvkRepository(client.Object);
            var responseJson = await repository.GetByKvkNumberAsync("401196200");

            Assert.AreEqual("OK", responseJson.Values.First().ToString());
        }
示例#4
0
        public async Task SetupAsync()
        {
            var invoiceRepository = new IotaInvoiceRepository(IotaRepository);
            var kvkRepository     = new RestKvkRepository(new RestClient("https://localhost:44381"));

            //var companyKeys = Encryption.Create();
            //var document = Encoding.UTF8.GetBytes("NL63ABNA0265980487");

            //var bundleHash = await invoiceRepository.PublishInvoiceHashAsync(document, companyKeys);
            //await kvkRepository.RegisterCompanyPublicKeyAsync("401196200", companyKeys);

            var parsedInvoice = await ImageParser.Parse("C:\\Projects\\Odyssey\\IMG_20190413_170510.jpg");

            parsedInvoice.Hash      = new Hash("EJKEGJVZVBCPWWSBCGGJUFNSXLVAPJSIUOUHEILDEIL9QTKZPKBIUWMHPALQDQ9IDWJEJCZSSBSPKVGB9");
            parsedInvoice.KvkNumber = "401196200";

            var invoiceVerificator = new InvoiceVerificator(invoiceRepository, kvkRepository);
            var result             = await invoiceVerificator.IsValid(parsedInvoice);
        }