Exemple #1
0
        public void TimeTaskService_cancel_when_task_running_cancels_it()
        {
            //arrange
            var seconds     = 5;
            var testRequest = new TestRequest();

            testRequest.StartDate = DateTime.UtcNow.AddSeconds(seconds);
            testRequest.Endpoint  = "http://localhost:9999/test";
            var responseProv = new FakeResponseProvider(HttpStatusCode.OK);

            responseProv.Callback = (RequestMessage requestMessage) => { Assert.Fail("Should be canceled"); };
            responseServer.Given(Request.Create()
                                 .WithPath("/test")
                                 .UsingPost())
            .RespondWith(responseProv);

            var setTaskResponse = SetTask(testRequest);

            Assert.IsTrue(setTaskResponse.StatusCode == HttpStatusCode.OK);
            var infoResponse   = GetInfoResponse(setTaskResponse);
            var cancelResponse = CancelTask("echo", infoResponse.Id);

            Assert.IsTrue(cancelResponse.StatusCode == HttpStatusCode.OK);
            Thread.Sleep(seconds * 3 * 1000);

            Assert.AreNotSame(Guid.Empty, infoResponse.Id);
        }
Exemple #2
0
        private HttpResponseMessage MakeInvalidSetRequest(string endpoint, int seconds, string taskType, Values values)
        {
            var testRequest = new TestRequest();

            testRequest.StartDate = DateTime.UtcNow.AddSeconds(seconds);
            testRequest.Endpoint  = endpoint;
            testRequest.Type      = taskType;
            testRequest.Values    = values;
            var responseProv = new FakeResponseProvider(HttpStatusCode.OK);

            responseProv.Callback = (RequestMessage requestMessage) => { Assert.Fail(); };
            responseServer.Given(Request.Create()
                                 .WithPath("/test")
                                 .UsingPost())
            .RespondWith(responseProv);

            var setTaskResponse = SetTask(testRequest);

            Thread.Sleep(seconds * 3 * 1000);
            return(setTaskResponse);
        }
Exemple #3
0
        public void TimeTaskService_set_when_valid_parameters_sends_request_to_endpoint()
        {
            //arrange
            var             seconds         = 2;
            var             count           = 0;
            TestCallRequest testCallRequest = null;
            var             testRequest     = new TestRequest();

            testRequest.StartDate = DateTime.UtcNow.AddSeconds(seconds);
            testRequest.Endpoint  = "http://localhost:9999/test";
            var responseProv = new FakeResponseProvider(HttpStatusCode.OK);

            responseProv.Callback = (RequestMessage requestMessage) =>
            {
                var timeSpan = DateTime.UtcNow - testRequest.StartDate;
                Assert.IsTrue(timeSpan.Ticks > 0);
                testCallRequest = JsonConvert.DeserializeObject <TestCallRequest>(requestMessage.Body);
                count++;
            };
            responseServer.Given(Request.Create()
                                 .WithPath("/test")
                                 .UsingPost())
            .RespondWith(responseProv);

            //act
            var setTaskResponse = SetTask(testRequest);
            var infoResponse    = GetInfoResponse(setTaskResponse);

            Thread.Sleep(seconds * 3 * 1000);

            //assert
            Assert.IsTrue(count == 1);
            Assert.IsTrue(setTaskResponse.StatusCode == HttpStatusCode.OK);
            Assert.AreNotSame(Guid.Empty, infoResponse.Id);
            Assert.NotNull(testCallRequest);
            Assert.AreEqual(testRequest.Values.Val1, testCallRequest.Values.Val1);
            Assert.AreEqual(infoResponse.Id, testCallRequest.Id);
        }