public void TestParseX12WithValidationFailure() { // ARRANGE const string sample = "EdiFabric.Tests.Edi.X12_810_00204.txt"; // ACT var message = TestHelper.ParseX12(sample).OfType <M_810>().Single(); var validationResults = EdiValidator.Create("EdiFabric.Xsd").Validate(message); // ASSERT Assert.IsNotNull(validationResults); Assert.IsNotNull(validationResults.ErrorContext); Assert.IsTrue(validationResults.ErrorContext.Errors.Any() || validationResults.ErrorContext.Codes.Any()); }
public void TestParseEdifactWithValidation() { // ARRANGE const string sample = "EdiFabric.Tests.Edi.Edifact_INVOIC_D00A_Valid.txt"; // ACT var message = TestHelper.ParseEdifact(sample).OfType <M_INVOIC>().Single(); var validationResults = EdiValidator.Create("EdiFabric.Xsd").Validate(message); // ASSERT Assert.IsNotNull(validationResults); Assert.IsNotNull(validationResults.ErrorContext); Assert.IsFalse(validationResults.ErrorContext.Errors.Any()); Assert.IsFalse(validationResults.ErrorContext.Codes.Any()); }
public void TestValidationRules() { // ARRANGE const string sample = "EdiFabric.Tests.Xml.X12_810_00204_Validation.xml"; var obj = TestHelper.Deserialize <Rules.Rep.X12002040810.M_810>(TestHelper.Load(sample)); const string expectedResult = "EdiFabric.Tests.Xml.X12_810_00204_ValidationExpected.xml"; var expectedXml = XElement.Load(TestHelper.Load(expectedResult)); // ACT var error = EdiValidator.Create("EdiFabric.Xsd").Validate(obj); // ASSERT Assert.IsNotNull(error); var root = TestHelper.Serialize(error.Flatten().ToList()).Root; Assert.IsNotNull(root); Assert.AreEqual(root.ToString(), expectedXml.ToString()); }
private static int ValidateInstanceFile(Parameters parameters) { string specCertFullPath = parameters.SpecCertName; string specCertFileName = Path.GetFileName(specCertFullPath); string instanceFilePath = parameters.InstanceFileName; string instanceFileName = Path.GetFileName(instanceFilePath); if (File.Exists(specCertFullPath) == false) { ConsoleExtensions.WriteError("{0} does not exist.", specCertFullPath); return(1); } if (Path.GetExtension(specCertFullPath) != ".xlsx") { ConsoleExtensions.WriteError("{0} is not a zip file.", specCertFullPath); return(1); } if (File.Exists(instanceFilePath) == false) { ConsoleExtensions.WriteError("{0} does not exist.", instanceFilePath); return(1); } string logFileName = Path.ChangeExtension(instanceFileName, "log"); ConsoleExtensions.WriteInfo("Log file for this processing: {0}", logFileName); string instanceFileData = File.ReadAllText(instanceFilePath); using (StreamWriter logFile = new StreamWriter(logFileName)) { try { TradingPartnerSpecCertMetadata metadata = new TradingPartnerSpecCertMetadata(); metadata.Initialize(specCertFileName); GCExcelToDocumentPlug excelToDocumentPlug; switch ((SpecCertFileType)metadata.FileType) { case SpecCertFileType.X12: excelToDocumentPlug = new X12GCExcelToDocumentPlug(); break; case SpecCertFileType.Xml: excelToDocumentPlug = new XmlGCExcelToDocumentPlug(); break; case SpecCertFileType.FlatFile: excelToDocumentPlug = new FlatFileGCExcelToDocumentPlug(); break; default: throw new NotSupportedException(string.Format("Spec cert type {0} is not supported", (SpecCertFileType)metadata.FileType)); break; } LogInformation(logFile, string.Format("Generating document plug from spec cert {0}", specCertFileName)); TradingPartnerSpecCertMetadata specCertMetadata = new TradingPartnerSpecCertMetadata(); specCertMetadata.Initialize(specCertFileName); IDocumentPlug documentPlug = null; using (StreamReader stream = new StreamReader(specCertFullPath)) documentPlug = excelToDocumentPlug.GenerateDocumentPlug( stream.BaseStream, specCertMetadata.TradingPartnerName, specCertMetadata.DocumentType, specCertMetadata.Direction, Maarg.Contracts.GCValidate.SpecCertFileType.X12); if (documentPlug == null) { LogError(logFile, "Document plug generation failed"); return(-1); } else { LogInformation(logFile, "Document plug generated successfully"); } LogInformation(logFile, "Validating instance file"); IFatpipeDocument fatpipeDocument; EDIValidationResult result = EdiValidator.ValidateEdi(instanceFileData, instanceFileName, specCertFileName, documentPlug, out fatpipeDocument); LogValidationResult(result, logFile); } catch (Exception ex) { LogError(logFile, string.Format("Error encountered during validating {0} file. Error: {1}", instanceFileName, ex.ToString())); } } return(0); }