public void TheTheScalerShouldNotBeScaled() { var channelLoadBalancer = Substitute.For<ChannelLoadBalancer>(); channelLoadBalancer.HasActiveChannels.Returns(true); channelLoadBalancer.ChannelCount.Returns(1); var channelScalerImp = new ChannelScalerImpl(new PushServiceSettings(), channelLoadBalancer); channelScalerImp.Start(); channelScalerImp.CheckScale(); Assert.AreEqual(1, channelLoadBalancer.ChannelCount); }
public void ThenTheScalerShouldAddAChannelToTheLoadBalancer() { var channelLoadBalancer = Substitute.For<ChannelLoadBalancer>(); channelLoadBalancer.HasActiveChannels.Returns(true); channelLoadBalancer.ChannelCount.Returns(1, 2, 3, 4, 5); var pushServiceSettings = new PushServiceSettings { AutoScaleChannels = false, Channels = 5 }; var channelScalerImp = new ChannelScalerImpl(pushServiceSettings, channelLoadBalancer); channelScalerImp.Start(); channelScalerImp.CheckScale(); channelLoadBalancer.Received(3).AddChannels(1); }
public void ThenTheScalerShouldAddAChannelToTheLoadBalancer() { var channelLoadBalancer = Substitute.For<ChannelLoadBalancer>(); channelLoadBalancer.HasActiveChannels.Returns(true); var pushServiceSettings = new PushServiceSettings(); var channelScalerImp = new ChannelScalerImpl(pushServiceSettings, channelLoadBalancer); channelScalerImp.Start(); int measurementCounter = 0; while (measurementCounter < 1000) { channelScalerImp.RecordQueueTime(pushServiceSettings.MinAvgTimeToScaleChannels + 1); measurementCounter++; } channelScalerImp.CheckScale(); channelLoadBalancer.Received(1).AddChannels(1); }