public void IsLoggersRequest_ReturnsExpected() { var opts = new LoggersOptions(); var ep = new LoggersEndpoint(opts); var middle = new LoggersEndpointMiddleware(null, ep); var context = CreateRequest("GET", "/loggers"); Assert.True(middle.IsLoggerRequest(context)); var context2 = CreateRequest("PUT", "/loggers"); Assert.False(middle.IsLoggerRequest(context2)); var context3 = CreateRequest("GET", "/badpath"); Assert.False(middle.IsLoggerRequest(context3)); var context4 = CreateRequest("POST", "/loggers"); Assert.True(middle.IsLoggerRequest(context4)); var context5 = CreateRequest("POST", "/badpath"); Assert.False(middle.IsLoggerRequest(context5)); var context6 = CreateRequest("POST", "/loggers/Foo.Bar.Class"); Assert.True(middle.IsLoggerRequest(context6)); var context7 = CreateRequest("POST", "/badpath/Foo.Bar.Class"); Assert.False(middle.IsLoggerRequest(context7)); }
public void Contstructor_BindsConfigurationCorrectly() { var appsettings = new Dictionary <string, string>() { ["management:endpoints:enabled"] = "false", ["management:endpoints:sensitive"] = "false", ["management:endpoints:path"] = "/cloudfoundryapplication", ["management:endpoints:loggers:enabled"] = "false", ["management:endpoints:loggers:sensitive"] = "true", ["management:endpoints:cloudfoundry:validatecertificates"] = "true", ["management:endpoints:cloudfoundry:enabled"] = "true" }; ConfigurationBuilder configurationBuilder = new ConfigurationBuilder(); configurationBuilder.AddInMemoryCollection(appsettings); var config = configurationBuilder.Build(); var opts = new LoggersOptions(config); CloudFoundryOptions cloudOpts = new CloudFoundryOptions(config); Assert.True(cloudOpts.Enabled); Assert.False(cloudOpts.Sensitive); Assert.Equal(string.Empty, cloudOpts.Id); Assert.Equal("/cloudfoundryapplication", cloudOpts.Path); Assert.True(cloudOpts.ValidateCertificates); Assert.False(opts.Enabled); Assert.True(opts.Sensitive); Assert.Equal("loggers", opts.Id); Assert.Equal("/cloudfoundryapplication/loggers", opts.Path); }
public void Constructor_InitializesWithDefaults() { var opts = new LoggersOptions(); Assert.True(opts.Enabled); Assert.True(opts.Sensitive); Assert.Equal("loggers", opts.Id); }
public void LoggersEndpointMiddleware_PathAndVerbMatching_ReturnsExpected() { var opts = new LoggersOptions(); var ep = new LoggersEndpoint(opts, null); var middle = new LoggersEndpointOwinMiddleware(null, ep); Assert.True(middle.RequestVerbAndPathMatch("GET", "/loggers")); Assert.False(middle.RequestVerbAndPathMatch("PUT", "/loggers")); Assert.False(middle.RequestVerbAndPathMatch("GET", "/badpath")); Assert.True(middle.RequestVerbAndPathMatch("POST", "/loggers")); Assert.False(middle.RequestVerbAndPathMatch("POST", "/badpath")); Assert.True(middle.RequestVerbAndPathMatch("POST", "/loggers/Foo.Bar.Class")); Assert.False(middle.RequestVerbAndPathMatch("POST", "/badpath/Foo.Bar.Class")); }
public async void HandleLoggersRequestAsync_ReturnsExpected() { var opts = new LoggersOptions(); var ep = new TestLoggersEndpoint(opts); var middle = new LoggersEndpointMiddleware(null, ep); var context = CreateRequest("GET", "/loggers"); await middle.HandleLoggersRequestAsync(context); context.Response.Body.Seek(0, SeekOrigin.Begin); StreamReader rdr = new StreamReader(context.Response.Body); string json = await rdr.ReadToEndAsync(); Assert.Equal("{}", json); }
public void Contstructor_BindsConfigurationCorrectly() { var appsettings = @" { 'management': { 'endpoints': { 'enabled': false, 'sensitive': false, 'path': '/cloudfoundryapplication', 'loggers' : { 'enabled': false, 'sensitive' : true }, 'cloudfoundry': { 'validatecertificates' : true, 'enabled': true } } } }"; var path = TestHelpers.CreateTempFile(appsettings); string directory = Path.GetDirectoryName(path); string fileName = Path.GetFileName(path); ConfigurationBuilder configurationBuilder = new ConfigurationBuilder(); configurationBuilder.SetBasePath(directory); configurationBuilder.AddJsonFile(fileName); var config = configurationBuilder.Build(); var opts = new LoggersOptions(config); CloudFoundryOptions cloudOpts = new CloudFoundryOptions(config); Assert.True(cloudOpts.Enabled); Assert.False(cloudOpts.Sensitive); Assert.Equal(string.Empty, cloudOpts.Id); Assert.Equal("/cloudfoundryapplication", cloudOpts.Path); Assert.True(cloudOpts.ValidateCertificates); Assert.False(opts.Enabled); Assert.True(opts.Sensitive); Assert.Equal("loggers", opts.Id); Assert.Equal("/cloudfoundryapplication/loggers", opts.Path); }