public void TestPostWithAddAndDeleteByFilter() { // // create new data object by getting an existing one and change its identifier // IList <IDataObject> dataObjects = _dataLayer.Get(_objectType, new DataFilter(), 1, 8); string orgIdentifier = GetIdentifier(dataObjects[0]); string newIdentifier = "559"; SetIdentifier(dataObjects[0], newIdentifier); // post new data object Response response = _dataLayer.Post(dataObjects); Assert.AreEqual(response.Level, StatusLevel.Success); // // delete the new data object with a filter // DataFilter filter = new DataFilter(); filter.Expressions.Add( new Expression() { PropertyName = "display_set_unique_id", RelationalOperator = org.iringtools.library.RelationalOperator.EqualTo, Values = new Values() { newIdentifier } } ); response = _dataLayer.Delete(_objectType, filter); Assert.AreEqual(response.Level, StatusLevel.Success); }
public void TestDataObjects() { int MAX_ITEMS = 25; string result = string.Empty; #region Test dictionary Console.WriteLine("\nTesting get dictionary ..."); DataDictionary dictionary = _dataLayer.GetDictionary(); Assert.Greater(dictionary.dataObjects.Count, 0); result = (dictionary.dataObjects.Count > 0) ? "passed." : "failed."; _logger.Info("Test get dictionary " + result); #endregion #region Test refresh dictionary Console.WriteLine("Testing refresh dictionary ..."); Response response = _dataLayer.RefreshAll(); Assert.AreEqual(response.Level, StatusLevel.Success); result = (dictionary.dataObjects.Count > 0) ? "passed." : "failed."; _logger.Info("Test refresh dictionary " + result); #endregion foreach (Scenario scenario in _scenarios) { Console.WriteLine(string.Format("\nExecuting scenario [{0}] ...", scenario.Name)); string objectType = scenario.ObjectType; string padding = scenario.IdentifierPadding; org.iringtools.test.Properties properties = scenario.Properties; DataFilter filter = (scenario.DataFilter != null) ? Utility.DeserializeDataContract <DataFilter>(scenario.DataFilter) : new DataFilter(); #region Test get count Console.WriteLine("Testing get count ..."); long count = _dataLayer.GetCount(objectType, filter); Assert.Greater(count, 0); result = (count > 0) ? "passed." : "failed."; _logger.Info("Test get count " + result); #endregion if (count > MAX_ITEMS) { count = MAX_ITEMS; } #region Test get page Console.WriteLine("Testing get page ..."); IList <IDataObject> dataObjects = _dataLayer.Get(objectType, filter, (int)count, 0); Assert.Greater(dataObjects.Count, 0); result = (dataObjects.Count > 0) ? "passed." : "failed."; _logger.Info("Test get page " + result); #endregion #region Test get identifiers Console.WriteLine("Testing get identifiers ..."); IList <string> identifiers = _dataLayer.GetIdentifiers(objectType, filter); Assert.Greater(identifiers.Count, 0); result = (identifiers.Count > 0) ? "passed." : "failed."; _logger.Info("Test get identifires " + result); #endregion #region Test get by identifiers Console.WriteLine("Testing get by identifiers ..."); if (identifiers.Count > MAX_ITEMS) { dataObjects = _dataLayer.Get(objectType, (((List <string>)identifiers).GetRange(0, MAX_ITEMS - 1))); } else { dataObjects = _dataLayer.Get(objectType, identifiers); } Assert.Greater(dataObjects.Count, 0); result = (dataObjects.Count > 0) ? "passed." : "failed."; _logger.Info("Test get by identifires " + result); #endregion // // Create a data object to post and delete // IDataObject dataObject = dataObjects[0]; DataObject objDef = dictionary.dataObjects.Find(x => x.objectName.ToLower() == objectType.ToLower()); string keyPropName = objDef.keyProperties[0].keyPropertyName; string keyPropValue = Convert.ToString(dataObject.GetPropertyValue(keyPropName)) + padding; // Set key property dataObject.SetPropertyValue(keyPropName, keyPropValue); // Set configured properties foreach (Property prop in properties) { dataObject.SetPropertyValue(prop.Name, prop.Value); } #region Test post Console.WriteLine("Testing post ..."); response = _dataLayer.Post(new List <IDataObject>() { dataObject }); Assert.AreEqual(response.Level, StatusLevel.Success); result = (response.Level == StatusLevel.Success) ? "passed." : "failed."; _logger.Info("Test post " + result); #endregion #region Test delete by identifiers Console.WriteLine("Testing delete by identifiers ..."); response = _dataLayer.Delete(objectType, new List <string>() { keyPropValue }); Assert.AreEqual(response.Level, StatusLevel.Success); result = (response.Level == StatusLevel.Success) ? "passed." : "failed."; _logger.Info("Test delete by identifiers " + result); #endregion #region Test create Console.WriteLine("Testing create ..."); IDataObject newDataObject = _dataLayer.Create(objectType, null)[0]; Assert.AreNotEqual(newDataObject, null); result = (newDataObject != null) ? "passed." : "failed."; _logger.Info("Test create " + result); #endregion #region Test delete by filter Console.WriteLine("Testing delete by filter ..."); // Prepare data object to post foreach (DataProperty prop in objDef.dataProperties) { newDataObject.SetPropertyValue(prop.propertyName, dataObject.GetPropertyValue(prop.propertyName)); } // Post it response = _dataLayer.Post(new List <IDataObject>() { newDataObject }); Assert.AreEqual(response.Level, StatusLevel.Success); // Prepare filter to delete filter = new DataFilter() { Expressions = new List <Expression>() { new Expression() { PropertyName = keyPropName, RelationalOperator = RelationalOperator.EqualTo, Values = new Values() { keyPropValue } } } }; // Execute delete _dataLayer.Delete(objectType, filter); Assert.AreEqual(response.Level, StatusLevel.Success); result = (response.Level == StatusLevel.Success) ? "passed." : "failed."; _logger.Info("Test delete by filter " + result); #endregion } }