本文整理匯總了Golang中github.com/rafaeljusto/shelter/dao.ScanDAO.FindByStartedAt方法的典型用法代碼示例。如果您正苦於以下問題:Golang ScanDAO.FindByStartedAt方法的具體用法?Golang ScanDAO.FindByStartedAt怎麽用?Golang ScanDAO.FindByStartedAt使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/rafaeljusto/shelter/dao.ScanDAO
的用法示例。
在下文中一共展示了ScanDAO.FindByStartedAt方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: scanConcurrency
// Check if the revision field avoid data concurrency. Is better to fail than to store the
// wrong state
func scanConcurrency(scanDAO dao.ScanDAO) {
scan := newScan()
// Create scan
if err := scanDAO.Save(&scan); err != nil {
utils.Fatalln("Couldn't save scan in database", err)
}
scan1, err := scanDAO.FindByStartedAt(scan.StartedAt)
if err != nil {
utils.Fatalln("Couldn't find created scan in database", err)
}
scan2, err := scanDAO.FindByStartedAt(scan.StartedAt)
if err != nil {
utils.Fatalln("Couldn't find created scan in database", err)
}
if err := scanDAO.Save(&scan1); err != nil {
utils.Fatalln("Couldn't save scan in database", err)
}
if err := scanDAO.Save(&scan2); err == nil {
utils.Fatalln("Not controlling scan concurrency", nil)
}
// Remove scan
if err := scanDAO.RemoveByStartedAt(scan.StartedAt); err != nil {
utils.Fatalln("Error while trying to remove a scan", err)
}
}
示例2: Before
func (i *Scan) Before(w http.ResponseWriter, r *http.Request) {
date, err := time.Parse(time.RFC3339Nano, strings.ToUpper(i.scanHandler.GetStartedAt()))
if err != nil {
if err := i.scanHandler.MessageResponse("invalid-uri", r.URL.RequestURI()); err == nil {
w.WriteHeader(http.StatusBadRequest)
} else {
log.Println("Error while writing response. Details:", err)
w.WriteHeader(http.StatusInternalServerError)
}
return
}
scanDAO := dao.ScanDAO{
Database: i.scanHandler.GetDatabase(),
}
scan, err := scanDAO.FindByStartedAt(date)
if err != nil {
w.WriteHeader(http.StatusNotFound)
return
}
i.scanHandler.SetScan(scan)
}
示例3: scanStatistics
func scanStatistics(scanDAO dao.ScanDAO) {
scan := newScan()
scan.NameserverStatistics = map[string]uint64{
"OK": 40,
"TIMEOUT": 10,
}
scan.DSStatistics = map[string]uint64{
"OK": 8,
"DNSERR": 2,
}
// Create scan
if err := scanDAO.Save(&scan); err != nil {
utils.Fatalln("Couldn't save scan in database", err)
}
var err error
scan, err = scanDAO.FindByStartedAt(scan.StartedAt)
if err != nil {
utils.Fatalln("Couldn't find created scan in database", err)
}
if len(scan.NameserverStatistics) != 2 ||
scan.NameserverStatistics["OK"] != 40 ||
scan.NameserverStatistics["TIMEOUT"] != 10 {
utils.Fatalln("Not retrieving nameserver statistics correctly", nil)
}
if len(scan.DSStatistics) != 2 ||
scan.DSStatistics["OK"] != 8 ||
scan.DSStatistics["DNSERR"] != 2 {
utils.Fatalln("Not retrieving DS statistics correctly", nil)
}
if err := scanDAO.RemoveAll(); err != nil {
utils.Fatalln("Error removing scans from database", err)
}
}
示例4: scanLifeCycle
// Test all phases of the scan life cycle
func scanLifeCycle(scanDAO dao.ScanDAO) {
scan := newScan()
// Create scan
if err := scanDAO.Save(&scan); err != nil {
utils.Fatalln("Couldn't save scan in database", err)
}
// Search and compare created scan
if scanRetrieved, err := scanDAO.FindByStartedAt(scan.StartedAt); err != nil {
utils.Fatalln("Couldn't find created scan in database", err)
} else if !utils.CompareScan(scan, scanRetrieved) {
utils.Fatalln("Scan created in being persisted wrongly", nil)
}
// Update scan
scan.DomainsScanned = 100
if err := scanDAO.Save(&scan); err != nil {
utils.Fatalln("Couldn't save scan in database", err)
}
// Search and compare updated scan
if scanRetrieved, err := scanDAO.FindByStartedAt(scan.StartedAt); err != nil {
utils.Fatalln("Couldn't find updated scan in database", err)
} else if !utils.CompareScan(scan, scanRetrieved) {
utils.Fatalln("Scan updated in being persisted wrongly", nil)
}
// Remove scan
if err := scanDAO.RemoveByStartedAt(scan.StartedAt); err != nil {
utils.Fatalln("Error while trying to remove a scan", err)
}
// Check removal
if _, err := scanDAO.FindByStartedAt(scan.StartedAt); err == nil {
utils.Fatalln("Scan was not removed from database", nil)
}
}