public void AddHandler_UpCasesHttpVerbInAction_WhenActionValid() { var apiBuilder = new ApiBuilder(Substitute.For <ISimulation>()); ApiBuilder self = apiBuilder.AddHandler("Get /", _ => null); self.Handlers["GET /"].ShouldNotBeNull(); self.ShouldBeSameAs(apiBuilder); }
public void SetJsonSettings_SetsJsonSettings() { var apiBuilder = new ApiBuilder(Substitute.For <ISimulation>()); var jsonSettings = new JsonSerializerOptions(); ApiBuilder self = apiBuilder.SetJsonSettings(jsonSettings); apiBuilder.JsonSettings.ShouldBeSameAs(jsonSettings); self.ShouldBeSameAs(apiBuilder); }
public void SetDefaultHandler_SetsDefaultHandler() { var apiBuilder = new ApiBuilder(Substitute.For <ISimulation>()); ApiHandler defaultHandler = _ => null; ApiBuilder self = apiBuilder.SetDefaultHandler(defaultHandler); apiBuilder.DefaultHandler.ShouldBeSameAs(defaultHandler); self.ShouldBeSameAs(apiBuilder); }
public void AddHandler_AddsHandler_WhenActionValid(string validAction) { var apiBuilder = new ApiBuilder(Substitute.For <ISimulation>()); ApiHandler handler = _ => null; ApiBuilder self = apiBuilder.AddHandler(validAction, handler); apiBuilder.Handlers.Single().ShouldBe(handler); apiBuilder.Handlers[validAction].ShouldBe(handler); self.ShouldBeSameAs(apiBuilder); }
public void SetXmlSettings_SetsXmlSettings() { var apiBuilder = new ApiBuilder(Substitute.For <ISimulation>()); var xmlSettings = new XmlWriterSettings { Indent = false }; ApiBuilder self = apiBuilder.SetXmlSettings(xmlSettings); apiBuilder.XmlSettings.ShouldBeSameAs(xmlSettings); self.ShouldBeSameAs(apiBuilder); }
public void AddHandlerT_AddsHandler_WhenActionValid() { var apiBuilder = new ApiBuilder(Substitute.For <ISimulation>()); var apiResponse = new ApiResponse(401); var httpContext = new DefaultHttpContext(); httpContext.Request.Method = "PUT"; httpContext.Request.Path = "/data/32"; ApiHandler <int> handler = (_, __) => Task.FromResult(apiResponse); ApiBuilder self = apiBuilder.AddHandler("PUT /data/{id}", handler); apiBuilder.Handlers.Single()(httpContext).Result.ShouldBeSameAs(apiResponse); apiBuilder.Handlers["PUT /data/{id}"].ShouldNotBeNull(); self.ShouldBeSameAs(apiBuilder); }