Exemple #1
0
        public async Task TestQuery()
        {
            var provider = GetMockProvider <PersonResponse>();

            var iconService = new IconService(provider.Object);

            iconService.AddConverterFactory <PersonResponse>(new TestQueryRpcConverterFactory());

            var person = new Person
            {
                Name          = "gold bug",
                Age           = BigInteger.Parse("20"),
                HasPermission = false
            };

            var call = new Call.Builder()
                       .From(new Address("hxbe258ceb872e08851f1f59694dac2558708ece11"))
                       .To(new Address("cx5bfdb090f43a808005ffc27c25b213145e80b7cd"))
                       .Method("addUser")
                       .Params(person)
                       .BuildWith <PersonResponse>();

            // ReSharper disable once UnusedVariable
            var query = await iconService.CallAsync(call);

            provider.Verify(x =>
                            x.SendRequestAsync(It.Is <Request>(request => TestQueryRequestCheck(request, person)),
                                               It.IsAny <IRpcConverter <PersonResponse> >()), Times.Once);
        }
Exemple #2
0
        public async Task TestConverterNotfound()
        {
            var provider = GetMockProvider();

            var iconService = new IconService(provider.Object);
            var person      = new Person
            {
                Name          = "gold bug",
                Age           = BigInteger.Parse("20"),
                HasPermission = false
            };

            var call = new Call.Builder()
                       .From(new Address("hxbe258ceb872e08851f1f59694dac2558708ece11"))
                       .To(new Address("cx5bfdb090f43a808005ffc27c25b213145e80b7cd"))
                       .Method("addUser")
                       .Params(person)
                       .BuildWith <PersonResponse>();

            await Assert.ThrowsAsync <ArgumentException>(async() =>
            {
                await iconService.CallAsync(call);
            });
        }