private static IHttpResponse ToCreatePermission(
            ExceptionHttpResponseContext configuration,
            EntityCreatePermissionApiEvent apiEvent)
        {
            var resource   = configuration.Formatter.Resource(apiEvent.EntityType);
            var resourceId = configuration.Formatter.Field(apiEvent.EntityId);

            var message = string.IsNullOrWhiteSpace(resourceId)
                ? $"The user with identifier '{apiEvent.UserId}', does not have permission to create a {resource} resource"
                : $"The user with identifier '{apiEvent.UserId}', does not have permission to create a {resource} resource with resource identifier '{resourceId}'";

            return(new ResourceCreatePermissionHttpResponse(
                       configuration.Formatter.Message(message),
                       configuration.Formatter.Code(apiEvent.Code),
                       configuration.Formatter.Field(apiEvent.UserId),
                       resource,
                       resourceId));
        }
Esempio n. 2
0
        public async Task CreatePermissionResultShouldReturn403(
            SampleServerFactory serverFactory,
            Mock <IHttpActionResultFactory> actionResultFactory,
            HttpRequestMessage request,
            EntityCreatePermissionApiEvent apiEvent)
        {
            var result = new TestAutoResponseResult(request, apiEvent);

            actionResultFactory.Setup(f => f.Create(It.IsAny <HttpRequestMessage>())).Returns(result);

            using (var server = serverFactory
                                .With <IHttpActionResultFactory>(actionResultFactory.Object)
                                .Create())
            {
                var response = await server.HttpClient.GetAsync("/api/result");

                Assert.Equal(HttpStatusCode.Forbidden, response.StatusCode);
            }
        }