public void TesTDeviceTwinConfigurationIsChangedIfTwinIsChanged() { NameValueCollection generalConfig = (NameValueCollection)ConfigurationManager.GetSection("General"); var generatorUnderTest = new FakeOperationalEventGenerator(); Assert.AreEqual(EventPriority.Off, generatorUnderTest.Priority); Twin.ChangeEventPriority(typeof(FakeOperationalEvent).Name, EventPriority.High); Assert.AreEqual(EventPriority.High, generatorUnderTest.Priority); }
public void TestEventAreFiredCorrectlyFromMultipleGenerators() { Twin.ChangeEventPriority(typeof(FakeOperationalEvent).Name, EventPriority.High) .ChangeEventPriority(typeof(FakePeriodicEvent).Name, EventPriority.High) .ChangeEventPriority(typeof(FakeTriggeredEvent).Name, EventPriority.Low) .UpdateAgentTwinConfiguration(); var expectedOperationalEvent = FakesEventsFactory.CreateFakeOperationalEvent(); var expectedPeriodicEvent = FakesEventsFactory.CreateFakePeriodicEvent(EventPriority.High); var expectedTriggeredEvent = FakesEventsFactory.CreateFakeTriggeredEvent(EventPriority.Low); FakeOperationalEventGenerator.SetEvents(new [] { expectedOperationalEvent }); FakeSnapshotEventGenerator.SetEvents(new [] { expectedPeriodicEvent }); FakeTriggeredEventGenerator.SetEvents(new [] { expectedTriggeredEvent }); _eventProducer.ExecuteTask(); _eventProducer.ExecuteTask(); _messageBuilderConsumer.ExecuteTask(); var sentMessages = ClientMock.GetMessages(); Assert.AreEqual(2, sentMessages.Count); var sentEvents = new List <Event>(); foreach (var msg in sentMessages) { byte[] msgBytes = msg.GetBytes(); MessageHelper.VerifyMessageHeader(msgBytes); sentEvents.AddRange(MessageHelper.GetEventsFromMsg(msgBytes)); } foreach (var ev in sentEvents) { if (ev.Name == typeof(FakePeriodicEvent).Name) { MessageHelper.ValidateEventsAreEqual(ev, expectedPeriodicEvent); } else if (ev.Name == typeof(FakeTriggeredEvent).Name) { MessageHelper.ValidateEventsAreEqual(ev, expectedTriggeredEvent); } else if (ev.Name == typeof(FakeOperationalEvent).Name) { MessageHelper.ValidateEventsAreEqual(ev, expectedOperationalEvent); } } }
public void TestEventNotFiredIfEventIsTooBig() { var maxMessageSize = Int32.Parse(Twin.GetConfiguration("maxMessageSizeInBytes")); Twin.ChangeEventPriority(typeof(FakeOperationalEvent).Name, EventPriority.High) .UpdateAgentTwinConfiguration(); Assert.AreEqual((uint)maxMessageSize, AgentConfiguration.RemoteConfiguration.MaxMessageSize); var expectedEvent = FakesEventsFactory.CreateFakeOperationalEvent(GenerateBigFakePayload(maxMessageSize)); FakeOperationalEventGenerator.SetEvents(new[] { expectedEvent }); RepeatAction(_eventProducer, 100); _messageBuilderConsumer.ExecuteTask(); var sentMessages = ClientMock.GetMessages(); Assert.AreEqual(0, sentMessages.Count); }
public void TestOperationalEventIsNotFiredIfAMessageIsNotFired() { Twin.ChangeEventPriority(typeof(FakeOperationalEvent).Name, EventPriority.Operational) .ChangeEventPriority(typeof(FakePeriodicEvent).Name, EventPriority.Off) .ChangeEventPriority(typeof(FakeTriggeredEvent).Name, EventPriority.Off) .UpdateAgentTwinConfiguration(); var expectedOperationalEvent = FakesEventsFactory.CreateFakeOperationalEvent(); var expectedPeriodicEvent = FakesEventsFactory.CreateFakePeriodicEvent(EventPriority.High); var expectedTriggeredEvent = FakesEventsFactory.CreateFakeTriggeredEvent(EventPriority.Low); FakeOperationalEventGenerator.SetEvents(new[] { expectedOperationalEvent }); FakeSnapshotEventGenerator.SetEvents(new[] { expectedPeriodicEvent }); FakeTriggeredEventGenerator.SetEvents(new[] { expectedTriggeredEvent }); _eventProducer.ExecuteTask(); _eventProducer.ExecuteTask(); _messageBuilderConsumer.ExecuteTask(); var sentMessages = ClientMock.GetMessages(); Assert.AreEqual(0, sentMessages.Count); }