コード例 #1
0
ファイル: ApiBuilderTests.cs プロジェクト: tonto7973/xim
        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);
        }
コード例 #2
0
ファイル: ApiBuilderTests.cs プロジェクト: tonto7973/xim
        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);
        }
コード例 #3
0
ファイル: ApiBuilderTests.cs プロジェクト: tonto7973/xim
        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);
        }
コード例 #4
0
ファイル: ApiBuilderTests.cs プロジェクト: tonto7973/xim
        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);
        }
コード例 #5
0
ファイル: ApiBuilderTests.cs プロジェクト: tonto7973/xim
        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);
        }
コード例 #6
0
ファイル: ApiBuilderTests.cs プロジェクト: tonto7973/xim
        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);
        }