public void InsertValidRecordWithRequiredFieldsTest(TestCoreFramework.Enums.ResourceType resourceId, int ownerId, ResourceFields.ValidPhase phase, ResourceFields.ValidDateTime time) { var fieldHandler = new FieldManager(); var fields = fieldHandler.GetFieldGuid(ResourceFields.RequireFields[resourceId], new[] { resourceId }) .Result.Result.ToDictionary(x => $"{char.ToUpper(x.Resource[0]) + x.Resource.Substring(1)}.{x.Alias}", x => (int)UuidUtil.GetId(x.Id)); var recordHandler = new RecordManager(); var request = RecordRequestComposer.ComposeCreateRequest() .Append(resourceId, CreateResourceRequiredFieldData(fields, resourceId, ownerId, phase, time)) .Result; var response = recordHandler.WriteRecords(request); PrAssert.That(response, PrIs.SuccessfulResponse()); PrAssert.That(response.Result, PrIs.Not.Null); PrAssert.That(response.Result.Ids[0][0], PrIs.Not.Null); cleaner.Delete(resourceId.ToPrivateApiResource(), response.Result.Ids[0][0].ToString()); }
private static void WriteAndVerify(Enums.ResourceType resourceType, List <XmlResource> resourceList, BulkWriteInputType firstItemType, BulkWriteInputType secondItemType, HrbcRecordDelete cleaner) { //Write data List <WriteResultItem> result = ResourceHelper.WriteResources(resourceType, resourceList, null); //In case a new resource is created, We add it to the cleaner if (result != null && result.Count > 0) { if (firstItemType != BulkWriteInputType.UpdatedItem) { cleaner.Delete(resourceType, result[0].Id); } if (secondItemType != BulkWriteInputType.UpdatedItem) { cleaner.Delete(resourceType, result[1].Id); } } //Verify result Assert.That(result, Is.Not.Null, "Create records operation failed. Response is null or cannot be parsed."); Assert.That(result.Count, Is.EqualTo(resourceList.Count), "Create records operation failed. Number of successfully inserted resources is not same as the number of records we intended to insert"); VerifyBulkWriteResultItem(firstItemType, result[0]); VerifyBulkWriteResultItem(secondItemType, result[1]); }
private List <WriteResultItem> WriteResources(Enums.ResourceType resourceType, IEnumerable <XmlResource> resources) { Handler handler = PublicApiAdapter.CreateAdapterForDefaultConnection().Write(resources.ToList(), urlParameters: null); List <WriteResultItem> result = XmlHelper.ParseXMLString <List <WriteResultItem> >(handler.RawContent); if (result != null && result.Count > 0) { foreach (var item in result) { if (item.Code == Enums.PublicAPIResultCode.Success) { cleaner.Delete(resourceType, item.Id); } } } return(result); }