public UploadAttempt(IntegrityDataset ds, List<Qualifier> qualifiers, ref string payload, DatasetFormat format, Type type) { this._dataset = ds; this._qualifiers = qualifiers; this._fileXml = payload; this._format = format; this._uploadType = type; }
public void PaginationParameters() { IntegrityDataset ds = new IntegrityDataset(); var mockService = new Mock<IIntegrityHttpService>(); Search search = new Search(ds, mockService.Object); Assert.AreEqual("page=1&per_page=500", search.PaginationParams(1)); }
public void SearchWithAuditIdParam() { IntegrityDataset ds = new IntegrityDataset(); var mockService = new Mock<IIntegrityHttpService>(); Search search = new Search(ds, mockService.Object); search.AuditId = 100; string query = "audit_id_gt=100"; Assert.AreEqual(query, search.ToQueryConditions()); }
public void SearchWithManyResults() { IntegrityDataset ds = new IntegrityDataset(); var mockService = new Mock<IIntegrityHttpService>(); Search search = new Search(ds, mockService.Object); string searchConditions = search.ToQueryConditions() + "&"; mockService.Setup(service => service.GetSearchResults(0, searchConditions + search.PaginationParams(1))).Returns("<people><row><name>Billy</name></row></people>"); mockService.Setup(service => service.GetSearchResults(0, searchConditions + search.PaginationParams(2))).Returns("<people><row><name>Tommy</name></row></people>"); mockService.Setup(service => service.GetSearchResults(0, searchConditions + search.PaginationParams(3))).Returns("<people></people>"); Assert.Greater(search.Execute().Length, 1); }
public void SearchWithMultipleConditions() { IntegrityDataset ds = new IntegrityDataset(); ds.m_tableName = "people"; var mockService = new Mock<IIntegrityHttpService>(); Search search = new Search(ds, mockService.Object); search.AddCondition("name", "bob"); search.AddCondition("name", "sally"); string query = "[people][name][exactly][]=bob&"; query += "[people][name][exactly][]=sally&"; query += _audit_id_param; Assert.AreEqual(query, search.ToQueryConditions()); }
public void AddCondition() { IntegrityDataset ds = new IntegrityDataset(); ds.m_tableName = "people"; var mockService = new Mock<IIntegrityHttpService>(); Search search = new Search(ds, mockService.Object); string condition = "[people][name][exactly][]=bob"; string columnName, value; columnName = "name"; value = "bob"; List<string> conditions = new List<string> { condition }; search.AddCondition(columnName, value); Assert.AreEqual(conditions, search.Conditions); }
public void SearchWithMultipleQualifiers() { IntegrityDataset ds = new IntegrityDataset(); ds.m_tableName = "people"; List<Qualifier> qualifiers = new List<Qualifier>(); qualifiers.Add(new Qualifier("name", new string[] { "bob" })); qualifiers.Add(new Qualifier("state", new string[] { "VIC" })); ds.m_qualifiers = qualifiers; var mockService = new Mock<IIntegrityHttpService>(); Search search = new Search(ds, mockService.Object); string query = "upload_qualifiers[0][dataset_attribute_name]=name"; query += "&upload_qualifiers[0][qualifier_values][]=bob"; query += "&upload_qualifiers[1][dataset_attribute_name]=state"; query += "&upload_qualifiers[1][qualifier_values][]=VIC&"; query += _audit_id_param; Assert.AreEqual(query, search.ToQueryConditions()); }
public void SearchWithNoResults() { IntegrityDataset ds = new IntegrityDataset(); var mockService = new Mock<IIntegrityHttpService>(); Search search = new Search(ds, mockService.Object); string searchConditions = search.ToQueryConditions() + "&" + search.PaginationParams(1); mockService.Setup(service => service.GetSearchResults(0, searchConditions)).Returns("<people></people>"); Assert.AreEqual(0, search.Execute().Length); }
private IntegrityDataset buildDataset(XmlNode ds_node) { dynamic ds = new IntegrityDataset(); ds.m_id = int.Parse(ds_node.SelectSingleNode("id").InnerText); ds.m_bulk_allowed = bool.Parse(ds_node.SelectSingleNode("is-bulk-allowed").InnerText); ds.m_incremental_allowed = bool.Parse(ds_node.SelectSingleNode("is-incremental-allowed").InnerText); ds.m_name = ds_node.SelectSingleNode("name").InnerText; ds.m_tableName = ds_node.SelectSingleNode("table-name").InnerText; ds.m_qualifiers = new List<Qualifier>(); foreach (XmlNode node in ds_node.SelectNodes("qualifiers/qualifier")) { ds.m_qualifiers.Add(buildQualifier(node)); } ds.m_dataset_formats = new List<DatasetFormat>(); foreach (XmlNode node in ds_node.SelectNodes("dataset-formats/dataset-format")) { ds.m_dataset_formats.Add(buildDatasetFormat(node)); } return ds; }
public Search(IntegrityDataset dataset, IIntegrityHttpService service) { AuditId = 0; _dataset = dataset; _service = service; }
/// <summary> /// Upload a payload to integrity /// </summary> /// <param name="dataset">Dataset to upload</param> /// <param name="format">Format to use</param> /// <param name="qualifiers">List of qualifiers for the upload</param> /// <param name="payload">File contents to upload</param> /// <param name="type">Type of the upload</param> /// <returns></returns> public UploadAttemptResponse Upload(IntegrityDataset dataset, DatasetFormat format, List<Qualifier> qualifiers, ref string payload, UploadAttempt.Type type) { UploadAttempt upload_attempt = new UploadAttempt(dataset, qualifiers, ref payload, format, type); UploadAttemptResponse created_status = default(UploadAttemptResponse); created_status = _integrity_interface.CreateUpload(ref upload_attempt); if (!created_status.WasSuccess) { return created_status; } UploadAttemptResponse validation_status = _integrity_interface.WaitUntilValidated(upload_attempt.ID); if (!validation_status.WasSuccess) { return validation_status; } UploadAttemptResponse upload_status = _integrity_interface.Upload(upload_attempt.ID); if (!upload_status.WasSuccess) { return upload_status; } return _integrity_interface.WaitUntilUploaded(upload_attempt.ID); }
/// <summary> /// Create a new Search object with the provided qualifiers as parameters /// </summary> /// <param name="datasetName">Name of dataset</param> /// <param name="qualifier_selections">Qualifiers to search against as a dictionary of attribute name to list of qualifier values</param> /// <returns></returns> public Search NewSearch(string datasetName, IDictionary<string, IEnumerable<string>> qualifier_selections) { var config_dataset = _configuration.GetDataset(datasetName); var search_dataset = new IntegrityDataset(); search_dataset.m_id = config_dataset.m_id; search_dataset.m_name = config_dataset.m_name; search_dataset.m_tableName = config_dataset.m_tableName; var qualifiers = new List<Qualifier>(); foreach (var qualifier_selection in qualifier_selections) { qualifiers.Add(new Qualifier(qualifier_selection.Key, qualifier_selection.Value.ToArray())); } search_dataset.m_qualifiers = qualifiers; return new Search(search_dataset, _integrity_service); }
/// <summary> /// Progresses a payload through the whole upload process, using all the qualifiers the user has access to /// </summary> /// <param name="dataset">Dataset to upload to</param> /// <param name="dataset_format">Format of the payload</param> /// <param name="payload">File contents to upload</param> /// <param name="type">Type of upload to perform</param> /// <returns></returns> public UploadAttemptResponse ExhaustiveDatasetUpload(IntegrityDataset dataset, DatasetFormat dataset_format, ref string payload, UploadAttempt.Type type) { return Upload(dataset, dataset_format, _configuration.GetQualifiersForDataset(dataset.m_id), ref payload, type); }