public void ShouldRecordGateInstrumentationForIsEnabled([Values(true,false)] Boolean enabled) { var instrumenter = new MockInstrumenter(); var feature = new Feature("Name", new MemoryAdapter(), instrumenter); if (enabled) { feature.Enable(); } else { feature.Disable(); } instrumenter.Events.Clear(); feature.IsEnabled(); var expectedPayload = new InstrumentationPayload { FeatureName = "Name", GateName = "boolean", Operation = "open?", Thing = null, Result = enabled, }; if (enabled) { expectedPayload.GateName = feature.BooleanGate.Name; } var expectedEvent = new MockInstrumenter.Event { Type = InstrumentationType.GateOperation, Payload = expectedPayload, }; Assert.That(instrumenter.Events, Has.Member(expectedEvent)); }
public void ShouldRecordInstrumentationForIsEnabledFor([Values(true,false)] Boolean enabled) { var instrumenter = new MockInstrumenter(); var feature = new Feature("Name", new MemoryAdapter(), instrumenter); var flipperActor = MockActor("User:5"); if (enabled) { feature.EnableActor(flipperActor); } else { feature.DisableActor(flipperActor); } instrumenter.Events.Clear(); feature.IsEnabledFor(flipperActor); var expectedPayload = new InstrumentationPayload { FeatureName = "Name", Operation = "enabled?", Thing = flipperActor, Result = enabled }; if (enabled) { expectedPayload.GateName = feature.ActorGate.Name; } var expectedEvent = new MockInstrumenter.Event { Type = InstrumentationType.FeatureOperation, Payload = expectedPayload, }; Assert.That(instrumenter.Events, Has.Member(expectedEvent)); }