Beispiel #1
0
        private IReadOnlyList <ApiDescription> GetApiDescriptions(
            ActionDescriptor action,
            List <MockFormatter> formatters)
        {
            var context = new ApiDescriptionProviderContext(new ActionDescriptor[] { action });

            var formattersProvider = new Mock <IOutputFormattersProvider>(MockBehavior.Strict);

            formattersProvider.Setup(fp => fp.OutputFormatters).Returns(formatters);

            var constraintResolver = new Mock <IInlineConstraintResolver>();

            constraintResolver.Setup(c => c.ResolveConstraint("int"))
            .Returns(new IntRouteConstraint());

            var modelMetadataProvider = TestModelMetadataProvider.CreateDefaultProvider();

            var provider = new DefaultApiDescriptionProvider(
                formattersProvider.Object,
                constraintResolver.Object,
                modelMetadataProvider);

            provider.OnProvidersExecuting(context);
            provider.OnProvidersExecuted(context);

            return(new ReadOnlyCollection <ApiDescription>(context.Results));
        }
        private IReadOnlyList <ApiDescription> GetApiDescriptions(
            ActionDescriptor action,
            List <MockFormatter> formatters)
        {
            var context = new ApiDescriptionProviderContext(new ActionDescriptor[] { action });

            var formattersProvider = new Mock <IOutputFormattersProvider>(MockBehavior.Strict);

            formattersProvider.Setup(fp => fp.OutputFormatters).Returns(formatters);

            var constraintResolver = new Mock <IInlineConstraintResolver>();

            constraintResolver.Setup(c => c.ResolveConstraint("int"))
            .Returns(new IntRouteConstraint());

            var modelMetadataProvider = new Mock <IModelMetadataProvider>(MockBehavior.Strict);

            modelMetadataProvider
            .Setup(mmp => mmp.GetMetadataForType(null, It.IsAny <Type>()))
            .Returns((Func <object> accessor, Type type) =>
            {
                return(new ModelMetadata(modelMetadataProvider.Object, null, accessor, type, null));
            });

            var provider = new DefaultApiDescriptionProvider(
                formattersProvider.Object,
                constraintResolver.Object,
                modelMetadataProvider.Object);

            provider.Invoke(context, () => { });
            return(context.Results);
        }
        private IReadOnlyList <ApiDescription> GetApiDescriptions(
            ActionDescriptor action,
            List <MockFormatter> formatters)
        {
            var context = new ApiDescriptionProviderContext(new ActionDescriptor[] { action });

            var formattersProvider = new Mock <IOutputFormattersProvider>(MockBehavior.Strict);

            formattersProvider.Setup(fp => fp.OutputFormatters).Returns(formatters);

            var constraintResolver = new Mock <IInlineConstraintResolver>();

            constraintResolver.Setup(c => c.ResolveConstraint("int"))
            .Returns(new IntRouteConstraint());

            var modelMetadataProvider = new DataAnnotationsModelMetadataProvider();

            var provider = new DefaultApiDescriptionProvider(
                formattersProvider.Object,
                constraintResolver.Object,
                modelMetadataProvider);

            provider.Invoke(context, () => { });
            return(context.Results);
        }