示例#1
0
        public async void InstanceLookupPersonNumberTest()
        {
            Instance instanceToCreate = new Instance()
            {
                Id    = "1001/5650b227-5f79-41d8-a901-abed492c6fd4",
                AppId = "test/lookup",
                Org   = "test"
            };

            Instance instanceTemplate = new Instance()
            {
                InstanceOwnerLookup = new InstanceOwnerLookup()
                {
                    PersonNumber = "1",
                }
            };

            PrepareLookupMock(HttpStatusCode.OK, "1001", instanceToCreate, instanceTemplate);

            ActionResult result = await instanceController.Post("test/appid", null);

            OkObjectResult okresult = result as OkObjectResult;

            Instance resultInstance = (Instance)okresult.Value;

            Assert.NotNull(resultInstance);
            Assert.Equal(instanceToCreate.Id, resultInstance.Id);
            Assert.Null(resultInstance.InstanceOwnerLookup);
        }
示例#2
0
        public void PostInstanceWithInstanceOwnerIdInQueryParam()
        {
            Mock <HttpRequest> request = new Mock <HttpRequest>();

            request.SetupGet(x => x.Headers["Accept"]).Returns("application/json");
            request.SetupGet(x => x.Host).Returns(new HostString("tdd.apps.at21.altinn.cloud"));
            request.SetupGet(x => x.Path).Returns(new PathString("/tdd/test/instances/"));
            request.SetupGet(x => x.Cookies["AltinnPartyId"]).Returns(instanceOwnerId);

            var context = new Mock <HttpContext>();

            context.SetupGet(x => x.Request).Returns(request.Object);
            context.SetupGet(x => x.User).Returns(MockUser().Object);

            Instance actualInstance = new Instance()
            {
                InstanceOwnerId = instanceOwnerId,
                AppId           = $"{org}/{app}",
                Org             = $"{org}",
            };

            InstancesController controller = NewInstanceController(context);

            ActionResult <Instance> result = controller.Post(org, app, int.Parse(instanceOwnerId)).Result;

            Assert.IsType <CreatedResult>(result.Result);

            Instance instance = (Instance)((CreatedResult)result.Result).Value;

            Assert.NotNull(instance);
            Assert.Equal(instanceOwnerId, instance.InstanceOwnerId);
            Assert.StartsWith($"https://tdd.apps.at21.altinn.cloud/tdd/test/instances/{instanceOwnerId}", instance.SelfLinks.Apps);
        }
示例#3
0
        public async void PostInstanceWithInstanceTemplateAndXmlPrefill()
        {
            /* SETUP */

            Instance instanceTemplate = new Instance()
            {
                InstanceOwnerId = instanceOwnerId,
                DueDateTime     = DateTime.Parse("2020-01-01"),
            };
            string instance = JsonConvert.SerializeObject(instanceTemplate);
            string xml      = "<xml><is><no><good></good></no></is></xml>";

            string boundary = "abcdefgh";
            MultipartFormDataContent formData = new MultipartFormDataContent(boundary)
            {
                { new StringContent(instance, Encoding.UTF8, "application/json"), "instance" },
                { new StringContent(xml, Encoding.UTF8, "application/xml"), "default" }
            };

            MemoryStream multipartStream = new MemoryStream();
            await formData.CopyToAsync(multipartStream);

            multipartStream.Position = 0;

            Mock <HttpRequest> request = new Mock <HttpRequest>();

            request.SetupGet(x => x.Headers["Accept"]).Returns("application/json");
            request.SetupGet(x => x.ContentType).Returns($"multipart/form-data; boundary={boundary}");
            request.SetupGet(x => x.Body).Returns(multipartStream);
            request.SetupGet(x => x.Host).Returns(new HostString("tdd.apps.at21.altinn.cloud"));
            request.SetupGet(x => x.Path).Returns(new PathString("/tdd/test/instances/"));
            request.SetupGet(x => x.Cookies["AltinnPartyId"]).Returns(instanceOwnerId);

            Mock <ClaimsPrincipal> userMock = MockUser();

            var context = new Mock <HttpContext>();

            context.SetupGet(x => x.Request).Returns(request.Object);
            context.Setup(x => x.User).Returns(userMock.Object);

            InstancesController controller = NewInstanceController(context);

            /* TEST */

            ActionResult <Instance> actionResult = controller.Post(org, app, null).Result;

            Assert.IsType <CreatedResult>(actionResult.Result);
            Instance createdInstance = (Instance)((CreatedResult)actionResult.Result).Value;

            Assert.NotNull(createdInstance);
            Assert.Single(createdInstance.Data);
            Assert.Equal("default", createdInstance.Data[0].ElementType);
        }
        public async void PostInstanceWithXmlPrefill()
        {
            Mock <IHttpClientAccessor> httpClientAccessor = MockStorage();

            Instance instanceTemplate = new Instance()
            {
                InstanceOwnerId = "20000004",
                DueDateTime     = DateTime.Parse("2020-01-01"),
            };
            string instance = JsonConvert.SerializeObject(instanceTemplate);
            string xml      = "<xml><is><no><good></good></no></is></xml>";

            MultipartFormDataContent formData = new MultipartFormDataContent()
            {
                { new StringContent(instance, Encoding.UTF8, "application/json"), "instance" },
                { new StringContent(xml, Encoding.UTF8, "application/xml"), "default" }
            };

            MemoryStream multipartStream = new MemoryStream();
            await formData.CopyToAsync(multipartStream);

            Mock <HttpRequest> request = new Mock <HttpRequest>();

            request.SetupGet(x => x.Headers["Accept"]).Returns("application/json");
            request.SetupGet(x => x.Body).Returns(multipartStream);
            request.SetupGet(x => x.Scheme).Returns("http");
            request.SetupGet(x => x.Host).Returns(new HostString("tdd.apps.at21.altinn.cloud"));
            request.SetupGet(x => x.Path).Returns(new PathString("/tdd/test/instances/"));

            var context = new Mock <HttpContext>();

            context.SetupGet(x => x.Request).Returns(request.Object);

            InstancesController controller = new InstancesController(
                logger.Object,
                httpClientAccessor.Object)
            {
                ControllerContext = new ControllerContext()
                {
                    HttpContext = context.Object,
                },
            };

            ActionResult <Instance> actionResult = controller.Post("tdd", "apptest", null);

            Assert.IsType <CreatedResult>(actionResult.Result);
            Instance createdInstance = (Instance)((CreatedResult)actionResult.Result).Value;

            Assert.NotNull(createdInstance);
        }
示例#5
0
        public void PostInstanceWithInstanceTemplateAsJson()
        {
            Instance instanceTemplate = new Instance()
            {
                InstanceOwnerId = instanceOwnerId,
                DueDateTime     = DateTime.Parse("2020-01-01"),
            };

            byte[]       byteArray      = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(instanceTemplate));
            MemoryStream instanceStream = new MemoryStream(byteArray);

            Mock <HttpRequest> request = new Mock <HttpRequest>();

            request.SetupGet(x => x.Headers["Accept"]).Returns("application/json");
            request.SetupGet(x => x.ContentType).Returns("application/json");
            request.SetupGet(x => x.Body).Returns(instanceStream);
            request.SetupGet(x => x.Host).Returns(new HostString("tdd.apps.at21.altinn.cloud"));
            request.SetupGet(x => x.Path).Returns(new PathString("/tdd/test/instances/"));
            request.SetupGet(x => x.Cookies["AltinnPartyId"]).Returns(instanceOwnerId);

            var context = new Mock <HttpContext>();

            context.SetupGet(x => x.Request).Returns(request.Object);
            context.SetupGet(x => x.User).Returns(MockUser().Object);

            Instance actualInstance = new Instance()
            {
                InstanceOwnerId = instanceOwnerId,
                AppId           = $"{org}/{app}",
                Org             = $"{org}",
            };

            InstancesController controller = NewInstanceController(context);

            ActionResult <Instance> result = controller.Post(org, app, null).Result;

            Assert.IsType <CreatedResult>(result.Result);

            Instance instance = (Instance)((CreatedResult)result.Result).Value;

            Assert.NotNull(instance);
            Assert.Equal(instanceOwnerId, instance.InstanceOwnerId);
            Assert.StartsWith($"https://tdd.apps.at21.altinn.cloud/tdd/test/instances/{instanceOwnerId}", instance.SelfLinks.Apps);
        }
        public void PostInstanceWithInstanceJsonOnly()
        {
            Mock <IHttpClientAccessor> httpClientAccessor = MockStorage();

            Instance instanceTemplate = new Instance()
            {
                DueDateTime = DateTime.Parse("2020-01-01"),
            };

            byte[]       byteArray      = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(instanceTemplate));
            MemoryStream instanceStream = new MemoryStream(byteArray);

            Mock <HttpRequest> request = new Mock <HttpRequest>();

            request.SetupGet(x => x.Headers["Accept"]).Returns("application/json");
            request.SetupGet(x => x.Body).Returns(instanceStream);

            var context = new Mock <HttpContext>();

            context.SetupGet(x => x.Request).Returns(request.Object);

            InstancesController controller = new InstancesController(
                logger.Object,
                httpClientAccessor.Object)
            {
                ControllerContext = new ControllerContext()
                {
                    HttpContext = context.Object,
                },
            };

            ActionResult <Instance> result = controller.Post("test", "app", 20000004);

            Instance instance = (Instance)((CreatedResult)result.Result).Value;

            Assert.NotNull(instance);
            Assert.Equal("20000004", instance.InstanceOwnerId);
        }