示例#1
0
 public void SetUp()
 {
     FlipperActor = MockActor("User:5");
     StatsdClient = MockRepository.GenerateStub <IStatsd>();
     Instrumenter = new StatsdInstrumenter(StatsdClient);
     Flipper      = new Flipper(new MemoryAdapter(), Instrumenter);
 }
示例#2
0
        public void ShouldPublishFeatureTimingMetricForAllOperations()
        {
            var  operationName = "Operation";
            long milliseconds  = 15;
            var  clock         = MockClock(milliseconds);
            var  StatsdClient  = MockRepository.GenerateStub <IStatsd>();
            var  payload       = new InstrumentationPayload {
                Operation = operationName,
            };

            var Instrumenter = new StatsdInstrumenter(StatsdClient, clock);
            var token        = Instrumenter.InstrumentFeature(payload);

            token.Dispose();

            StatsdClient.AssertWasCalled(x => x.LogTiming(string.Format("flipper.feature_operation.{0}", operationName), milliseconds));
        }
示例#3
0
        public void ShouldPublishFeatureCountMetricForIsEnabledOperation(bool isEnabled, string status)
        {
            var featureName   = "Feature";
            var operationName = "enabled?";
            var StatsdClient  = MockRepository.GenerateStub <IStatsd>();
            var payload       = new InstrumentationPayload {
                FeatureName = featureName,
                Operation   = operationName,
                Result      = isEnabled,
            };

            var Instrumenter = new StatsdInstrumenter(StatsdClient);
            var token        = Instrumenter.InstrumentFeature(payload);

            token.Dispose();

            StatsdClient.AssertWasCalled(x => x.LogCount(string.Format("flipper.feature.{0}.{1}", featureName, status)));
        }
示例#4
0
        public void ShouldStripQuestionMarkFromOperationName()
        {
            var operationName         = "Operation?";
            var expectedOperationName = "Operation";
            var StatsdClient          = MockRepository.GenerateStub <IStatsd>();
            var payload = new InstrumentationPayload {
                Operation = operationName,
            };

            var Instrumenter = new StatsdInstrumenter(StatsdClient);
            var token        = Instrumenter.InstrumentFeature(payload);

            token.Dispose();

            StatsdClient.AssertWasCalled(x => x.LogTiming(
                                             Arg <string> .Is.Equal(string.Format("flipper.feature_operation.{0}", expectedOperationName)),
                                             Arg <long> .Is.Anything));
        }