75 lines
1.2 KiB
Go
75 lines
1.2 KiB
Go
|
package reichelt
|
||
|
|
||
|
import (
|
||
|
"image/jpeg"
|
||
|
"log"
|
||
|
"net/url"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
var conn *Connection
|
||
|
|
||
|
func SetupConnection(t *testing.T) {
|
||
|
c, err := NewConnection()
|
||
|
if err != nil {
|
||
|
t.Fatal("create Connection:", err)
|
||
|
}
|
||
|
|
||
|
// look for cookie
|
||
|
url, _ := url.Parse(apiurl)
|
||
|
cookies := c.Jar.Cookies(url)
|
||
|
found := false
|
||
|
for _, k := range cookies {
|
||
|
t.Log("cookie set:", k)
|
||
|
if k.Name == "Reichelt_SID" {
|
||
|
found = true
|
||
|
break
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if !found {
|
||
|
log.Fatal("connection did not get cookie")
|
||
|
}
|
||
|
|
||
|
t.Log("connection created successfully")
|
||
|
conn = c
|
||
|
}
|
||
|
|
||
|
func TestPart(t *testing.T) {
|
||
|
t.Run("createConnection", SetupConnection)
|
||
|
|
||
|
// get part
|
||
|
parts, err := conn.FindPart("1N4001")
|
||
|
if err != nil {
|
||
|
t.Fatal("find part:", err)
|
||
|
}
|
||
|
|
||
|
if len(parts) == 0 {
|
||
|
log.Fatal("not enough parts were retrieved")
|
||
|
}
|
||
|
|
||
|
t.Log(parts)
|
||
|
|
||
|
// get prices
|
||
|
p := conn.GetPrice(parts[0])
|
||
|
if p == 0 {
|
||
|
t.Fatal("get Price")
|
||
|
}
|
||
|
|
||
|
t.Log(parts[0], ":", p)
|
||
|
|
||
|
// get image for part
|
||
|
imgReader, err := conn.GetImage(parts[0], 1000, 1000)
|
||
|
if err != nil {
|
||
|
t.Fatal("get product image:", err)
|
||
|
}
|
||
|
defer imgReader.Close()
|
||
|
img, err := jpeg.Decode(imgReader)
|
||
|
|
||
|
if err != nil {
|
||
|
t.Fatal("jpg decode:", err)
|
||
|
}
|
||
|
|
||
|
t.Log("image size:", img.Bounds())
|
||
|
}
|