Exemplo n.º 1
0
        public async Task TestWatchingEvents()
        {
            var client = new ArmadaClient("http://localhost:8080", new HttpClient());

            var queue  = "test";
            var jobSet = $"set-{Guid.NewGuid()}";

            // produce some events
            await client.CreateQueueAsync(queue, new ApiQueue { PriorityFactor = 200 });

            var request  = CreateJobRequest(jobSet);
            var response = await client.SubmitJobsAsync(request);

            var cancelResponse =
                await client.CancelJobsAsync(new ApiJobCancelRequest { Queue = "test", JobSetId = jobSet });

            using (var cts = new CancellationTokenSource())
            {
                var eventCount = 0;
                Task.Run(() => client.WatchEvents(queue, jobSet, null, cts.Token, m => eventCount++, e => throw e));
                await Task.Delay(TimeSpan.FromMinutes(2));

                cts.Cancel();
                Assert.That(eventCount, Is.EqualTo(4));
            }
        }
Exemplo n.º 2
0
        public async Task TestProcessingUnknownEvents()
        {
            var mockHttp = new MockHttpMessageHandler();

            mockHttp.When("http://*****:*****@"{""result"":{""Id"":""1593611590122-0"",""message"":{""Queued"":{""JobId"":""01ec5ae6f9wvya6cr6stzwty7v"",""JobSetId"":""set-bae48cc8-9f70-465f-ae5c-c92713b5f24f"",""Queue"":""test"",""Created"":""2020-07-01T13:53:10.122263955Z""}}}}
                    {""result"":{""Id"":""1593611590122-0"",""message"":{""UnknownEvent"":""test""}}}
                    {""error"": ""test error""}
                    {}
                    
                    {""a"":""b""}");

            IArmadaClient client = new ArmadaClient("http://localhost:8080", new HttpClient(mockHttp));
            var           events = (await client.GetJobEventsStream("queue", "jobSet", watch: false)).ToList();

            Assert.That(events.Count(), Is.EqualTo(2));
            Assert.That(events[0].Result.Message.Event, Is.Not.Null);
            Assert.That(events[1].Error, Is.EqualTo("test error"));
        }
Exemplo n.º 3
0
        public async Task TestSimpleJobSubmitFlow()
        {
            var jobSet = $"set-{Guid.NewGuid()}";

            IArmadaClient client = new ArmadaClient("http://localhost:8080", new HttpClient());
            await client.CreateQueueAsync("test", new ApiQueue { PriorityFactor = 200 });

            var request = CreateJobRequest(jobSet);

            var response = await client.SubmitJobsAsync(request);

            var cancelResponse =
                await client.CancelJobsAsync(new ApiJobCancelRequest { Queue = "test", JobSetId = jobSet });

            var events = await client.GetJobEventsStream(jobSet, watch : false);

            var allEvents = events.ToList();

            Assert.That(allEvents, Is.Not.Empty);
            Assert.That(allEvents[0].Result.Message.Submitted, Is.Not.Null);
        }