public void Using_the_load_generator_should_share_the_load()
		{
			Fiber thread1 = new ThreadFiber();
			thread1.Add(() => {
					var generator1 = new LoadGenerator<FirstCommand, FirstResponse>();
					generator1.Run(RemoteBus, LocalBus.Endpoint, Instances.Values.Select(x => x.DataBus), 100, x => new FirstCommand(x));
				});

			thread1.Shutdown(3.Minutes());
		}
Пример #2
0
        public void Using_the_load_generator_should_share_the_load()
        {
            Fiber thread1 = new ThreadFiber();

            thread1.Add(() => {
                var generator1 = new LoadGenerator <FirstCommand, FirstResponse>();
                generator1.Run(RemoteBus, LocalBus.Endpoint, Instances.Values.Select(x => x.DataBus), 100, x => new FirstCommand(x));
            });

            thread1.Shutdown(3.Minutes());
        }
Пример #3
0
        public void Node_a_should_recieve_all_the_work()
        {
            var       generator = new LoadGenerator <FirstCommand, FirstResponse>();
            const int count     = 100;

            generator.Run(RemoteBus, count, x => new FirstCommand(x));

            Dictionary <Uri, int> results = generator.GetWorkerLoad();

            Assert.That(results.Sum(x => x.Value), Is.EqualTo(count));
            Assert.That(results[_nodes["A"]], Is.EqualTo(count));
        }
Пример #4
0
        public async Task Generator(GeneratorArgs args)
        {
            // Load request generator and apply plugin args
            IRequestGenerator     requestGenerator = new LoadGenerator().Execute(args, PluginDir());
            IEnumerable <Request> requests         = requestGenerator.Run();

            HttpRequestTree requestTree = new HttpRequestTree()
            {
                Requests = requests, Description = requestGenerator.Name
            };

            await RunRequestTreeAgent(requestTree, args.Concurrency, requestGenerator.ComparerFactoryOverride, requestGenerator.Name, args.OutputFilePath);
        }
Пример #5
0
        public void Using_the_load_generator_should_share_the_load()
        {
            var       generator = new LoadGenerator <FirstCommand, FirstResponse>();
            const int count     = 100;

            generator.Run(RemoteBus, count, x => new FirstCommand(x));

            Dictionary <Uri, int> results = generator.GetWorkerLoad();

            Assert.That(results.Sum(x => x.Value), Is.EqualTo(count));
            results.ToList().ForEach(x =>
                                     Assert.That(x.Value, Is.GreaterThan(0).And.LessThanOrEqualTo(count),
                                                 string.Format("{0} did not consume between 0 and {1}",
                                                               x.Key.ToString(), count)));
        }
Пример #6
0
        public void ShouldSetResultWhenCompleted()
        {
            var loadTest = new Mock<LoadTest>();

            var context = new LoadTestContext();

            var loadGenerator = new LoadGenerator(loadTest.Object, typeof(TestMock), context, new CancellationToken());

            loadGenerator.Start();

            context.StartEvent.Set();
            
            Thread.Sleep(100);

            context.QuitEvent.Set();

            while (loadGenerator.IsBusy)
            {
                 /* Wait */
            }

            Assert.IsNotNull(loadGenerator.Result);
        }
Пример #7
0
        public void ShouldSetResultWhenCompleted()
        {
            var loadTest = new Mock <LoadTest>();

            var context = new LoadTestContext();

            var loadGenerator = new LoadGenerator(loadTest.Object, typeof(TestMock), context, new CancellationToken());

            loadGenerator.Start();

            context.StartEvent.Set();

            Thread.Sleep(100);

            context.QuitEvent.Set();

            while (loadGenerator.IsBusy)
            {
                /* Wait */
            }

            Assert.IsNotNull(loadGenerator.Result);
        }
 public ProcessingReportHandler(LoadGenerator generator)
 {
     this.generator = generator;
 }
Пример #9
0
		public void Using_the_load_generator_should_share_the_load()
		{
			var generator = new LoadGenerator<FirstCommand, FirstResponse>();

			generator.Run(RemoteBus, 100, x => new FirstCommand(x));
		}
Пример #10
0
        public void Using_the_load_generator_should_share_the_load()
        {
            var generator = new LoadGenerator <FirstCommand, FirstResponse>();

            generator.Run(RemoteBus, 100, x => new FirstCommand(x));
        }
Пример #11
0
        public void Using_the_load_generator_should_share_the_load()
        {
            var generator = new LoadGenerator <FirstCommand, FirstResponse>();

            generator.Run(RemoteBus, LocalBus.Endpoint, Instances.Values.Select(x => x.DataBus), 100, x => new FirstCommand(x));
        }
Пример #12
0
		public void Node_a_should_recieve_all_the_work()
		{
			var generator = new LoadGenerator<FirstCommand, FirstResponse>();
			const int count = 100;

			generator.Run(RemoteBus, count, x => new FirstCommand(x));

			Dictionary<Uri, int> results = generator.GetWorkerLoad();

			Assert.That(results.Sum(x => x.Value), Is.EqualTo(count));
			Assert.That(results[_nodes["A"]], Is.EqualTo(count));
		}
Пример #13
0
		public void Using_the_load_generator_should_share_the_load()
		{
			var generator = new LoadGenerator<FirstCommand, FirstResponse>();
			const int count = 100;

			generator.Run(RemoteBus, count, x => new FirstCommand(x));

			Dictionary<Uri, int> results = generator.GetWorkerLoad();

			Assert.That(results.Sum(x => x.Value), Is.EqualTo(count));
			results.ToList().ForEach(x =>
			                         Assert.That(x.Value, Is.GreaterThan(0).And.LessThanOrEqualTo(count),
			                         	string.Format("{0} did not consume between 0 and {1}",
			                         		x.Key.ToString(), count)));
		}
Пример #14
0
		public void Using_the_load_generator_should_share_the_load()
		{
			var generator = new LoadGenerator<FirstCommand, FirstResponse>();

			generator.Run(RemoteBus, LocalBus.Endpoint, Instances.Values.Select(x => x.DataBus), 100, x => new FirstCommand(x));
		}