public void GetAuditDataWithARecordWithChanges() { SimpleDataWebServiceClient webServiceClient = Create(); InMemoryRecord record = ProductionRecords.NewRecord().MarkAsNew(); record.SetFieldValue("Field 1", 150); SubmitDataRequest submitRequest = new SubmitDataRequest { Credentials = CreateCredentials(), SubmitDataRecords = new[] { record.ConvertToSubmitDataRecord() } }; webServiceClient.SubmitData(submitRequest); Assert.That(DatabaseRecords, Is.Not.Empty); int recordId = DatabaseRecords[0].RecordId; InMemoryRecord updateRecord = new InMemoryRecord(ProductionViews.StandardView()) { Location = record.Location, Module = record.Module, RecordId = recordId }; updateRecord.SetFieldValue("Field 1", 200); SubmitDataRequest update = new SubmitDataRequest { Credentials = CreateCredentials(), SubmitDataRecords = new[] { updateRecord.ConvertToSubmitDataRecord() } }; webServiceClient.SubmitData(update); GetAuditDataRequest request = new GetAuditDataRequest { Credentials = CreateCredentials(), Filter = new GetAuditDataFilter { Location = location, Module = AmplaModules.Production, SetId = Convert.ToString(recordId) } }; GetAuditDataResponse response = webServiceClient.GetAuditData(request); AssertAuditTableContains(response, location, recordId, "Field 1", "150", "200"); }
public void Update() { SimpleDataWebServiceClient webServiceClient = Create(); InMemoryRecord record = ProductionRecords.NewRecord().MarkAsNew(); InMemoryRecord update = record.Clone(); update.Fields.Clear(); update.Location = record.Location; update.Fields.Add(new FieldValue("New Field", "100")); SubmitDataRequest request = new SubmitDataRequest { Credentials = CreateCredentials(), SubmitDataRecords = new[] { record.ConvertToSubmitDataRecord() } }; SubmitDataResponse response = webServiceClient.SubmitData(request); Assert.That(response.DataSubmissionResults, Is.Not.Null); Assert.That(response.DataSubmissionResults.Length, Is.EqualTo(1)); Assert.That(response.DataSubmissionResults[0].RecordAction, Is.EqualTo(RecordAction.Insert)); Assert.That(response.DataSubmissionResults[0].SetId, Is.GreaterThan(100)); Assert.That(DatabaseRecords.Count, Is.EqualTo(1)); Assert.That(DatabaseRecords[0].Find("New Field"), Is.Null); update.RecordId = (int)response.DataSubmissionResults[0].SetId; request = new SubmitDataRequest { Credentials = CreateCredentials(), SubmitDataRecords = new[] { update.ConvertToSubmitDataRecord() } }; response = webServiceClient.SubmitData(request); Assert.That(response.DataSubmissionResults, Is.Not.Null); Assert.That(response.DataSubmissionResults.Length, Is.EqualTo(1)); Assert.That(response.DataSubmissionResults[0].RecordAction, Is.EqualTo(RecordAction.Update)); Assert.That(response.DataSubmissionResults[0].SetId, Is.EqualTo(update.RecordId)); Assert.That(DatabaseRecords.Count, Is.EqualTo(1)); Assert.That(DatabaseRecords[0].Find("New Field"), Is.Not.Null); Assert.That(DatabaseRecords[0].Find("New Field").Value, Is.EqualTo("100")); }
public void CreatedByDefault() { SimpleDataWebServiceClient webServiceClient = Create(); InMemoryRecord record = ProductionRecords.NewRecord().MarkAsNew(); SubmitDataRequest request = new SubmitDataRequest { Credentials = CreateCredentials(), SubmitDataRecords = new[] { record.ConvertToSubmitDataRecord() } }; DateTime before = DateTime.Now.AddSeconds(-10).ToUniversalTime(); DateTime after = before.AddSeconds(+20); SubmitDataResponse response = webServiceClient.SubmitData(request); Assert.That(response, Is.Not.Null); Assert.That(DatabaseRecords.Count, Is.EqualTo(1)); InMemoryRecord inserted = DatabaseRecords[0]; Assert.That(inserted.GetFieldValue("CreatedBy", "null"), Is.EqualTo("User")); Assert.That(inserted.GetFieldValue("CreatedDateTime", DateTime.MinValue), Is.InRange(before, after)); }
public void GetAuditDataWithARecordWithNoChanges() { SimpleDataWebServiceClient webServiceClient = Create(); InMemoryRecord record = ProductionRecords.NewRecord().MarkAsNew(); SubmitDataRequest submitRequest = new SubmitDataRequest { Credentials = CreateCredentials(), SubmitDataRecords = new[] { record.ConvertToSubmitDataRecord() } }; webServiceClient.SubmitData(submitRequest); Assert.That(DatabaseRecords, Is.Not.Empty); int recordId = DatabaseRecords[0].RecordId; GetAuditDataRequest request = new GetAuditDataRequest { Credentials = CreateCredentials(), Filter = new GetAuditDataFilter { Location = location, Module = AmplaModules.Production, SetId = Convert.ToString(recordId) } }; GetAuditDataResponse response = webServiceClient.GetAuditData(request); Assert.That(response.RowSets, Is.Not.Empty); Assert.That(response.RowSets[0].Rows, Is.Empty); }
public void CreatedBySetInRequest() { SimpleDataWebServiceClient webServiceClient = Create(); InMemoryRecord record = ProductionRecords.NewRecord().MarkAsNew(); record.SetFieldValue("CreatedBy", "UnitTests"); record.SetFieldValue("CreatedDateTime", DateTime.Today); SubmitDataRequest request = new SubmitDataRequest { Credentials = CreateCredentials(), SubmitDataRecords = new[] { record.ConvertToSubmitDataRecord() } }; SubmitDataResponse response = webServiceClient.SubmitData(request); Assert.That(response, Is.Not.Null); Assert.That(DatabaseRecords.Count, Is.EqualTo(1)); InMemoryRecord inserted = DatabaseRecords[0]; Assert.That(inserted.GetFieldValue("CreatedBy", "null"), Is.EqualTo("UnitTests")); Assert.That(inserted.GetFieldValue("CreatedDateTime", DateTime.MinValue), Is.EqualTo(DateTime.Today.ToUniversalTime())); }
public void GetDataReturnsLocation() { SimpleDataWebServiceClient webServiceClient = new SimpleDataWebServiceClient( database, configuration, new SimpleSecurityWebServiceClient("User")); InMemoryRecord record = ProductionRecords.NewRecord().MarkAsNew(); SubmitDataRequest submitRequest = new SubmitDataRequest { Credentials = CreateCredentials(), SubmitDataRecords = new[] { record.ConvertToSubmitDataRecord() } }; SubmitDataResponse submitResponse = webServiceClient.SubmitData(submitRequest); Assert.That(submitResponse.DataSubmissionResults, Is.Not.Null); Assert.That(submitResponse.DataSubmissionResults.Length, Is.EqualTo(1)); Assert.That(submitResponse.DataSubmissionResults[0].RecordAction, Is.EqualTo(RecordAction.Insert)); Assert.That(submitResponse.DataSubmissionResults[0].SetId, Is.GreaterThan(100)); string recordId = Convert.ToString(submitResponse.DataSubmissionResults[0].SetId); Assert.That(DatabaseRecords.Count, Is.EqualTo(1)); Assert.That(DatabaseRecords[0].Location, Is.EqualTo(location)); GetDataRequest request = new GetDataRequest { Credentials = CreateCredentials(), Filter = new DataFilter { Location = record.Location, Criteria = new[] { new FilterEntry { Name = "Id", Value = recordId } } }, View = new GetDataView { Context = NavigationContext.Plant, Mode = NavigationMode.Location, Module = AmplaModules.Production }, Metadata = true, OutputOptions = new GetDataOutputOptions { ResolveIdentifiers = false }, }; GetDataResponse response = webServiceClient.GetData(request); AssertResponseContainsValue(response, "Duration", "90"); AssertResponseContainsValue(response, "Location", location); }
public void InsertInvalidLocation() { SimpleDataWebServiceClient webServiceClient = Create(); InMemoryRecord record = ProductionRecords.NewRecord().MarkAsNew(); record.Location = record.Location + ".Invalid"; SubmitDataRequest request = new SubmitDataRequest { Credentials = CreateCredentials(), SubmitDataRecords = new[] { record.ConvertToSubmitDataRecord() } }; Assert.Throws <FaultException>(() => webServiceClient.SubmitData(request)); }
public void Insert() { SimpleDataWebServiceClient webServiceClient = Create(); InMemoryRecord record = ProductionRecords.NewRecord().MarkAsNew(); SubmitDataRequest request = new SubmitDataRequest { Credentials = CreateCredentials(), SubmitDataRecords = new[] { record.ConvertToSubmitDataRecord() } }; SubmitDataResponse response = webServiceClient.SubmitData(request); Assert.That(response.DataSubmissionResults, Is.Not.Null); Assert.That(response.DataSubmissionResults.Length, Is.EqualTo(1)); Assert.That(response.DataSubmissionResults[0].RecordAction, Is.EqualTo(RecordAction.Insert)); Assert.That(response.DataSubmissionResults[0].SetId, Is.GreaterThan(100)); Assert.That(DatabaseRecords.Count, Is.EqualTo(1)); }