91 lines
1.7 KiB
Go
91 lines
1.7 KiB
Go
package copart
|
|
|
|
import (
|
|
"encoding/json"
|
|
"local/sandbox/selenium/copart/copart/auction"
|
|
"local/sandbox/selenium/copart/copart/browser"
|
|
"local/sandbox/selenium/copart/copart/config"
|
|
"log"
|
|
"os"
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func TestSelenium(t *testing.T) {
|
|
s := StartServer()
|
|
defer s.Close()
|
|
log.Printf("started faux auctions on %s", s.Addr)
|
|
|
|
b, err := browser.New()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
log.Println("made browser", s.Addr)
|
|
|
|
if err := b.Get(s.Addr); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
log.Printf("navigated to %s", s.Addr)
|
|
|
|
c := auction.NewCar()
|
|
if err := c.Parse(b.Driver); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
log.Printf("parsed car %s", c.String())
|
|
log.Println(c.Details)
|
|
}
|
|
|
|
func TestReal(t *testing.T) {
|
|
os.Args = []string{
|
|
"a",
|
|
"-addr",
|
|
"./out2.db",
|
|
"-db",
|
|
"map",
|
|
}
|
|
|
|
if err := config.New(); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
log.Println("Creating today...")
|
|
today, err := auction.NewToday()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
log.Println("Starting today...")
|
|
if err := today.Start(); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
for {
|
|
log.Println("Blocking empty list...")
|
|
time.Sleep(time.Second)
|
|
var list []string
|
|
if b, err := config.Values().DB.Get("LIST"); err != nil {
|
|
t.Fatal(err)
|
|
} else if err := json.Unmarshal(b, &list); err != nil {
|
|
t.Fatal(err)
|
|
} else if len(list) < 2 {
|
|
continue
|
|
} else {
|
|
log.Println("Dumping from list...")
|
|
for _, id := range list {
|
|
c := auction.NewCar()
|
|
if b, err := config.Values().DB.Get(id); err != nil {
|
|
t.Fatal(err)
|
|
} else if err := c.Decode(b); err != nil {
|
|
t.Fatal(err)
|
|
} else {
|
|
log.Println(c.String())
|
|
}
|
|
}
|
|
break
|
|
}
|
|
}
|
|
|
|
if err := today.Stop(); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
}
|