예제 #1
0
        public void IsRelevant_True_WhenVariableSetTrue()
        {
            var vars     = GetMockVariables(null, null, null, null);
            var metadata = new AzureAppServices(vars);

            Assert.True(metadata.IsRelevant);
        }
예제 #2
0
        public void OperatingSystem_Set()
        {
            var vars     = GetMockVariables(null, null, null, null);
            var metadata = new AzureAppServices(vars);

            Assert.Equal(expected: "windows", actual: metadata.OperatingSystem);
        }
예제 #3
0
        public void Runtime_Set()
        {
            var vars     = GetMockVariables(null, null, null, null);
            var metadata = new AzureAppServices(vars);

            Assert.True(metadata.Runtime?.Length > 0);
        }
예제 #4
0
        public void InstanceName_Set()
        {
            var vars     = GetMockVariables(null, null, null, null);
            var metadata = new AzureAppServices(vars);

            Assert.Equal(expected: "instance_name", actual: metadata.InstanceName);
        }
예제 #5
0
        public void ResourceId_Created_WhenAllRequirementsExist()
        {
            var vars       = GetMockVariables(SubscriptionId, DeploymentId, PlanResourceGroup, SiteResourceGroup);
            var metadata   = new AzureAppServices(vars);
            var resourceId = metadata.ResourceId;

            Assert.Equal(expected: ExpectedResourceId, actual: resourceId);
        }
예제 #6
0
        public void CustomTracingEnabled_Tests(string customTracing, bool expectation)
        {
            // plan resource group actually doesn't matter for the resource id we build
            var vars     = GetMockVariables("subscription", "deploymentId", "some-resource-group", "siteResourceGroup", enableCustomTracing: customTracing);
            var metadata = new AzureAppServices(vars);

            Assert.Equal(actual: metadata.CustomTracingEnabled, expected: expectation);
        }
예제 #7
0
        public void ResourceId_IsNull_WhenAnyRequirementsMissing(string subscriptionId, string deploymentId, string siteResourceGroup)
        {
            // plan resource group actually doesn't matter for the resource id we build
            var vars     = GetMockVariables(subscriptionId, deploymentId, "some-resource-group", siteResourceGroup);
            var metadata = new AzureAppServices(vars);

            Assert.Null(metadata.ResourceId);
        }
예제 #8
0
        public void AzureContext_AzureAppService_Default()
        {
            var vars     = GetMockVariables(SubscriptionId, DeploymentId, PlanResourceGroup, SiteResourceGroup);
            var metadata = new AzureAppServices(vars);

            Assert.Equal(expected: AzureContext.AzureAppService, actual: metadata.AzureContext);
            Assert.Equal(expected: AppServiceKind, actual: metadata.SiteKind);
            Assert.Equal(expected: AppServiceType, actual: metadata.SiteType);
        }
예제 #9
0
        public void IsRelevant_False_WhenVariableDoesNotExist()
        {
            var vars = GetMockVariables(null, null, null, null);

            vars.Remove(AzureAppServices.AzureAppServicesContextKey);
            var metadata = new AzureAppServices(vars);

            Assert.False(metadata.IsRelevant);
        }
예제 #10
0
        public void AzureContext_AzureFunction_WhenFunctionVariablesPresent()
        {
            var vars = GetMockVariables(
                SubscriptionId,
                DeploymentId,
                PlanResourceGroup,
                SiteResourceGroup,
                functionsVersion: FunctionsVersion,
                functionsRuntime: FunctionsRuntime);

            var metadata = new AzureAppServices(vars);

            Assert.Equal(expected: AzureContext.AzureFunctions, actual: metadata.AzureContext);
            Assert.Equal(expected: FunctionKind, actual: metadata.SiteKind);
            Assert.Equal(expected: FunctionType, actual: metadata.SiteType);
        }
예제 #11
0
        public void RecordTracerSettings(
            ImmutableTracerSettings tracerSettings,
            string defaultServiceName,
            AzureAppServices appServicesMetadata)
        {
            // Increment number of times this has been called
            var reconfigureCount = Interlocked.Increment(ref _tracerInstanceCount);
            var appData          = new ApplicationTelemetryData(
                serviceName: defaultServiceName,
                env: tracerSettings.Environment,
                tracerVersion: TracerConstants.AssemblyVersion,
                languageName: "dotnet",
                languageVersion: FrameworkDescription.Instance.ProductVersion)
            {
                ServiceVersion = tracerSettings.ServiceVersion,
                RuntimeName    = FrameworkDescription.Instance.Name,
            };

            _settings = new CurrentSettings(tracerSettings, appData);

            // The remaining properties can't change, so only need to set them the first time
            if (reconfigureCount != 1)
            {
                SetHasChanges();
                return;
            }

            _azureApServicesMetadata = appServicesMetadata;
            var host = HostMetadata.Instance;

            _hostData = new HostTelemetryData
            {
                ContainerId   = ContainerMetadata.GetContainerId(),
                Os            = FrameworkDescription.Instance.OSPlatform,
                OsVersion     = Environment.OSVersion.ToString(),
                Hostname      = host.Hostname,
                KernelName    = host.KernelName,
                KernelRelease = host.KernelRelease,
                KernelVersion = host.KernelVersion,
            };

            _isTracerInitialized = true;
            SetHasChanges();
        }
예제 #12
0
 public override void Before(MethodInfo methodUnderTest)
 {
     _metadata = AzureAppServices.Metadata;
     base.Before(methodUnderTest);
 }