public async void GetMessageBoxInstanceList_RequestAllInstancesForAnOwnerWithtoutLanguage_ReturnsAllElementsUsingDefaultLanguage() { // Arrange MessageBoxTestData testData = new MessageBoxTestData(); List <Instance> testInstances = testData.GetInstances_App3(); Mock <IInstanceEventRepository> instanceEventRepository = new Mock <IInstanceEventRepository>(); Mock <IInstanceRepository> instanceRepository = new Mock <IInstanceRepository>(); instanceRepository.Setup(s => s.GetInstancesInStateOfInstanceOwner(It.IsAny <int>(), It.IsAny <string>())).ReturnsAsync(testInstances); Mock <IApplicationRepository> applicationRepository = new Mock <IApplicationRepository>(); applicationRepository.Setup(s => s.GetAppTitles(It.IsAny <List <string> >())).ReturnsAsync(TestData.AppTitles_Dict_App3); HttpClient client = GetTestClient(instanceRepository.Object, applicationRepository.Object, instanceEventRepository.Object); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _validToken); // Act HttpResponseMessage response = await client.GetAsync($"{BasePath}/sbl/instances/{testData.GetInstanceOwnerPartyId()}?state=active"); // Assert string content = await response.Content.ReadAsStringAsync(); List <MessageBoxInstance> messageBoxInstances = JsonConvert.DeserializeObject(content, typeof(List <MessageBoxInstance>)) as List <MessageBoxInstance>; int expectedCount = 2; string expectedTitle = "Test applikasjon 3 bokmål"; int actualCount = messageBoxInstances.Count; string actualTitle = messageBoxInstances.First().Title; Assert.Equal(expectedCount, actualCount); Assert.Equal(expectedTitle, actualTitle); }
public async void Delete_HardDeleteSoftDeleted() { // Arrange MessageBoxTestData testData = new MessageBoxTestData(); Instance instance = testData.GetSoftDeletedInstance(); Mock <IApplicationRepository> applicationRepository = new Mock <IApplicationRepository>(); Instance storedInstance = null; Mock <IInstanceRepository> instanceRepository = new Mock <IInstanceRepository>(); instanceRepository.Setup(s => s.GetOne(It.IsAny <string>(), It.IsAny <int>())).ReturnsAsync(instance); instanceRepository.Setup(s => s.Update(It.IsAny <Instance>())).Callback <Instance>(p => storedInstance = p).ReturnsAsync((Instance i) => i); InstanceEvent instanceEvent = null; Mock <IInstanceEventRepository> instanceEventRepository = new Mock <IInstanceEventRepository>(); instanceEventRepository.Setup(s => s.InsertInstanceEvent(It.IsAny <InstanceEvent>())).Callback <InstanceEvent>(p => instanceEvent = p) .ReturnsAsync((InstanceEvent r) => r); HttpClient client = GetTestClient(instanceRepository.Object, applicationRepository.Object, instanceEventRepository.Object); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _validToken); // Act HttpResponseMessage response = await client.DeleteAsync($"{BasePath}/sbl/instances/{testData.GetInstanceOwnerPartyId()}/{instance.Id.Split("/")[1]}?hard=true"); // Assert HttpStatusCode actualStatusCode = response.StatusCode; string content = await response.Content.ReadAsStringAsync(); bool actualResult = JsonConvert.DeserializeObject <bool>(content); HttpStatusCode expectedStatusCode = HttpStatusCode.OK; bool expectedResult = true; Assert.Equal(expectedResult, actualResult); Assert.Equal(expectedStatusCode, actualStatusCode); Assert.True(storedInstance.Status.HardDeleted.HasValue); }
public async void Delete_ResponseIsDeny_ReturnsStatusForbidden() { // Arrange MessageBoxTestData testData = new MessageBoxTestData(); Instance instance = testData.GetActiveInstance(); Mock <IApplicationRepository> applicationRepository = new Mock <IApplicationRepository>(); Instance storedInstance = null; Mock <IInstanceRepository> instanceRepository = new Mock <IInstanceRepository>(); instanceRepository.Setup(s => s.GetOne(It.IsAny <string>(), It.IsAny <int>())).ReturnsAsync(instance); instanceRepository.Setup(s => s.Update(It.IsAny <Instance>())).Callback <Instance>(p => storedInstance = p).ReturnsAsync((Instance i) => i); InstanceEvent instanceEvent = null; Mock <IInstanceEventRepository> instanceEventRepository = new Mock <IInstanceEventRepository>(); instanceEventRepository.Setup(s => s.InsertInstanceEvent(It.IsAny <InstanceEvent>())).Callback <InstanceEvent>(p => instanceEvent = p) .ReturnsAsync((InstanceEvent r) => r); HttpClient client = GetTestClient(instanceRepository.Object, applicationRepository.Object, instanceEventRepository.Object); string token = PrincipalUtil.GetToken(-1); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); // Act HttpResponseMessage response = await client.DeleteAsync($"{BasePath}/sbl/instances/{testData.GetInstanceOwnerPartyId()}/{instance.Id.Split("/")[1]}?hard=false"); // Assert Assert.Equal(HttpStatusCode.Forbidden, response.StatusCode); string content = await response.Content.ReadAsStringAsync(); Assert.True(string.IsNullOrEmpty(content)); }
public async void Undelete_RestoreNonExistentInstance_ReturnsNotFound() { // Arrange MessageBoxTestData testData = new MessageBoxTestData(); string instanceGuid = Guid.NewGuid().ToString(); Mock <IApplicationRepository> applicationRepository = new Mock <IApplicationRepository>(); DocumentClientException dex = CreateDocumentClientExceptionForTesting("Not found", HttpStatusCode.NotFound); Mock <IInstanceRepository> instanceRepository = new Mock <IInstanceRepository>(); instanceRepository.Setup(s => s.GetOne(It.IsAny <string>(), It.IsAny <int>())).ThrowsAsync(dex); Mock <IInstanceEventRepository> instanceEventRepository = new Mock <IInstanceEventRepository>(); HttpClient client = GetTestClient(instanceRepository.Object, applicationRepository.Object, instanceEventRepository.Object); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _validToken); // Act HttpResponseMessage response = await client.PutAsync($"{BasePath}/sbl/instances/{testData.GetInstanceOwnerPartyId()}/{instanceGuid}/undelete", null); // Assert Assert.Equal(HttpStatusCode.NotFound, response.StatusCode); string content = response.Content.ReadAsStringAsync().GetAwaiter().GetResult(); string expectedMsg = $"Didn't find the object that should be restored with instanceId={testData.GetInstanceOwnerPartyId()}/{instanceGuid}"; Assert.Equal(expectedMsg, content); }
public async void Undelete_AttemptToRestoreHardDeletedInstance_ReturnsBadRequest() { // Arrange MessageBoxTestData testData = new MessageBoxTestData(); Instance instance = testData.GetHardDeletedInstance(); Mock <IApplicationRepository> applicationRepository = new Mock <IApplicationRepository>(); Mock <IInstanceRepository> instanceRepository = new Mock <IInstanceRepository>(); instanceRepository.Setup(s => s.GetOne(It.IsAny <string>(), It.IsAny <int>())).ReturnsAsync(instance); Mock <IInstanceEventRepository> instanceEventRepository = new Mock <IInstanceEventRepository>(); HttpClient client = GetTestClient(instanceRepository.Object, applicationRepository.Object, instanceEventRepository.Object); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _validToken); // Act HttpResponseMessage response = await client.PutAsync($"{BasePath}/sbl/instances/{testData.GetInstanceOwnerPartyId()}/{instance.Id.Split("/")[1]}/undelete", null); // Assert Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode); string content = await response.Content.ReadAsStringAsync(); string expectedMsg = "Instance was permanently deleted and cannot be restored."; Assert.Equal(expectedMsg, content); }
public async void GetMessageBoxInstanceList_RequestArchivedInstancesForGivenOwner_ReturnsCorrectListOfInstancesWithEndEventTask() { // Arrange MessageBoxTestData testData = new MessageBoxTestData(); List <Instance> testInstances = testData.GetInstances_App4(); Mock <IInstanceEventRepository> instanceEventRepository = new Mock <IInstanceEventRepository>(); Mock <IInstanceRepository> instanceRepository = new Mock <IInstanceRepository>(); instanceRepository.Setup(s => s.GetInstancesInStateOfInstanceOwner(It.IsAny <int>(), It.Is <string>(p2 => p2 == "archived"))) .ReturnsAsync(testInstances); Mock <IApplicationRepository> applicationRepository = new Mock <IApplicationRepository>(); applicationRepository.Setup(s => s.GetAppTitles(It.IsAny <List <string> >())).ReturnsAsync(TestData.AppTitles_Dict_App1); HttpClient client = GetTestClient(instanceRepository.Object, applicationRepository.Object, instanceEventRepository.Object); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _validToken); // Act HttpResponseMessage responseMessage = await client.GetAsync($"{BasePath}/sbl/instances/{testData.GetInstanceOwnerPartyId()}?state=archived"); // Assert instanceRepository.VerifyAll(); Assert.Equal(HttpStatusCode.OK, responseMessage.StatusCode); string responseContent = await responseMessage.Content.ReadAsStringAsync(); List <MessageBoxInstance> messageBoxInstances = JsonConvert.DeserializeObject <List <MessageBoxInstance> >(responseContent); int actualCount = messageBoxInstances.Count; int expectedCount = 1; Assert.Equal(expectedCount, actualCount); }