mirror of
https://github.com/karust/openserp.git
synced 2026-08-16 05:16:02 +08:00
68 lines
2.3 KiB
Go
68 lines
2.3 KiB
Go
package google
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/karust/openserp/core"
|
|
)
|
|
|
|
var browser *core.Browser
|
|
|
|
func init() {
|
|
opts := core.BrowserOpts{IsHeadless: false, IsLeakless: false, Timeout: time.Second * 5, LeavePageOpen: true}
|
|
browser, _ = core.NewBrowser(opts)
|
|
}
|
|
|
|
func TestSearchGoogle(t *testing.T) {
|
|
gogl := New(*browser, core.SearchEngineOptions{})
|
|
|
|
query := core.Query{Text: "HEY", Limit: 10}
|
|
results, err := gogl.Search(query)
|
|
if err != nil {
|
|
t.Fatalf("Cannot [SearchGoogle]: %s", err)
|
|
}
|
|
|
|
if len(results) == 0 {
|
|
t.Fatalf("[SearchGoogle] returned empty result")
|
|
}
|
|
}
|
|
|
|
func TestParseSourceImageURL(t *testing.T) {
|
|
//href1 := `/imgres?imgurl=https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2F2%2F26%2FMarmota_marmota_Alpes2.jpg&tbnid=Be_RycOe8xzlpM&vet=12ahUKEwjkh6WzwIeAAxWV_yoKHRzHC9wQMygAegUIARD0AQ..i&imgrefurl=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FAlpine_marmot&docid=7miWbc2QiSw9uM&w=801&h=599&q=alpine%20marmot&ved=2ahUKEwjkh6WzwIeAAxWV_yoKHRzHC9wQMygAegUIARD0AQ`
|
|
href2 := `/imgres?imgurl=https%3A%2F%2Fstatic.wikia.nocookie.net%2Fnaturerules1%2Fimages%2Ff%2Ff2%2F13d79d934ccf6f7919777fcb6dbb6e6c.jpg%2Frevision%2Flatest%3Fcb%3D20210218225522&tbnid=JxC8NUyBjdNbdM&vet=12ahUKEwiHrJnN1YeAAxXvEBAIHfRADAAQMygCegUIARD4AQ..i&imgrefurl=https%3A%2F%2Fnaturerules1.fandom.com%2Fwiki%2FAlpine_Marmot&docid=XXYeDjL67badNM&w=1600&h=1200&q=alpine%20marmot&ved=2ahUKEwiHrJnN1YeAAxXvEBAIHfRADAAQMygCegUIARD4AQ`
|
|
want := SourceImage{
|
|
OriginalURL: "https://static.wikia.nocookie.net/naturerules1/images/f/f2/13d79d934ccf6f7919777fcb6dbb6e6c.jpg/revision/latest?cb=20210218225522",
|
|
PageURL: "https://naturerules1.fandom.com/wiki/Alpine_Marmot",
|
|
Width: "1600",
|
|
Height: "1200",
|
|
}
|
|
|
|
got, err := parseSourceImageURL(href2)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if want != got {
|
|
t.Fatalf("Want: %v, Got: %v", want, got)
|
|
}
|
|
}
|
|
|
|
func TestImageSearch(t *testing.T) {
|
|
gogl := New(*browser, core.SearchEngineOptions{})
|
|
query := core.Query{Text: "Ferrari Testarossa", Limit: 77}
|
|
results, err := gogl.SearchImage(query)
|
|
|
|
if err != nil {
|
|
t.Fatalf("Cannot search images: %s", err)
|
|
}
|
|
|
|
if len(results) < 77 {
|
|
t.Fatalf("Returned not full result")
|
|
}
|
|
|
|
if results[0].URL == "" {
|
|
t.Fatalf("First result doesn't contain URL, %v+", results[0])
|
|
}
|
|
}
|