func TestReadTerm(t *testing.T) { readTerm := new(data.Term) testRead(t, "/taxonomy/"+term.Term, readTerm) readTerm.UpdateTime = term.UpdateTime structJSONCompare(t, term, readTerm) }
func TestSelectTerm(t *testing.T) { selectedTerm := new(data.Term) selectedTerm.Term = term.Term t.Log(selectedTerm.Term) err := Select(selectedTerm) if err != nil { t.Error(err) } t.Log(term.UpdateTime.UTC()) t.Log(selectedTerm.UpdateTime.UTC()) selectedTerm.UpdateTime = term.UpdateTime structJSONCompare(t, term, selectedTerm) }
func scanTerm(term *data.Term, rows *sql.Rows) error { var updateTimeString string cols, err := rows.Columns() if err != nil { return err } if len(cols) < 5 { err = rows.Scan( &term.Term, &term.Automated, &term.Author, &updateTimeString, ) } else { err = rows.Scan( &term.Term, &term.Automated, &term.Author, &updateTimeString, &term.Count, ) } if err != nil { return err } // TODO: this is a hacky fix for null times if updateTimeString == "0000-00-00 00:00:00" { updateTimeString = "0001-01-01 00:00:00" } updateTime, err := time.Parse("2006-01-02 15:04:05", updateTimeString) // this assumes UTC as timezone if err != nil { log.Println("Term scanner failed to parse time.") return err } term.UpdateTime = updateTime return nil }