/**********************************************************************************/ private bool doRegisterReports(string reportRequestID = null) { //ReportDescription reportDescription = m_resources.ReportDescription; Dictionary <string, ReportWrapper> reports = m_resources.Reports; RegisterReport registerReport; CreatedReport createdReport = null; lock (m_ven) { registerReport = m_ven.registerReport(RandomHex.instance().generateRandomHex(10), reports, reportRequestID); // check for piggy backed report requests if (registerReport.response.oadrReportRequest != null) { // send the createReport callback immediately to allow UI's to update // if there's a one shot or history report request, these reports // need to be registered before processCreatedReport() is called below m_callbacks.processCreateReport(registerReport.response.oadrReportRequest); m_resources.createReport(registerReport.response.oadrReportRequest); // issue a createdReport message using the requestID from the registerReport message createdReport = m_ven.createdReport(registerReport.request.requestID, 200, "OK", m_resources.PendingReports); } } m_callbacks.processRegisterReport(registerReport); // the registerReport response included a piggy-backed reportRequest if (createdReport != null) { m_callbacks.processCreatedReport(createdReport); // the new report might have a start date of NOW; call sendReports to force // the report to be sent immediately m_resources.sendReports(DateTime.Now); } if (registerReport.eiResponseCode != 200) { return(false); } return(true); }
public void N1_0020_TH_VTN_1() { VEN2b ven = new VEN2b(new HttpWebRequestWrapper(false, System.Net.SecurityProtocolType.Tls12), TestProperties.vtnURL, TestProperties.venName, TestProperties.venID, TestProperties.venPassword); // register CreatePartyRegistration createPartyRegistration = ven.createPartyRegistration(RandomHex.instance().generateRandomHex(10), oadrProfileType.Item20b, oadrTransportType.simpleHttp, "", false, false, true); Assert.IsTrue(createPartyRegistration.response != null); Console.Out.WriteLine(createPartyRegistration.responseBody); // POLL OadrPoll oadrPoll = ven.poll(); Assert.IsNotNull(oadrPoll.response); Console.Out.WriteLine(oadrPoll.responseBody); // First request is registerReport Assert.IsTrue(oadrPoll.responseTypeIs(typeof(oadrRegisterReportType))); oadrRegisterReportType registerReportType = oadrPoll.getRegisterReportResponse(); RegisteredReport registeredReport = ven.registeredReport(registerReportType.requestID, "200", "OK"); Assert.IsNotNull(registeredReport.response); Assert.AreEqual(registeredReport.response.eiResponse.responseCode, "200"); // register our own report ReportDescription reportDescription = ReportHelper.generateReportDescription(); RegisterReport registerReport = ven.registerReport(RandomHex.instance().generateRandomHex(10), reportDescription); Assert.IsNotNull(registerReport.response); Assert.AreEqual("200", registerReport.response.eiResponse.responseCode); Assert.AreEqual(registerReport.request.requestID, registerReport.response.eiResponse.requestID); }