states are explicit

master
Bel LaPointe 2022-01-27 17:27:08 -07:00
parent e19cd7095d
commit 5406250af3
7 changed files with 25 additions and 21 deletions

View File

@ -20,7 +20,7 @@ var authlimiter = rate.NewLimiter(rate.Limit(1.0/60.0), 1)
var limiter = rate.NewLimiter(rate.Limit(1.0/20.0), 1)
type Broker interface {
Search([]config.State) ([]Job, error)
SearchStates([]config.State) ([]Job, error)
}
func do(r *http.Request) (*http.Response, error) {

View File

@ -38,13 +38,13 @@ func (fe FastExact) WithMock() FastExact {
return fe
}
func (fe FastExact) Search(states []config.State) ([]Job, error) {
jobs, err := fe.search(states)
func (fe FastExact) SearchStates(states []config.State) ([]Job, error) {
jobs, err := fe.searchStates(states)
if err == ErrNoAuth {
if err := fe.login(); err != nil {
return nil, err
}
jobs, err = fe.search(states)
jobs, err = fe.searchStates(states)
}
return jobs, err
}
@ -91,7 +91,7 @@ func (fe FastExact) setHeaders(req *http.Request) {
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
}
func (fe FastExact) search(states []config.State) ([]Job, error) {
func (fe FastExact) searchStates(states []config.State) ([]Job, error) {
var jobs []Job
for _, state := range states {
subjobs, err := fe.searchOne(state)

View File

@ -34,7 +34,7 @@ func TestFastExactReal(t *testing.T) {
if err := fe.login(); err != nil {
t.Fatal(err)
}
jobs, err := fe.search(states)
jobs, err := fe.searchStates(states)
if err != nil {
t.Fatal(err)
}
@ -56,14 +56,14 @@ func TestFastExactLogin(t *testing.T) {
}
}
func TestFastExactSearch(t *testing.T) {
func TestFastExactSearchStates(t *testing.T) {
logtr.SetLevel(logtr.SOS)
limiter = rate.NewLimiter(rate.Limit(60.0), 1)
fe := NewFastExact().WithMock()
_ = fe
db := storage.NewMap()
_ = db
if jobs, err := fe.search([]config.State{config.State("NC"), config.State("SC")}); err != nil {
if jobs, err := fe.searchStates([]config.State{config.State("NC"), config.State("SC")}); err != nil {
t.Fatal(err)
} else if len(jobs) != 10 {
t.Fatal(len(jobs))

View File

@ -15,7 +15,7 @@ import (
type NTGVision struct {
searcher interface {
search(states []config.State) (io.ReadCloser, error)
searchStates(states []config.State) (io.ReadCloser, error)
searchJobReadCloser(id int64) (io.ReadCloser, error)
}
}
@ -187,8 +187,8 @@ func (ntg NTGVision) searchJob(id int64) (ntgVisionJobInfo, error) {
return result, err
}
func (ntg NTGVision) Search(states []config.State) ([]Job, error) {
rc, err := ntg.searcher.search(states)
func (ntg NTGVision) SearchStates(states []config.State) ([]Job, error) {
rc, err := ntg.searcher.searchStates(states)
if err != nil {
return nil, err
}
@ -226,20 +226,20 @@ func setNTGToken(token string) {
db.Set(getNTGTokenKey(), []byte(token))
}
func (ntg NTGVision) search(states []config.State) (io.ReadCloser, error) {
func (ntg NTGVision) searchStates(states []config.State) (io.ReadCloser, error) {
if getNTGToken() == "" {
logtr.Debugf("NTG token is empty, refreshing ntg auth")
if err := ntg.refreshAuth(); err != nil {
return nil, err
}
}
rc, err := ntg._search(states)
rc, err := ntg._searchStates(states)
if err == ErrNoAuth {
logtr.Debugf("err no auth on search, refreshing ntg auth")
if err := ntg.refreshAuth(); err != nil {
return nil, err
}
rc, err = ntg._search(states)
rc, err = ntg._searchStates(states)
}
return rc, err
}
@ -285,7 +285,7 @@ func (ntg NTGVision) _refreshAuth() error {
return nil
}
func (ntg NTGVision) _search(states []config.State) (io.ReadCloser, error) {
func (ntg NTGVision) _searchStates(states []config.State) (io.ReadCloser, error) {
request, err := ntg.newRequest(states)
if err != nil {
return nil, err

View File

@ -15,7 +15,7 @@ func NewNTGVisionMock() NTGVisionMock {
return NTGVisionMock{}
}
func (ntgm NTGVisionMock) search(states []config.State) (io.ReadCloser, error) {
func (ntgm NTGVisionMock) searchStates(states []config.State) (io.ReadCloser, error) {
path := path.Join(os.Getenv("GOPATH"), "src", "local", "truckstop", "broker", "testdata", "ntgvision_response.json")
b, err := ioutil.ReadFile(path)
return io.NopCloser(bytes.NewReader(b)), err

View File

@ -121,11 +121,11 @@ func AllZips() []string {
zipm := map[string]struct{}{}
for _, v := range Clients(time.Now().Add(time.Hour * 24 * 365)) {
for _, state := range v.Zips {
statem[state] = struct{}{}
zipm[state] = struct{}{}
}
}
zips := make([]State, 0, len(statem)+1)
for k := range statem {
zips := make([]string, 0, len(zipm)+1)
for k := range zipm {
zips = append(zips, k)
}
return zips

View File

@ -145,7 +145,7 @@ func matrixrecv() error {
}
}
if err := db.Set(key, []byte{'k'}); err != nil {
logtr.Errorf("failed to mark state gathered @%s: %v", key, err)
logtr.Errorf("failed to mark pause gathered @%s: %v", key, err)
}
}
setNewPauses(pauses)
@ -313,6 +313,10 @@ func once() error {
}
func getJobs() ([]broker.Job, error) {
return getJobsStates()
}
func getJobsStates() ([]broker.Job, error) {
states := config.AllStates()
brokers := []broker.Broker{}
if config.Get().Brokers.NTG.Enabled {
@ -326,7 +330,7 @@ func getJobs() ([]broker.Job, error) {
logtr.Debugf("brokers=%+v", brokers)
jobs := []broker.Job{}
for _, broker := range brokers {
somejobs, err := broker.Search(states)
somejobs, err := broker.SearchStates(states)
if err != nil {
return nil, err
}