Ejemplo n.º 1
0
        public Task <BigInteger> GetStatusQueryAsyncTest(
            [PexAssumeUnderTest] GenericContractService target,
            GetStatusFunction getStatusFunction,
            BlockParameter blockParameter
            )
        {
            Task <BigInteger> result = target.GetStatusQueryAsync(getStatusFunction, blockParameter);

            Assert.IsNotNull(result);
            return(result);
        }
Ejemplo n.º 2
0
        public void Function_ReturnsBadRequest_ForMissingDeviceId()
        {
            var request = new Mock <HttpRequest>();

            request.SetupGet(r => r.Query)
            .Returns(new QueryCollection());

            var principal = new ClaimsPrincipal(new ClaimsIdentity(new[] { new Claim("roles", GetStatusFunction.GetDeviceStatusRoleName) }));
            var logger    = new MockLogger();

            var result = GetStatusFunction.Run(request.Object, null, principal, logger);

            Assert.IsType <BadRequestObjectResult>(result);
        }
Ejemplo n.º 3
0
        public void Function_ReturnsUnauthorized_ForPrincipalWithNonRequiredRoles()
        {
            var request = new Mock <HttpRequest>();

            request.SetupGet(r => r.Query)
            .Returns(new QueryCollection());

            var principal = new ClaimsPrincipal(new ClaimsIdentity(new[] { new Claim("SomeRole", "SomeOtherRole") }));
            var logger    = new MockLogger();

            var result = GetStatusFunction.Run(request.Object, null, principal, logger);

            Assert.IsType <UnauthorizedResult>(result);
            Assert.Contains(
                logger.Entries,
                e => e.logLevel == LogLevel.Warning && e.state is IEnumerable <KeyValuePair <string, object> > properties &&
                properties.Any(p => p.Key == "roles" && (string)p.Value == GetStatusFunction.GetDeviceStatusRoleName));
        }
Ejemplo n.º 4
0
        public async Task Function_ReturnsBadRequest_ForMissingDeviceId()
        {
            var request = new Mock <HttpRequest>();

            request.SetupGet(r => r.Query)
            .Returns(new QueryCollection());
            request.Setup(r => r.Headers)
            .Returns(new HeaderDictionary
            {
                [HttpRequestAuthorizationExtensions.ClientPrincipalHeaderKey] = CreatePrincipalWithRoles(GetStatusFunction.GetDeviceStatusRoleName)
            });

            var logger = new MockLogger();

            var result = await GetStatusFunction.Run(request.Object, null, logger);

            Assert.IsType <BadRequestObjectResult>(result);
        }
Ejemplo n.º 5
0
        public void Function_ReturnsNotFound_ForMissingDocument()
        {
            var queryValues = new Dictionary <string, StringValues>
            {
                { "deviceId", "device1" }
            };

            var request = new Mock <HttpRequest>();

            request.SetupGet(r => r.Query)
            .Returns(new QueryCollection(queryValues));

            var principal = new ClaimsPrincipal(new ClaimsIdentity(new[] { new Claim("roles", GetStatusFunction.GetDeviceStatusRoleName) }));
            var logger    = new MockLogger();

            var result = GetStatusFunction.Run(request.Object, null, principal, logger);

            Assert.IsType <NotFoundResult>(result);
        }
Ejemplo n.º 6
0
        public async Task Function_ReturnsUnauthorized_ForMissingPrincipalHeader()
        {
            var request = new Mock <HttpRequest>();

            request.SetupGet(r => r.Query)
            .Returns(new QueryCollection());
            request.Setup(r => r.Headers)
            .Returns(new HeaderDictionary());

            var logger = new MockLogger();

            var result = await GetStatusFunction.Run(request.Object, null, logger);

            Assert.IsType <UnauthorizedResult>(result);
            Assert.Contains(
                logger.Entries,
                e => e.logLevel == LogLevel.Error && e.state is IEnumerable <KeyValuePair <string, object> > properties &&
                properties.Any(p => p.Key == "header" && (string)p.Value == HttpRequestAuthorizationExtensions.ClientPrincipalHeaderKey));
        }
Ejemplo n.º 7
0
        public async Task Function_ReturnsUnauthorized_ForPrincipalWithNonRequiredRoles()
        {
            var request = new Mock <HttpRequest>();

            request.SetupGet(r => r.Query)
            .Returns(new QueryCollection());
            request.Setup(r => r.Headers)
            .Returns(new HeaderDictionary
            {
                [HttpRequestAuthorizationExtensions.ClientPrincipalHeaderKey] = CreatePrincipalWithRoles("SomeRole", "SomeOtherRole")
            });

            var logger = new MockLogger();

            var result = await GetStatusFunction.Run(request.Object, null, logger);

            Assert.IsType <UnauthorizedResult>(result);
            Assert.Contains(
                logger.Entries,
                e => e.logLevel == LogLevel.Warning && e.state is IEnumerable <KeyValuePair <string, object> > properties &&
                properties.Any(p => p.Key == "roles" && (string)p.Value == GetStatusFunction.GetDeviceStatusRoleName));
        }
Ejemplo n.º 8
0
        public async Task Function_ReturnsNotFound_ForMissingDocument()
        {
            var queryValues = new Dictionary <string, StringValues>
            {
                { "deviceId", "device1" }
            };

            var request = new Mock <HttpRequest>();

            request.SetupGet(r => r.Query)
            .Returns(new QueryCollection(queryValues));
            request.Setup(r => r.Headers)
            .Returns(new HeaderDictionary
            {
                [HttpRequestAuthorizationExtensions.ClientPrincipalHeaderKey] = CreatePrincipalWithRoles(GetStatusFunction.GetDeviceStatusRoleName)
            });

            var logger = new MockLogger();

            var result = await GetStatusFunction.Run(request.Object, null, logger);

            Assert.IsType <NotFoundResult>(result);
        }
Ejemplo n.º 9
0
 public Task <BigInteger> GetStatusQueryAsync(GetStatusFunction getStatusFunction, BlockParameter blockParameter = null)
 {
     return(ContractHandler.QueryAsync <GetStatusFunction, BigInteger>(getStatusFunction, blockParameter));
 }