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); }
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); }
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); }
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); }