コード例 #1
0
        public void SetUp()
        {
            _configuration = Mock.Create <IConfiguration>();

            _attribDefSvc = new AttributeDefinitionService((f) => new AttributeDefinitions(f));

            Mock.Arrange(() => _configuration.ErrorCollectorEnabled).Returns(true);
            Mock.Arrange(() => _configuration.ErrorCollectorCaptureEvents).Returns(true);

            _configurationService = Mock.Create <IConfigurationService>();
            Mock.Arrange(() => _configurationService.Configuration).Returns(_configuration);

            _transactionMetricNameMaker = Mock.Create <ITransactionMetricNameMaker>();
            Mock.Arrange(() => _transactionMetricNameMaker.GetTransactionMetricName(Arg.IsAny <ITransactionName>()))
            .Returns(new TransactionMetricName("WebTransaction", "TransactionName"));

            _segmentTreeMaker = Mock.Create <ISegmentTreeMaker>();
            Mock.Arrange(() => _segmentTreeMaker.BuildSegmentTrees(Arg.IsAny <IEnumerable <Segment> >()))
            .Returns(new[] { BuildNode() });

            _errorEventMaker = new ErrorEventMaker(_attribDefSvc);

            _timerFactory = new TimerFactory();

            _transactionAttributeMaker = new TransactionAttributeMaker(_configurationService, _attribDefSvc);
            _errorService = new ErrorService(_configurationService);
        }
コード例 #2
0
        public void SetUp()
        {
            _configuration = Mock.Create <IConfiguration>();
            Mock.Arrange(() => _configuration.CrossApplicationTracingEnabled).Returns(true);
            _configurationService = Mock.Create <IConfigurationService>();
            Mock.Arrange(() => _configurationService.Configuration).Returns(() => _configuration);

            var catSupportabilityCounters = Mock.Create <ICATSupportabilityMetricCounters>();

            _pathHashMaker           = new PathHashMaker(_configurationService);
            _catHeaderHandler        = new CatHeaderHandler(_configurationService, catSupportabilityCounters);
            _syntheticsHeaderHandler = new SyntheticsHeaderHandler(_configurationService);

            var metricNameService = Mock.Create <IMetricNameService>();

            Mock.Arrange(() => metricNameService.RenameTransaction(Arg.IsAny <TransactionMetricName>()))
            .Returns(name => name);
            _transactionMetricNameMaker = new TransactionMetricNameMaker(metricNameService);

            var transactionBuilderService = Mock.Create <ITransactionService>();

            Mock.Arrange(() => transactionBuilderService.GetCurrentInternalTransaction()).Returns(() => _transaction);

            var agentHealthReporter = Mock.Create <IAgentHealthReporter>();

            _agent = new Agent(transactionBuilderService, Mock.Create <ITransactionTransformer>(), Mock.Create <IThreadPoolStatic>(), _transactionMetricNameMaker, _pathHashMaker, _catHeaderHandler, Mock.Create <IDistributedTracePayloadHandler>(), _syntheticsHeaderHandler, Mock.Create <ITransactionFinalizer>(), Mock.Create <IBrowserMonitoringPrereqChecker>(), Mock.Create <IBrowserMonitoringScriptMaker>(), _configurationService, agentHealthReporter, Mock.Create <IAgentTimerService>(), Mock.Create <IMetricNameService>(), new TraceMetadataFactory(new AdaptiveSampler()), catSupportabilityCounters);

            _attribDefSvc = new AttributeDefinitionService((f) => new AttributeDefinitions(f));
            _transactionAttributeMaker = new TransactionAttributeMaker(_configurationService, _attribDefSvc);
        }
コード例 #3
0
        public void SetUp()
        {
            _environment = Mock.Create <IEnvironment>();

            Mock.Arrange(() => _environment.GetEnvironmentVariable(Arg.IsAny <string>()))
            .Returns(null as string);

            _processStatic              = Mock.Create <IProcessStatic>();
            _httpRuntimeStatic          = Mock.Create <IHttpRuntimeStatic>();
            _configurationManagerStatic = new ConfigurationManagerStaticMock();
            _dnsStatic = Mock.Create <IDnsStatic>();
            _securityPoliciesConfiguration = new SecurityPoliciesConfiguration();

            _runTimeConfiguration = new RunTimeConfiguration();
            _serverConfig         = new ServerConfiguration();
            _localConfig          = new configuration();

            _localConfig.crossApplicationTracingEnabled = true;
            _localConfig.attributes.enabled             = true;
            _localConfig.spanEvents.enabled             = true;
            _localConfig.distributedTracing.enabled     = true;

            _configurationService = Mock.Create <IConfigurationService>();

            UpdateConfig();

            _configAutoResponder = new ConfigurationAutoResponder(_configuration);

            _transactionMetricNameMaker = Mock.Create <ITransactionMetricNameMaker>();
            _attribDefSvc = new AttributeDefinitionService((f) => new AttributeDefinitions(f));
            _transactionAttributeMaker = new TransactionAttributeMaker(_configurationService, _attribDefSvc);
        }
            public void Setup()
            {
                var config = CreateMockConfiguration();

                _configAutoResponder = new ConfigurationAutoResponder(config);
                _attribDefSvc        = new AttributeDefinitionService((f) => new AttributeDefinitions(f));
            }
コード例 #5
0
 public BrowserMonitoringScriptMaker(IConfigurationService configurationService, ITransactionMetricNameMaker transactionMetricNameMaker, ITransactionAttributeMaker transactionAttributeMaker, IAttributeDefinitionService attribDefSvc)
 {
     _configurationService       = configurationService;
     _transactionMetricNameMaker = transactionMetricNameMaker;
     _transactionAttributeMaker  = transactionAttributeMaker;
     _attribDefSvc = attribDefSvc;
 }
コード例 #6
0
        public void SetUp()
        {
            _localConfig = new configuration();
            _localConfig.distributedTracing.enabled = true;
            _serverConfig  = new ServerConfiguration();
            _runTimeConfig = new RunTimeConfiguration();
            _defaultConfig = new TestableDefaultConfiguration(Mock.Create <IEnvironment>(), _localConfig, _serverConfig, _runTimeConfig,
                                                              new SecurityPoliciesConfiguration(), Mock.Create <IProcessStatic>(), Mock.Create <IHttpRuntimeStatic>(), Mock.Create <IConfigurationManagerStatic>(),
                                                              Mock.Create <IDnsStatic>());

            _transactionMetricNameMaker = Mock.Create <ITransactionMetricNameMaker>();
            Mock.Arrange(() => _transactionMetricNameMaker.GetTransactionMetricName(Arg.Matches <ITransactionName>(txName => txName.IsWeb)))
            .Returns(new TransactionMetricName("WebTransaction", "TransactionName"));
            Mock.Arrange(() => _transactionMetricNameMaker.GetTransactionMetricName(Arg.Matches <ITransactionName>(txName => !txName.IsWeb))).Returns(new TransactionMetricName("OtherTransaction", "TransactionName"));

            _transactionSegmentState = Mock.Create <ITransactionSegmentState>();
            Mock.Arrange(() => _transactionSegmentState.GetRelativeTime()).Returns(() => TimeSpan.Zero);
            Mock.Arrange(() => _transactionSegmentState.AttribDefs).Returns(() => new AttributeDefinitions(new AttributeFilter(new AttributeFilter.Settings())));

            _segmentTreeMaker = Mock.Create <ISegmentTreeMaker>();

            _metricNameService = Mock.Create <IMetricNameService>();

            _metricBuilder    = Mock.Create <IMetricBuilder>();
            _metricAggregator = Mock.Create <IMetricAggregator>();

            _configurationService = Mock.Create <IConfigurationService>();
            Mock.Arrange(() => _configurationService.Configuration).Returns(_defaultConfig);

            _transactionTraceAggregator = Mock.Create <ITransactionTraceAggregator>();
            _transactionTraceMaker      = Mock.Create <ITransactionTraceMaker>();
            _transactionEventAggregator = Mock.Create <ITransactionEventAggregator>();
            _transactionEventMaker      = Mock.Create <ITransactionEventMaker>();
            _transactionAttributeMaker  = Mock.Create <ITransactionAttributeMaker>();
            _errorTraceAggregator       = Mock.Create <IErrorTraceAggregator>();
            _errorTraceMaker            = Mock.Create <IErrorTraceMaker>();
            _errorEventAggregator       = Mock.Create <IErrorEventAggregator>();
            _errorEventMaker            = Mock.Create <IErrorEventMaker>();
            _sqlTraceAggregator         = Mock.Create <ISqlTraceAggregator>();
            _sqlTraceMaker = Mock.Create <ISqlTraceMaker>();

            _spanEventAggregator = Mock.Create <ISpanEventAggregator>();
            Mock.Arrange(() => _spanEventAggregator.IsServiceEnabled).Returns(() => _defaultConfig != null && _defaultConfig.SpanEventsEnabled && _defaultConfig.SpanEventsMaxSamplesStored > 0 && _defaultConfig.DistributedTracingEnabled);
            Mock.Arrange(() => _spanEventAggregator.IsServiceAvailable).Returns(() => _defaultConfig != null && _defaultConfig.SpanEventsEnabled && _defaultConfig.SpanEventsMaxSamplesStored > 0 && _defaultConfig.DistributedTracingEnabled);

            _spanEventAggregatorInfiniteTracing = Mock.Create <ISpanEventAggregatorInfiniteTracing>();
            Mock.Arrange(() => _spanEventAggregatorInfiniteTracing.IsServiceEnabled).Returns(() => !string.IsNullOrWhiteSpace(_defaultConfig?.InfiniteTracingTraceObserverHost));
            Mock.Arrange(() => _spanEventAggregatorInfiniteTracing.IsServiceAvailable).Returns(() => !string.IsNullOrWhiteSpace(_defaultConfig?.InfiniteTracingTraceObserverHost));

            _spanEventMaker        = Mock.Create <ISpanEventMaker>();
            _customEventAggregator = Mock.Create <ICustomEventAggregator>();
            _errorService          = Mock.Create <IErrorService>();

            _attribDefSvc = new AttributeDefinitionService((f) => new AttributeDefinitions(f));

            _agentTimerService      = Mock.Create <IAgentTimerService>();
            _transactionTransformer = new TransactionTransformer(_transactionMetricNameMaker, _segmentTreeMaker, _metricNameService, _metricAggregator, _configurationService, _transactionTraceAggregator, _transactionTraceMaker, _transactionEventAggregator, _transactionEventMaker, _transactionAttributeMaker, _errorTraceAggregator, _errorTraceMaker, _errorEventAggregator, _errorEventMaker, _sqlTraceAggregator, _sqlTraceMaker, _spanEventAggregator, _spanEventMaker, _agentTimerService, Mock.Create <IAdaptiveSampler>(), _errorService, _spanEventAggregatorInfiniteTracing);
            _customEventTransformer = new CustomEventTransformer(_configurationService, _customEventAggregator, _attribDefSvc);
        }
コード例 #7
0
 public void SetUp()
 {
     _agentHealthReporter        = Mock.Create <IAgentHealthReporter>();
     _transactionMetricNameMaker = Mock.Create <ITransactionMetricNameMaker>();
     _pathHashMaker          = Mock.Create <IPathHashMaker>();
     _transactionTransformer = Mock.Create <ITransactionTransformer>();
     _attribDefSvc           = new AttributeDefinitionService((f) => new AttributeDefinitions(f));
     _transactionFinalizer   = new TransactionFinalizer(_agentHealthReporter, _transactionMetricNameMaker, _pathHashMaker, _transactionTransformer);
 }
コード例 #8
0
        public void Setup()
        {
            _configuration = Mock.Create <IConfiguration>();
            Mock.Arrange(() => _configuration.DistributedTracingEnabled).Returns(true);
            Mock.Arrange(() => _configuration.TransactionEventsEnabled).Returns(true);

            _attribDefSvc = new AttributeDefinitionService((f) => new AttributeDefinitions(f));

            _adaptiveSampler      = Mock.Create <IAdaptiveSampler>();
            _traceMetadataFactory = new TraceMetadataFactory(_adaptiveSampler);
        }
コード例 #9
0
        public void SetUp()
        {
            _environment                = Mock.Create <IEnvironment>();
            _processStatic              = Mock.Create <IProcessStatic>();
            _httpRuntimeStatic          = Mock.Create <IHttpRuntimeStatic>();
            _configurationManagerStatic = Mock.Create <IConfigurationManagerStatic>();
            _dnsStatic = Mock.Create <IDnsStatic>();
            _securityPoliciesConfiguration = new SecurityPoliciesConfiguration();

            _runTimeConfiguration = new RunTimeConfiguration();
            _serverConfig         = new ServerConfiguration();

            SetLocalConfigurationDefaults();
            PublishConfig();

            _configAutoResponder = new ConfigurationAutoResponder(_config);

            _configurationService = Mock.Create <IConfigurationService>();
            Mock.Arrange(() => _configurationService.Configuration).Returns(() => _config);

            _attribDefSvc = new AttributeDefinitionService((f) => new AttributeDefinitions(f));

            _metricNameSvc = new MetricNameService();
            _transactionMetricNameMaker = new TransactionMetricNameMaker(_metricNameSvc);

            _transactionAttribMaker = new TransactionAttributeMaker(_configurationService, _attribDefSvc);

            _spanEventMaker  = new SpanEventMaker(_attribDefSvc, _configurationService);
            _databaseService = new DatabaseService(Mock.Create <ICacheStatsReporter>());

            _transactionEventMaker = new TransactionEventMaker(_attribDefSvc);


            _transactionGuid = GuidGenerator.GenerateNewRelicGuid();
            _startTime       = new DateTime(2018, 7, 18, 7, 0, 0, DateTimeKind.Utc); // unixtime = 1531897200000

            // Generic Segments
            _baseGenericSegment = new Segment(CreateTransactionSegmentState(3, null, 777), new MethodCallData(MethodCallType, MethodCallMethod, 1));
            _baseGenericSegment.SetSegmentData(new SimpleSegmentData(SegmentName));

            _childGenericSegment = new Segment(CreateTransactionSegmentState(4, 3, 777), new MethodCallData(MethodCallType, MethodCallMethod, 1));
            _childGenericSegment.SetSegmentData(new SimpleSegmentData(SegmentName));

            // Datastore Segments
            _connectionInfo       = new ConnectionInfo("localhost", "1234", "default", "maininstance");
            _parsedSqlStatement   = SqlParser.GetParsedDatabaseStatement(DatastoreVendor.MSSQL, System.Data.CommandType.Text, ShortQuery);
            _obfuscatedSql        = _databaseService.GetObfuscatedSql(ShortQuery, DatastoreVendor.MSSQL);
            _baseDatastoreSegment = new Segment(CreateTransactionSegmentState(3, null, 777), new MethodCallData(MethodCallType, MethodCallMethod, 1));
            _baseDatastoreSegment.SetSegmentData(new DatastoreSegmentData(_databaseService, _parsedSqlStatement, ShortQuery, _connectionInfo));

            // Http Segments
            _baseHttpSegment = new Segment(CreateTransactionSegmentState(3, null, 777), new MethodCallData(MethodCallType, MethodCallMethod, 1));
            _baseHttpSegment.SetSegmentData(new ExternalSegmentData(new Uri(HttpUri), HttpMethod));
        }
コード例 #10
0
        public void SetUp()
        {
            _databaseService = Mock.Create <IDatabaseService>();
            Mock.Arrange(() => _databaseService.GetObfuscatedSql(Arg.AnyString, Arg.IsAny <DatastoreVendor>())).Returns((string sql) => sql);
            _configurationService = Mock.Create <IConfigurationService>();
            Mock.Arrange(() => _configurationService.Configuration.InstanceReportingEnabled).Returns(true);
            Mock.Arrange(() => _configurationService.Configuration.DatabaseNameReportingEnabled).Returns(true);

            _attribDefSvc  = new AttributeDefinitionService((f) => new AttributeDefinitions(f));
            _sqlTraceMaker = new SqlTraceMaker(_configurationService, _attribDefSvc, _databaseService);
            _errorService  = new ErrorService(_configurationService);
        }
コード例 #11
0
        public void SetUp()
        {
            _configuration = Mock.Create <IConfiguration>();
            Mock.Arrange(() => _configuration.CrossApplicationTracingEnabled).Returns(true);
            var configurationService = Mock.Create <IConfigurationService>();

            Mock.Arrange(() => configurationService.Configuration).Returns(_configuration);
            var catMetrics = Mock.Create <ICATSupportabilityMetricCounters>();

            _catHeaderHandler = new CatHeaderHandler(configurationService, catMetrics);
            _attribDefSvc     = new AttributeDefinitionService((f) => new AttributeDefinitions(f));
        }
コード例 #12
0
 public CustomErrorDataTransformer(IConfigurationService configurationService,
                                   IAttributeDefinitionService attribDefSvc,
                                   IErrorTraceMaker errorTraceMaker, IErrorTraceAggregator errorTraceAggregator,
                                   IErrorEventMaker errorEventMaker, IErrorEventAggregator errorEventAggregator)
 {
     _configurationService = configurationService;
     _attribDefSvc         = attribDefSvc;
     _errorTraceMaker      = errorTraceMaker;
     _errorTraceAggregator = errorTraceAggregator;
     _errorEventMaker      = errorEventMaker;
     _errorEventAggregator = errorEventAggregator;
 }
        public void SetUp()
        {
            // Mocks
            _transactionMetricNameMaker = Mock.Create <ITransactionMetricNameMaker>();
            Mock.Arrange(() => _transactionMetricNameMaker.GetTransactionMetricName(Arg.Matches <ITransactionName>(txName => txName.IsWeb)))
            .Returns(new TransactionMetricName("WebTransaction", "TransactionName"));
            Mock.Arrange(() => _transactionMetricNameMaker.GetTransactionMetricName(Arg.Matches <ITransactionName>(txName => !txName.IsWeb))).Returns(new TransactionMetricName("OtherTransaction", "TransactionName"));

            _metricAggregator = Mock.Create <IMetricAggregator>();

            _configuration        = GetDefaultConfiguration();
            _configurationService = Mock.Create <IConfigurationService>();
            Mock.Arrange(() => _configurationService.Configuration).Returns(_configuration);

            _transactionTraceAggregator         = Mock.Create <ITransactionTraceAggregator>();
            _transactionTraceMaker              = Mock.Create <ITransactionTraceMaker>();
            _transactionEventAggregator         = Mock.Create <ITransactionEventAggregator>();
            _transactionEventMaker              = Mock.Create <ITransactionEventMaker>();
            _transactionAttributeMaker          = Mock.Create <ITransactionAttributeMaker>();
            _errorTraceAggregator               = Mock.Create <IErrorTraceAggregator>();
            _errorTraceMaker                    = Mock.Create <IErrorTraceMaker>();
            _errorEventAggregator               = Mock.Create <IErrorEventAggregator>();
            _errorEventMaker                    = Mock.Create <IErrorEventMaker>();
            _spanEventAggregator                = Mock.Create <ISpanEventAggregator>();
            _spanEventAggregatorInfiniteTracing = Mock.Create <ISpanEventAggregatorInfiniteTracing>();
            _spanEventMaker    = Mock.Create <ISpanEventMaker>();
            _agentTimerService = Mock.Create <IAgentTimerService>();

            _attribDefSvc = new AttributeDefinitionService((f) => new AttributeDefinitions(f));
            _errorService = Mock.Create <IErrorService>();

            // Non-Mocks
            _segmentTreeMaker = new SegmentTreeMaker();

            _metricNameService = Mock.Create <IMetricNameService>();
            Mock.Arrange(() => _metricNameService.RenameMetric(Arg.IsAny <string>())).Returns <string>(name => name);

            var dataTransportService = Mock.Create <DataTransport.IDataTransportService>();
            var scheduler            = Mock.Create <Time.IScheduler>();
            var processStatic        = Mock.Create <SystemInterfaces.IProcessStatic>();
            var agentHealthReporter  = Mock.Create <AgentHealth.IAgentHealthReporter>();

            _sqlTraceAggregator = new SqlTraceAggregator(dataTransportService, scheduler, processStatic, agentHealthReporter);

            _transactionAttributeMaker = new TransactionAttributeMaker(_configurationService, _attribDefSvc);

            _sqlTraceMaker = new SqlTraceMaker(_configurationService, _attribDefSvc, new DatabaseService(Mock.Create <ICacheStatsReporter>()));

            // create TransactionTransformer
            _transactionTransformer = new TransactionTransformer(_transactionMetricNameMaker, _segmentTreeMaker, _metricNameService, _metricAggregator, _configurationService, _transactionTraceAggregator, _transactionTraceMaker, _transactionEventAggregator, _transactionEventMaker, _transactionAttributeMaker, _errorTraceAggregator, _errorTraceMaker, _errorEventAggregator, _errorEventMaker, _sqlTraceAggregator, _sqlTraceMaker, _spanEventAggregator, _spanEventMaker, _agentTimerService, Mock.Create <IAdaptiveSampler>(), _errorService, _spanEventAggregatorInfiniteTracing);
        }
コード例 #14
0
 public TransactionService(IEnumerable <IContextStorageFactory> factories, ITimerFactory timerFactory, ICallStackManagerFactory callStackManagerFactory, IDatabaseService databaseService, ITracePriorityManager tracePriorityManager, IDatabaseStatementParser databaseStatementParser,
                           IErrorService errorService, IDistributedTracePayloadHandler distributedTracePayloadHandler, IAttributeDefinitionService attribDefSvc)
 {
     _sortedPrimaryContexts          = GetPrimaryTransactionContexts(factories);
     _asyncContext                   = GetAsyncTransactionContext(factories);
     _timerFactory                   = timerFactory;
     _callStackManagerFactory        = callStackManagerFactory;
     _databaseService                = databaseService;
     _tracePriorityManager           = tracePriorityManager;
     _databaseStatementParser        = databaseStatementParser;
     _errorService                   = errorService;
     _distributedTracePayloadHandler = distributedTracePayloadHandler;
     _attribDefSvc                   = attribDefSvc;
 }
コード例 #15
0
        public void SetUp()
        {
            _lastPublishedCustomEvent = null;

            _configurationService = Mock.Create <IConfigurationService>();
            Mock.Arrange(() => _configurationService.Configuration.CustomEventsEnabled).Returns(true);
            Mock.Arrange(() => _configurationService.Configuration.CustomEventsAttributesEnabled).Returns(true);

            _customEventAggregator = Mock.Create <ICustomEventAggregator>();
            Mock.Arrange(() => _customEventAggregator.Collect(Arg.IsAny <CustomEventWireModel>()))
            .DoInstead <CustomEventWireModel>(customEvent => _lastPublishedCustomEvent = customEvent);

            _attribDefSvc = new AttributeDefinitionService((f) => new AttributeDefinitions(f));

            _customEventTransformer = new CustomEventTransformer(_configurationService, _customEventAggregator, _attribDefSvc);
        }
コード例 #16
0
        private void SetUp(TestCase testCase)
        {
            _environment = Mock.Create <IEnvironment>();

            Mock.Arrange(() => _environment.GetEnvironmentVariable(Arg.IsAny <string>()))
            .Returns(null as string);

            _processStatic              = Mock.Create <IProcessStatic>();
            _httpRuntimeStatic          = Mock.Create <IHttpRuntimeStatic>();
            _configurationManagerStatic = new ConfigurationManagerStaticMock();
            _dnsStatic = Mock.Create <IDnsStatic>();
            _securityPoliciesConfiguration = new SecurityPoliciesConfiguration();

            _runTimeConfiguration = new RunTimeConfiguration();
            _serverConfig         = new ServerConfiguration();
            _localConfig          = new configuration();


            _localConfig.crossApplicationTracingEnabled = true;
            _localConfig.attributes.enabled             = true;
            _localConfig.service.licenseKey             = testCase.LicenseKey;
            _localConfig.appSettings.Add(new configurationAdd()
            {
                key = "NewRelic.LicenseKey", value = testCase.LicenseKey
            });
            _serverConfig.RumSettingsJavaScriptAgentLoader = "JSAGENT";
            _serverConfig.RumSettingsJavaScriptAgentFile   = testCase.ConnectReply.JsAgentFile;
            _serverConfig.RumSettingsBeacon = testCase.ConnectReply.Beacon;

            _serverConfig.RumSettingsErrorBeacon              = testCase.ConnectReply.ErrorBeacon;
            _serverConfig.RumSettingsBrowserKey               = testCase.ConnectReply.BrowserKey;
            _serverConfig.RumSettingsApplicationId            = testCase.ConnectReply.ApplicationId;
            _localConfig.browserMonitoring.attributes.enabled = testCase.BrowserMonitoringAttributesEnabled;

            _configuration        = new TestableDefaultConfiguration(_environment, _localConfig, _serverConfig, _runTimeConfiguration, _securityPoliciesConfiguration, _processStatic, _httpRuntimeStatic, _configurationManagerStatic, _dnsStatic);
            _configurationService = Mock.Create <IConfigurationService>();
            Mock.Arrange(() => _configurationService.Configuration).Returns(_configuration);

            _configAutoResponder = new ConfigurationAutoResponder(_configuration);

            _transactionMetricNameMaker = Mock.Create <ITransactionMetricNameMaker>();
            _attribDefSvc = new AttributeDefinitionService((f) => new AttributeDefinitions(f));
            _transactionAttributeMaker    = new TransactionAttributeMaker(_configurationService, _attribDefSvc);
            _browserMonitoringScriptMaker = new BrowserMonitoringScriptMaker(_configurationService, _transactionMetricNameMaker, _transactionAttributeMaker, _attribDefSvc);
        }
        public void SetUp()
        {
            UpdateDefaultConfiguration();

            var configurationService = Mock.Create <IConfigurationService>();

            Mock.Arrange(() => configurationService.Configuration).Returns(() => _configuration);

            _configurationAutoResponder = new ConfigurationAutoResponder(_configuration);

            _transactionMetricNameMaker = Mock.Create <ITransactionMetricNameMaker>();
            Mock.Arrange(() => _transactionMetricNameMaker.GetTransactionMetricName(Arg.IsAny <ITransactionName>())).Returns(new TransactionMetricName("prefix", "suffix"));

            _transactionAttributeMaker = Mock.Create <ITransactionAttributeMaker>();
            _attribDefSvc = new AttributeDefinitionService((f) => new AttributeDefinitions(f));

            _browserMonitoringScriptMaker = new BrowserMonitoringScriptMaker(configurationService, _transactionMetricNameMaker, _transactionAttributeMaker, _attribDefSvc);
        }
コード例 #18
0
        public void SetUp()
        {
            var configurationService = Mock.Create <IConfigurationService>();

            _configuration = Mock.Create <IConfiguration>();
            Mock.Arrange(() => _configuration.ErrorCollectorEnabled).Returns(true);
            Mock.Arrange(() => _configuration.CaptureCustomParameters).Returns(true);
            Mock.Arrange(() => configurationService.Configuration).Returns(_configuration);


            _attribDefSvc         = new AttributeDefinitionService((f) => new AttributeDefinitions(f));
            _errorTraceMaker      = new ErrorTraceMaker(configurationService);
            _errorTraceAggregator = Mock.Create <IErrorTraceAggregator>();
            _errorEventMaker      = new ErrorEventMaker(_attribDefSvc);
            _errorEventAggregator = Mock.Create <IErrorEventAggregator>();

            _customErrorDataTransformer = new CustomErrorDataTransformer(configurationService, _attribDefSvc, _errorTraceMaker, _errorTraceAggregator, _errorEventMaker, _errorEventAggregator);
        }
コード例 #19
0
            public void SetUp()
            {
                _dataTransportService = Mock.Create <IDataTransportService>();
                _logging     = new TestUtilities.Logging();
                _disposables = new DisposableCollection
                {
                    _logging
                };

                EventBus <ConfigurationUpdatedEvent> .Publish(new ConfigurationUpdatedEvent(CreateMockConfiguration(),
                                                                                            ConfigurationUpdateSource.Unknown));

                _timestamp          = new DateTime(2018, 1, 1, 1, 0, 0);
                _path               = "WebTransaction/ASP/post.aspx";
                _message            = "The Error Message";
                _exceptionClassName = "System.MyErrorClassName";
                _stackTrace         = CreateStackTrace();
                _guid               = "123";

                _attribDefSvc = new AttributeDefinitionService((f) => new AttributeDefinitions(f));
            }
コード例 #20
0
        public void SetUp()
        {
            var configuration = GetDefaultConfiguration();

            Mock.Arrange(() => configuration.CollectorSendDataOnExit).Returns(true);
            Mock.Arrange(() => configuration.CollectorSendDataOnExitThreshold).Returns(0);
            Mock.Arrange(() => configuration.CustomEventsHarvestCycle).Returns(ConfiguredHarvestCycle);
            _configurationAutoResponder = new ConfigurationAutoResponder(configuration);

            _dataTransportService = Mock.Create <IDataTransportService>();
            _agentHealthReporter  = Mock.Create <IAgentHealthReporter>();
            _processStatic        = Mock.Create <IProcessStatic>();
            _attribDefSvc         = new AttributeDefinitionService((f) => new AttributeDefinitions(f));

            _scheduler = Mock.Create <IScheduler>();
            Mock.Arrange(() => _scheduler.ExecuteEvery(Arg.IsAny <Action>(), Arg.IsAny <TimeSpan>(), Arg.IsAny <TimeSpan?>()))
            .DoInstead <Action, TimeSpan, TimeSpan?>((action, harvestCycle, __) => { _harvestAction = action; _harvestCycle = harvestCycle; });
            _customEventAggregator = new CustomEventAggregator(_dataTransportService, _scheduler, _processStatic, _agentHealthReporter);

            EventBus <AgentConnectedEvent> .Publish(new AgentConnectedEvent());
        }
コード例 #21
0
        public void SetUp()
        {
            _timerFactory = Mock.Create <ITimerFactory>();


            _configuration = Mock.Create <IConfiguration>();
            Mock.Arrange(() => _configuration.ErrorCollectorEnabled).Returns(true);
            _configurationService = Mock.Create <IConfigurationService>();
            Mock.Arrange(() => _configurationService.Configuration).Returns(_configuration);

            _transactionMetricNameMaker = Mock.Create <ITransactionMetricNameMaker>();
            Mock.Arrange(() => _transactionMetricNameMaker.GetTransactionMetricName(Arg.IsAny <ITransactionName>()))
            .Returns(new TransactionMetricName("WebTransaction", "TransactionName"));


            _errorService = new ErrorService(_configurationService);
            _attribDefSvc = new AttributeDefinitionService((f) => new AttributeDefinitions(f));

            _transactionEventMaker     = new TransactionEventMaker(_attribDefSvc);
            _transactionAttributeMaker = new TransactionAttributeMaker(_configurationService, _attribDefSvc);
        }
コード例 #22
0
 public SqlTraceMaker(IConfigurationService configurationService, IAttributeDefinitionService attribDefSvc, IDatabaseService databaseService)
 {
     _configurationService = configurationService;
     _attribDefSvc         = attribDefSvc;
     _databaseService      = databaseService;
 }
コード例 #23
0
 public TransactionAttributeMaker(IConfigurationService configurationService, IAttributeDefinitionService attribDefSvc)
 {
     _configurationService = configurationService;
     _attribDefSvc         = attribDefSvc;
 }
コード例 #24
0
        public CompositeTestAgent(bool shouldAllowThreads, bool includeAsyncLocalStorage)
        {
            Log.Initialize(new Logger());

            _shouldAllowThreads = shouldAllowThreads;

            // Create the fake classes necessary to construct services

            var mockFactory = Mock.Create <IContextStorageFactory>();

            Mock.Arrange(() => mockFactory.CreateContext <IInternalTransaction>(Arg.AnyString)).Returns(_primaryTransactionContextStorage);
            var transactionContextFactories = new List <IContextStorageFactory> {
                mockFactory
            };

            if (includeAsyncLocalStorage)
            {
                transactionContextFactories.Add(new AsyncLocalStorageFactory());
            }

            var wrappers             = Enumerable.Empty <IWrapper>();
            var mockEnvironment      = Mock.Create <IEnvironment>();
            var dataTransportService = Mock.Create <IDataTransportService>();
            var scheduler            = Mock.Create <IScheduler>();

            NativeMethods   = Mock.Create <INativeMethods>();
            _harvestActions = new List <Action>();
            Mock.Arrange(() => scheduler.ExecuteEvery(Arg.IsAny <Action>(), Arg.IsAny <TimeSpan>(), Arg.IsAny <TimeSpan?>()))
            .DoInstead <Action, TimeSpan, TimeSpan?>((action, _, __) => { lock (_harvestActionsLockObject) { _harvestActions.Add(action); } });
            var threadPoolStatic = Mock.Create <IThreadPoolStatic>();

            _queuedCallbacks = new List <WaitCallback>();
            Mock.Arrange(() => threadPoolStatic.QueueUserWorkItem(Arg.IsAny <WaitCallback>()))
            .DoInstead <WaitCallback>(callback => { lock (_queuedCallbacksLockObject) { _queuedCallbacks.Add(callback); } });

            var configurationManagerStatic = Mock.Create <IConfigurationManagerStatic>();

            Mock.Arrange(() => configurationManagerStatic.GetAppSetting("NewRelic.LicenseKey"))
            .Returns("Composite test license key");

            // Construct services
            _container = AgentServices.GetContainer();
            AgentServices.RegisterServices(_container);

            // Replace existing registrations with mocks before resolving any services
            _container.ReplaceRegistration(mockEnvironment);
            _container.ReplaceRegistration <IEnumerable <IContextStorageFactory> >(transactionContextFactories);
            _container.ReplaceRegistration <ICallStackManagerFactory>(
                new TestCallStackManagerFactory());
            _container.ReplaceRegistration(wrappers);
            _container.ReplaceRegistration(dataTransportService);
            _container.ReplaceRegistration(scheduler);
            _container.ReplaceRegistration(NativeMethods);

            _container.ReplaceRegistration(Mock.Create <ICATSupportabilityMetricCounters>());

            if (!_shouldAllowThreads)
            {
                _container.ReplaceRegistration(threadPoolStatic);
            }

            _container.ReplaceRegistration(configurationManagerStatic);

            InstrumentationService = _container.Resolve <IInstrumentationService>();
            InstrumentationWatcher = _container.Resolve <InstrumentationWatcher>();
            AgentServices.StartServices(_container);

            DisableAgentInitializer();
            InternalApi.SetAgentApiImplementation(_container.Resolve <IAgentApi>());
            AgentApi.SetSupportabilityMetricCounters(_container.Resolve <IApiSupportabilityMetricCounters>());

            // Update configuration (will also start services)
            LocalConfiguration    = GetDefaultTestLocalConfiguration();
            ServerConfiguration   = GetDefaultTestServerConfiguration();
            SecurityConfiguration = GetDefaultSecurityPoliciesConfiguration();
            InstrumentationWatcher.Start();
            PushConfiguration();

            _attribDefSvc = _container.Resolve <IAttributeDefinitionService>();

            // Redirect the mock DataTransportService to capture harvested wire models
            Mock.Arrange(() => dataTransportService.Send(Arg.IsAny <IEnumerable <MetricWireModel> >()))
            .Returns(SaveDataAndReturnSuccess(Metrics));
            Mock.Arrange(() => dataTransportService.Send(Arg.IsAny <IEnumerable <CustomEventWireModel> >()))
            .Returns(SaveDataAndReturnSuccess(CustomEvents));
            Mock.Arrange(() => dataTransportService.Send(Arg.IsAny <IEnumerable <TransactionTraceWireModel> >()))
            .Returns(SaveDataAndReturnSuccess(TransactionTraces));
            Mock.Arrange(() => dataTransportService.Send(Arg.IsAny <EventHarvestData>(), Arg.IsAny <IEnumerable <TransactionEventWireModel> >()))
            .Returns(SaveDataAndReturnSuccess(AdditionalHarvestData, TransactionEvents));
            Mock.Arrange(() => dataTransportService.Send(Arg.IsAny <IEnumerable <ErrorTraceWireModel> >()))
            .Returns(SaveDataAndReturnSuccess(ErrorTraces));
            Mock.Arrange(() => dataTransportService.Send(Arg.IsAny <IEnumerable <SqlTraceWireModel> >()))
            .Returns(SaveDataAndReturnSuccess(SqlTraces));
            Mock.Arrange(() => dataTransportService.Send(Arg.IsAny <EventHarvestData>(), Arg.IsAny <IEnumerable <ErrorEventWireModel> >()))
            .Returns(SaveDataAndReturnSuccess(AdditionalHarvestData, ErrorEvents));
            Mock.Arrange(() => dataTransportService.Send(Arg.IsAny <EventHarvestData>(), Arg.IsAny <IEnumerable <ISpanEventWireModel> >()))
            .Returns(SaveDataAndReturnSuccess(AdditionalHarvestData, SpanEvents));

            EnableAggregators();
        }
コード例 #25
0
 public void SetUp()
 {
     _configAutoResponder = new ConfigurationAutoResponder(GetConfiguration());
     _attribDefSvc        = new AttributeDefinitionService((f) => new AttributeDefinitions(f));
 }
コード例 #26
0
 public void SetUp()
 {
     _attribValues = new AttributeValueCollection(AttributeDestinations.ErrorEvent);
     _attribDefSvc = new AttributeDefinitionService((f) => new AttributeDefinitions(f));
 }
コード例 #27
0
 public SpanEventMaker(IAttributeDefinitionService attribDefSvc, IConfigurationService configurationService)
 {
     _attribDefSvc         = attribDefSvc;
     _configurationService = configurationService;
 }
コード例 #28
0
 public ErrorEventMaker(IAttributeDefinitionService attributeService)
 {
     _attribDefSvc = attributeService;
 }
コード例 #29
0
        public void Setup()
        {
            var config = CreateMockConfiguration();

            _attribDefSvc = new AttributeDefinitionService((f) => new AttributeDefinitions(f));
        }
コード例 #30
0
 public void SetUp()
 {
     _sqlTraceWireModel = new SqlTraceWireModel(TrxDisplayName, Uri, SqlId, Sql, DatabaseMetricName, CallCount, TotalCallTime, MinCallTime, MaxCallTime, _parameterData);
     _attribDefSvc      = new AttributeDefinitionService((f) => new AttributeDefinitions(f));
 }