Пример #1
0
        public void CallServiceAsync_Instance_Func_By_ObjectProperty_Test()
        {
            var             clientMock  = new Mock <ISDataClient>();
            SDataParameters parms       = null;
            var             resultsMock = new Mock <ISDataResults <SDataResource> >();

            resultsMock.Setup(x => x.Content).Returns(new SDataResource {
                { "response", new SDataResource {
                      { "value", "world" }
                  } }
            });
            var taskSource = new TaskCompletionSource <ISDataResults <SDataResource> >();

            taskSource.SetResult(resultsMock.Object);
            clientMock.Setup(x => x.ExecuteAsync <SDataResource>(It.IsAny <SDataParameters>(), CancellationToken.None))
            .Callback((SDataParameters p, CancellationToken c) => parms = p)
            .Returns(taskSource.Task);
            var obj    = new CallService_Object();
            var result = clientMock.Object.CallServiceAsync(() => obj.InstanceFuncByObjectProperty("hello"), null, CancellationToken.None).Result;

            Assert.That(parms, Is.Not.Null);
            Assert.That(parms.Method, Is.EqualTo(HttpMethod.Post));
            Assert.That(parms.Path, Is.EqualTo("dummy/$service/InstanceFuncByObjectProperty"));
            var resource = parms.Content as SDataResource;

            Assert.That(resource, Is.Not.Null);
            resource = resource["request"] as SDataResource;
            Assert.That(resource, Is.Not.Null);
            Assert.That(resource["entity"], Is.EqualTo(obj));
            Assert.That(resource["arg"], Is.EqualTo("hello"));
            Assert.That(result, Is.EqualTo("world"));
        }
Пример #2
0
        public void CallServiceAsync_Instance_Action_By_KeyProperty_Test()
        {
            var             clientMock = new Mock <ISDataClient>();
            SDataParameters parms      = null;
            var             taskSource = new TaskCompletionSource <ISDataResults>();

            taskSource.SetResult(null);
            clientMock.Setup(x => x.ExecuteAsync(It.IsAny <SDataParameters>(), CancellationToken.None))
            .Callback((SDataParameters p, CancellationToken c) => parms = p)
            .Returns(taskSource.Task);
            var obj = new CallService_Object {
                Key = "abc123"
            };

            clientMock.Object.CallServiceAsync(() => obj.InstanceActionByKeyProperty("hello"), null, CancellationToken.None).Wait(CancellationToken.None);

            Assert.That(parms, Is.Not.Null);
            Assert.That(parms.Method, Is.EqualTo(HttpMethod.Post));
            Assert.That(parms.Path, Is.EqualTo("dummy/$service/InstanceActionByKeyProperty"));
            var resource = parms.Content as SDataResource;

            Assert.That(resource, Is.Not.Null);
            resource = resource["request"] as SDataResource;
            Assert.That(resource, Is.Not.Null);
            Assert.That(resource["entityKey"], Is.EqualTo("abc123"));
            Assert.That(resource["arg"], Is.EqualTo("hello"));
        }
Пример #3
0
        public void CallService_Instance_Func_By_KeyProperty_Test()
        {
            var             clientMock  = new Mock <ISDataClient>();
            SDataParameters parms       = null;
            var             resultsMock = new Mock <ISDataResults <SDataResource> >();

            resultsMock.Setup(x => x.Content).Returns(new SDataResource {
                { "response", new SDataResource {
                      { "value", "world" }
                  } }
            });
            clientMock.Setup(x => x.Execute <SDataResource>(It.IsAny <SDataParameters>()))
            .Callback((SDataParameters p) => parms = p)
            .Returns(resultsMock.Object);
            var obj = new CallService_Object {
                Key = "abc123"
            };
            var result = clientMock.Object.CallService(() => obj.InstanceFuncByKeyProperty("hello"));

            Assert.That(parms, Is.Not.Null);
            Assert.That(parms.Method, Is.EqualTo(HttpMethod.Post));
            Assert.That(parms.Path, Is.EqualTo("dummy/$service/InstanceFuncByKeyProperty"));
            var resource = parms.Content as SDataResource;

            Assert.That(resource, Is.Not.Null);
            resource = resource["request"] as SDataResource;
            Assert.That(resource, Is.Not.Null);
            Assert.That(resource["entityKey"], Is.EqualTo("abc123"));
            Assert.That(resource["arg"], Is.EqualTo("hello"));
            Assert.That(result, Is.EqualTo("world"));
        }
Пример #4
0
        public void CallService_Static_Func_Test()
        {
            var             clientMock  = new Mock <ISDataClient>();
            SDataParameters parms       = null;
            var             resultsMock = new Mock <ISDataResults <SDataResource> >();

            resultsMock.Setup(x => x.Content).Returns(new SDataResource {
                { "response", new SDataResource {
                      { "value", "world" }
                  } }
            });
            clientMock.Setup(x => x.Execute <SDataResource>(It.IsAny <SDataParameters>()))
            .Callback((SDataParameters p) => parms = p)
            .Returns(resultsMock.Object);
            var result = clientMock.Object.CallService(() => CallService_Object.StaticFunc("hello"));

            Assert.That(parms, Is.Not.Null);
            Assert.That(parms.Method, Is.EqualTo(HttpMethod.Post));
            Assert.That(parms.Path, Is.EqualTo("dummy/$service/StaticFunc"));
            var resource = parms.Content as SDataResource;

            Assert.That(resource, Is.Not.Null);
            resource = resource["request"] as SDataResource;
            Assert.That(resource, Is.Not.Null);
            Assert.That(resource["arg"], Is.EqualTo("hello"));
            Assert.That(result, Is.EqualTo("world"));
        }
Пример #5
0
        public void CallService_Static_Action_Test()
        {
            var             clientMock = new Mock <ISDataClient>();
            SDataParameters parms      = null;

            clientMock.Setup(x => x.Execute(It.IsAny <SDataParameters>()))
            .Callback((SDataParameters p) => parms = p);
            clientMock.Object.CallService(() => CallService_Object.StaticAction("hello"));

            Assert.That(parms, Is.Not.Null);
            Assert.That(parms.Method, Is.EqualTo(HttpMethod.Post));
            Assert.That(parms.Path, Is.EqualTo("dummy/$service/StaticAction"));
            var resource = parms.Content as SDataResource;

            Assert.That(resource, Is.Not.Null);
            resource = resource["request"] as SDataResource;
            Assert.That(resource, Is.Not.Null);
            Assert.That(resource["arg"], Is.EqualTo("hello"));
        }
Пример #6
0
        public void CallService_Instance_Action_By_ObjectProperty_Test()
        {
            var             clientMock = new Mock <ISDataClient>();
            SDataParameters parms      = null;

            clientMock.Setup(x => x.Execute(It.IsAny <SDataParameters>()))
            .Callback((SDataParameters p) => parms = p);
            var obj = new CallService_Object();

            clientMock.Object.CallService(() => obj.InstanceActionByObjectProperty("hello"));

            Assert.That(parms, Is.Not.Null);
            Assert.That(parms.Method, Is.EqualTo(HttpMethod.Post));
            Assert.That(parms.Path, Is.EqualTo("dummy/$service/InstanceActionByObjectProperty"));
            var resource = parms.Content as SDataResource;

            Assert.That(resource, Is.Not.Null);
            resource = resource["request"] as SDataResource;
            Assert.That(resource, Is.Not.Null);
            Assert.That(resource["entity"], Is.EqualTo(obj));
            Assert.That(resource["arg"], Is.EqualTo("hello"));
        }