private string GetAccessToken(bool includeRealApiClaim = false) { var config = EswDevOpsSdk.BuildConfiguration(); var generator = new TokenGenerator(); var issuer = config["STSIssuer"]; var claims = new List <Claim> { new Claim("client_id", "esw.toolingIntTestClient"), new Claim("sub", "blah"), new Claim("idp", "oidc-azure"), new Claim("Scope", "openid"), new Claim("Scope", "profile"), new Claim("Scope", "esw.toolingIntTest"), new Claim("amr", "external") }; if (includeRealApiClaim) { claims.Add(new Claim("Scope", "esw.toolingInt")); } return(generator.CreateAccessToken($"{issuer}", new List <string> { $"{issuer}/resources", "esw.toolingIntTest" }, claims, 3600)); }
private async Task <string> GetAccessToken(bool includeRealApiClaim = false) { var config = EswDevOpsSdk.BuildConfiguration(); var generator = new TokenGenerator(); var certificate = new X509Certificate2(Convert.FromBase64String(config["STSSigningCert"]), ""); var issuer = config["STSIssuer"]; var claims = new List <Claim> { new Claim("client_id", "esw.toolingIntTestClient"), new Claim("sub", "blah"), new Claim("idp", "oidc-azure"), new Claim("Scope", "openid"), new Claim("Scope", "profile"), new Claim("Scope", "esw.toolingIntTest"), new Claim("amr", "external") }; if (includeRealApiClaim) { claims.Add(new Claim("Scope", "esw.toolingInt")); } return(await generator.CreateAccessTokenAsync($"{issuer}", new List <string> { $"{issuer}/resources", "esw.toolingIntTest" }, certificate, 3600, claims)); }
public void BuildConfiguration_ReadFromEnvironmentalAppSettings() { var sut = EswDevOpsSdk.BuildConfiguration(AssemblyDirectory, "ENV1"); sut["KeyENV1AppSettings"].Should().BeEquivalentTo("ENV1AppSettingsValue"); }
public void BuildConfiguration_ReadFromCoreAppSettings() { Environment.SetEnvironmentVariable(EswDevOpsSdk.EnvironmentEnvVariable, "ENV1", EnvironmentVariableTarget.Process); //process level is fine here var sut = EswDevOpsSdk.BuildConfiguration(AssemblyDirectory); sut["KeyRootAppSettings"].Should().BeEquivalentTo("AppSettingsValue"); }
public void BuildConfiguration_NonTestMode() { var sut = EswDevOpsSdk.BuildConfiguration(AssemblyDirectory); sut["KeyTestAppSettings"].Should().BeNullOrEmpty(); }
protected override void Load(ContainerBuilder builder) { builder.Register(c => EswDevOpsSdk.BuildConfiguration()); builder.RegisterType <ClusterNotifier>().SingleInstance(); builder.Register(c => new FabricClient()); builder.Register <IBigBrother>(c => { var config = c.Resolve <IConfigurationRoot>(); var bbInsKey = config["BBInstrumentationKey"]; return(new BigBrother(bbInsKey, bbInsKey)); }) .SingleInstance(); builder.Register(c => HttpPolicyExtensions.HandleTransientHttpError() .WaitAndRetryAsync(new[] { //TODO: configure these timeouts and add jitter policy TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(5), TimeSpan.FromSeconds(10) })) .As <IAsyncPolicy <HttpResponseMessage> >() .SingleInstance(); builder.Register(c => new PolicyHttpMessageHandler(c.Resolve <IAsyncPolicy <HttpResponseMessage> >())) .SingleInstance(); builder.Register(c => new HttpClient(c.Resolve <PolicyHttpMessageHandler>())) .SingleInstance(); }
/// <summary> /// constructor logic /// /// it invokes the tenant api to create the tenant so that other tests dependent on this fixture do not have to concern with the set up /// </summary> public TenantL3TestFixture() { var builder = new ContainerBuilder(); builder.RegisterModule(new CoreModule(true)); builder.RegisterModule(new VstsModule()); builder.Register(c => new SierraDbContext { ConnectionString = c.Resolve <IConfigurationRoot>()["SierraDbConnectionString"] }); builder.Register(c => { TestConfig = new TestConfig(); var config = EswDevOpsSdk.BuildConfiguration(true); config.GetSection("TestConfig").Bind(TestConfig); return(TestConfig); }); Container = builder.Build(); TestConfig = Container.Resolve <TestConfig>(); EnsureTenantCreated().Wait(TenantApiTimeout); //load tenant into memory using (var scope = Container.BeginLifetimeScope()) { var dbContext = scope.Resolve <SierraDbContext>(); TenantUnderTest = dbContext.LoadCompleteTenantAsync(TenantCode).Result; } }
public void BuildConfiguration_EnvironmentOverwrites() { Environment.SetEnvironmentVariable("OPTION2", "fromEnv", EnvironmentVariableTarget.Process); Environment.SetEnvironmentVariable("OPTION5", "fromEnv", EnvironmentVariableTarget.Process); var sut = EswDevOpsSdk.BuildConfiguration(AssemblyDirectory, "ORDER"); sut["Option1"].Should().BeEquivalentTo("fromOrderAppSetting"); sut["Option2"].Should().BeEquivalentTo("fromEnv"); sut["Option3"].Should().BeEquivalentTo("value3"); sut["Option4"].Should().BeEquivalentTo("fromKV"); sut["Option5"].Should().BeEquivalentTo("fromENV"); }
public Startup(IHostingEnvironment env) { try { _configuration = EswDevOpsSdk.BuildConfiguration(env.ContentRootPath, env.EnvironmentName); var internalKey = _configuration["BBInstrumentationKey"]; _bb = new BigBrother(internalKey, internalKey); _bb.UseEventSourceSink().ForExceptions(); } catch (Exception e) { BigBrother.Write(e); throw; } }
protected override void Load(ContainerBuilder builder) { var config = EswDevOpsSdk.BuildConfiguration(TestMode); builder.RegisterInstance(config) .As <IConfigurationRoot>() .SingleInstance(); builder.Register <IBigBrother>(c => { var insKey = c.Resolve <IConfigurationRoot>()["BBInstrumentationKey"]; return(new BigBrother(insKey, insKey)); }) .SingleInstance(); }
public ActorTestsFixture() { if (string.IsNullOrWhiteSpace(EswDevOpsSdk.GetEnvironmentName())) { var defaultTestExecutionEnvironment = DeploymentEnvironment.Development.ToString(); System.Environment.SetEnvironmentVariable(EswDevOpsSdk.EnvironmentEnvVariable, defaultTestExecutionEnvironment); EswDevOpsSdk.GetEnvironmentName().Should().Be(defaultTestExecutionEnvironment); } var builder = new ContainerBuilder(); builder.RegisterModule(new CoreModule(true)); builder.RegisterModule(new VstsModule()); builder.RegisterModule(new AzureManagementFluentModule()); builder.Register(c => new SierraDbContext { ConnectionString = c.Resolve <IConfigurationRoot>()["SierraDbConnectionString"] }); builder.Register(c => new HttpClient { Timeout = TimeSpan.FromSeconds(200) }); builder.Register(c => { var testConfig = new TestConfig(); var config = EswDevOpsSdk.BuildConfiguration(true); config.GetSection("TestConfig").Bind(testConfig); TestMiddlewareUri = $"{testConfig.ApiUrl}test"; TestRegion = string.IsNullOrEmpty(testConfig.RegionName) ? Region.EuropeNorth : Region.Create(testConfig.RegionName); Environment = Enum.Parse <DeploymentEnvironment>(testConfig.Environment, true); DeploymentSubscriptionId = EswDevOpsSdk.SierraIntegrationSubscriptionId; return(testConfig); }); Container = builder.Build(); //trigger set up Container.Resolve <TestConfig>(); }
/// <summary> /// Constructor /// </summary> /// <param name="env">hosting environment</param> public Startup(IHostingEnvironment env) { _configuration = EswDevOpsSdk.BuildConfiguration(env.ContentRootPath, env.EnvironmentName); AppSettings = _configuration.GetSection("App").Get <AppSettings>(); _bb = new BigBrother(AppSettings.Telemetry.InstrumentationKey, AppSettings.Telemetry.InternalKey); }
/// <summary> /// Constructor /// </summary> /// <param name="env">hosting environment</param> public Startup(IHostingEnvironment env) { _configuration = EswDevOpsSdk.BuildConfiguration(env.ContentRootPath, env.EnvironmentName); _configuration.GetSection("Telemetry").Bind(_telemetrySettings); _bb = new BigBrother(_telemetrySettings.InstrumentationKey, _telemetrySettings.InternalKey); }
public void BuildConfiguration_MSIAuthenticationTest() { var sut = EswDevOpsSdk.BuildConfiguration(AssemblyDirectory, "CI"); sut["keyVaultItem"].Should().Be("keyVaultItemValue"); }
public void BuildConfiguration_ReadFromEnvironmentalVariable() { var sut = EswDevOpsSdk.BuildConfiguration(AssemblyDirectory); sut["PATH"].Should().NotBeNullOrEmpty(); }