77 lines
2.0 KiB
Go
77 lines
2.0 KiB
Go
|
//go:build integration
|
||
|
|
||
|
package metadata
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func TestGBooksGBIDMetadata(t *testing.T) {
|
||
|
GBID := "ZxwpakTv_MIC"
|
||
|
metadataResp, err := getGBooksMetadata(MetadataInfo{
|
||
|
ID: &GBID,
|
||
|
})
|
||
|
|
||
|
if len(metadataResp) != 1 {
|
||
|
t.Fatalf(`Expected: %v, Got: %v, Error: %v`, 1, len(metadataResp), err)
|
||
|
}
|
||
|
|
||
|
mResult := metadataResp[0]
|
||
|
validateResult(&mResult, t)
|
||
|
}
|
||
|
|
||
|
func TestGBooksISBNQuery(t *testing.T) {
|
||
|
ISBN10 := "1877527815"
|
||
|
metadataResp, err := getGBooksMetadata(MetadataInfo{
|
||
|
ISBN10: &ISBN10,
|
||
|
})
|
||
|
|
||
|
if len(metadataResp) != 1 {
|
||
|
t.Fatalf(`Expected: %v, Got: %v, Error: %v`, 1, len(metadataResp), err)
|
||
|
}
|
||
|
|
||
|
mResult := metadataResp[0]
|
||
|
validateResult(&mResult, t)
|
||
|
}
|
||
|
|
||
|
func TestGBooksTitleQuery(t *testing.T) {
|
||
|
title := "Alice in Wonderland"
|
||
|
metadataResp, err := getGBooksMetadata(MetadataInfo{
|
||
|
Title: &title,
|
||
|
})
|
||
|
|
||
|
if len(metadataResp) == 0 {
|
||
|
t.Fatalf(`Expected: %v, Got: %v, Error: %v`, "> 0", len(metadataResp), err)
|
||
|
}
|
||
|
|
||
|
mResult := metadataResp[0]
|
||
|
validateResult(&mResult, t)
|
||
|
}
|
||
|
|
||
|
func validateResult(m *MetadataInfo, t *testing.T) {
|
||
|
expect := "Lewis Carroll"
|
||
|
if *m.Author != expect {
|
||
|
t.Fatalf(`Expected: %v, Got: %v`, expect, *m.Author)
|
||
|
}
|
||
|
|
||
|
expect = "Alice in Wonderland"
|
||
|
if *m.Title != expect {
|
||
|
t.Fatalf(`Expected: %v, Got: %v`, expect, *m.Title)
|
||
|
}
|
||
|
|
||
|
expect = "Alice in Wonderland (also known as Alice's Adventures in Wonderland), from 1865, is the peculiar and imaginative tale of a girl who falls down a rabbit-hole into a bizarre world of eccentric and unusual creatures. Lewis Carroll's prominent example of the genre of \"literary nonsense\" has endured in popularity with its clever way of playing with logic and a narrative structure that has influence generations of fiction writing."
|
||
|
if *m.Description != expect {
|
||
|
t.Fatalf(`Expected: %v, Got: %v`, expect, *m.Description)
|
||
|
}
|
||
|
|
||
|
expect = "1877527815"
|
||
|
if *m.ISBN10 != expect {
|
||
|
t.Fatalf(`Expected: %v, Got: %v`, expect, *m.ISBN10)
|
||
|
}
|
||
|
|
||
|
expect = "9781877527814"
|
||
|
if *m.ISBN13 != expect {
|
||
|
t.Fatalf(`Expected: %v, Got: %v`, expect, *m.ISBN13)
|
||
|
}
|
||
|
}
|