private static UpdateContext <BasicTestEntity> GetUpdateContextWithErrorResults() { const string responseContent = @" { ""results"": { ""tests"": { ""2739"": { ""_status_code"": 409, ""_status_message"": ""Conflict"", ""_status_extra"": ""User with name Lawrence already exists."", ""id"": ""2739"", ""name"": ""Lawrence"" }, ""2741"": { ""_status_code"": 417, ""_status_message"": ""Expectation Failed"", ""_status_extra"": ""You forgot something."", ""id"": ""2741"" } } } }"; var item1 = new BasicTestEntity(2739, "Lawrence"); var item2 = new BasicTestEntity(2741); return(new UpdateContext <BasicTestEntity>(EndpointName.Tests, new[] { item1, item2 }) { ResponseContent = responseContent }); }
private static UpdateContext <BasicTestEntity> GetUpdateContext() { const string responseContent = @" { ""results"": { ""tests"": { ""2735"": { ""_status_code"": 200, ""_status_message"": ""Updated"", ""id"": ""2735"", ""name"": ""Lawrence"" }, ""2737"": { ""_status_code"": 200, ""_status_message"": ""Updated"", ""id"": ""2737"", ""name"": ""Muriel"" } } } }"; var item1 = new BasicTestEntity(2735, "Lawrence"); var item2 = new BasicTestEntity(2737, "Muriel"); return(new UpdateContext <BasicTestEntity>(EndpointName.Tests, new[] { item1, item2 }) { ResponseContent = responseContent }); }
public void SupplementalData_AddsAndRetrieveEntityById() { var entityToAdd = new BasicTestEntity(1); var supplementalData = new SupplementalData(); supplementalData.AddOrUpdate(entityToAdd); var entityRetrieved = supplementalData.GetById <BasicTestEntity>(1); Assert.AreSame(entityToAdd, entityRetrieved); }
public void SupplementalData_AddsAndRetrievesMultipleTypesOfEntities() { var entity1 = new BasicTestEntity(1, "foo"); var entity2 = new TestEntity(1, "foo"); var supplementalData = new SupplementalData(); supplementalData.AddOrUpdate(entity1); supplementalData.AddOrUpdate(entity2); IReadOnlyList <IIdentifiable> allEntities = supplementalData.GetAll(); Assert.AreEqual(2, allEntities.Count); }
public void SupplementalData_GetAllEntitiesByTypeReturnsExpectedResults() { var entity1 = new BasicTestEntity(1, "foo"); var entity2 = new BasicTestEntity(2, "bar"); var entity3 = new BasicTestEntity(3, "baz"); var supplementalData = new SupplementalData(); supplementalData.AddOrUpdate(entity1); supplementalData.AddOrUpdate(entity2); supplementalData.AddOrUpdate(entity3); Assert.AreEqual(3, supplementalData.GetAll <BasicTestEntity>().Count); }
public async Task GetResultsDeserializer_CorrectlyDeserializesResultsAsync() { var expectedResult0 = new BasicTestEntity(1, "Larry"); var expectedResult1 = new BasicTestEntity(2, "Mary"); GetContext <BasicTestEntity> context = GetContext <BasicTestEntity>(); await this.pipelineElement.ProcessAsync(context, NullLogger.Instance, default).ConfigureAwait(false); const int expectedCount = 2; Assert.AreEqual(expectedCount, context.Results.Items.Count, $"Expected {expectedCount} results."); Assert.AreEqual(context.Results.Items[0], expectedResult0); Assert.AreEqual(context.Results.Items[1], expectedResult1); }
public void SupplementalData_UpdatesEntityById() { var initialEntityToAdd = new BasicTestEntity(1, "foo"); var updatedEntityToAdd = new BasicTestEntity(1, "bar"); var supplementalData = new SupplementalData(); supplementalData.AddOrUpdate(initialEntityToAdd); supplementalData.AddOrUpdate(updatedEntityToAdd); Assert.AreEqual(1, supplementalData.GetAll <BasicTestEntity>().Count); var entityRetrieved = supplementalData.GetById <BasicTestEntity>(1); Assert.AreSame(updatedEntityToAdd, entityRetrieved); }
public async Task ModificationResultsDeserializer_CorrectlyDeserializesResultsAsync() { var expectedResult1 = new BasicTestEntity(2735, "Lawrence"); var expectedResult2 = new BasicTestEntity(2737, "Muriel"); UpdateContext <BasicTestEntity> context = GetUpdateContext(); await this.pipelineElement.ProcessAsync(context, NullLogger.Instance, default).ConfigureAwait(false); const int expectedCount = 2; Assert.AreEqual(expectedCount, context.Results.Items.Count, $"Expected {expectedCount} success results."); Assert.AreEqual(expectedResult1, context.Results.Items[0], "First success result does not match expected."); Assert.AreEqual(expectedResult2, context.Results.Items[1], "Second success result does not match expected."); }
public async Task ModificationResultsDeserializer_CorrectlyDeserializesResultsWithErrorsAsync() { var expectedErrorStatus1 = new ErrorItem <BasicTestEntity>( 0, new Status { Id = 2739, Code = 409, Message = "Conflict", Extra = "User with name Lawrence already exists." }); var expectedErrorResult1 = new BasicTestEntity(2739, "Lawrence"); var expectedErrorStatus2 = new ErrorItem <BasicTestEntity>( 0, new Status { Id = 2741, Code = 417, Message = "Expectation Failed", Extra = "You forgot something." }); UpdateContext <BasicTestEntity> context = GetUpdateContextWithErrorResults(); await this.pipelineElement.ProcessAsync(context, NullLogger.Instance, default).ConfigureAwait(false); const int expectedCount = 2; Assert.AreEqual(expectedCount, context.Results.ErrorItems.Count, $"Expected {expectedCount} error results."); Assert.IsTrue(expectedErrorStatus1.StatusIsEqualTo(context.Results.ErrorItems[0]), "First error status does not match expected."); Assert.AreEqual(expectedErrorResult1, context.Results.ErrorItems[0].Item, "First error item does not match expected."); Assert.IsTrue(expectedErrorStatus2.StatusIsEqualTo(context.Results.ErrorItems[1]), "Second error status does not match expected."); }