func (e *ElasticWReport) Commit(r *models.Report, p []*models.Problem) error {
	r.Update()
	_, err := e.client.Index().Index(e.indexName).Type(TypoReportName).BodyJson(r).Id(e.rid).Do()

	bulk := e.client.Bulk()
	e.PutToBulk(bulk, p)
	_, err = bulk.Do()
	if err != nil {
		r.Error = err.Error()
		_, err = e.client.Index().Index(e.indexName).Type(TypoReportName).BodyJson(r).Id(e.rid).Do()
	}
	return err
}
// The function creates a report as if we have already commited to it at least once and finished it
// (i.e., report.Finished and report.Updated are already set, report has Statistics, etc.)
// This is needed for mock-tests.
func NewReportWithNoProblems() *models.Report {
	report := new(models.Report)
	report.Name = "Report With No Problems"
	Created = time.Date(2015, 11, 01, 14, 55, 13, 0, time.Local)
	report.Created = &Created
	Updated = time.Date(2015, 11, 02, 14, 55, 13, 0, time.Local)
	report.Updated = &Updated
	Finished = time.Date(2015, 11, 02, 21, 00, 00, 0, time.Local)
	report.Finished = &Finished
	report.Error = ""
	report.Problems = EmptyProblemList
	report.Statistics = StatsForReportWithNoProblems
	return report
}
// The function creates a report as if we have already commited to it at least once and finished it
// (i.e., report.Finished and report.Updated are already set, report has Statistics, etc.)
// This is needed for mock-tests.
func NewReportWithSomeProblems() *models.Report {
	report := new(models.Report)
	report.Name = "Report With Some Problems"
	Created = time.Date(2016, time.January, 13, 12, 10, 00, 00, time.UTC)
	report.Created = &Created
	Updated = time.Date(2016, time.January, 12, 12, 10, 00, 00, time.UTC)
	report.Updated = &Updated
	Finished = time.Date(2016, time.January, 12, 18, 00, 00, 00, time.UTC)
	report.Finished = &Finished
	report.Problems = Problems
	report.Error = ""
	report.Statistics = StatsForReportWithSomeProblems
	return report

}
// The function creates a report as if we have already commited to it at least once and finished it
// (i.e., report.Finished and report.Updated are already set, report has Statistics, etc.)
// This is needed for mock-tests.
func NewReportWithError() *models.Report {
	report := new(models.Report)
	report.Name = "Report With Error"
	Created = time.Date(2015, time.October, 05, 10, 00, 45, 00, time.UTC)
	report.Created = &Created
	Updated = time.Date(2015, time.October, 06, 10, 00, 00, 00, time.UTC)
	report.Updated = &Updated
	report.Error = "An error occured while collecting problems -- report is partial!"
	report.Problems = Problems
	report.Statistics = StatsForReportWithError
	return report

}
Exemple #5
0
func (m *MemWriter) Finish(r *models.Report) error {
	r.Finish()
	return nil
}
Exemple #6
0
func (m *MemWriter) Commit(r *models.Report, p []*models.Problem) error {
	r.Update()
	r.Problems = append(r.Problems, p...)
	return nil
}
func (e *ElasticWReport) Finish(r *models.Report) error {
	r.Finish()
	_, err := e.client.Index().Index(e.indexName).Type(TypoReportName).BodyJson(r).Id(e.rid).Do()
	return err
}