Implements cahcing of album description and cover

This commit is contained in:
2016-01-17 18:45:36 +01:00
parent 105961a466
commit b58b7e7e6a
3 changed files with 304 additions and 16 deletions

View File

@@ -1,10 +1,43 @@
package main
import . "gopkg.in/check.v1"
import (
"io/ioutil"
"os"
. "gopkg.in/check.v1"
)
type AlbumDescriptionCacheSuite struct{}
var _ = Suite(&AlbumDescriptionCacheSuite{})
func (s *AlbumDescriptionCacheSuite) TestCanFetchCache(c *C) {
data := map[AlbumID]AlbumDescription{
41693: AlbumDescription{
CoverExt: ".jpg",
Description: `Un couple Pennagolans - une race de vampire - s'est substitué depuis longtemps à une famille d'aristocrates japonais. Ils se font régulièrement livrer des proies humaines pour changer de corps, et ainsi survivre. Cependant leur dernier enlèvement n'est pas aussi discret que les précédents... Voilà les puissants vampires traqués par le redoutable Okko et ses deux compagnons !`,
Note: 4.2,
Scenarist: []Link{Link{"Hub", "http://www.bedetheque.com/auteur-9851-BD-Hub.html"}},
Designer: []Link{Link{"Hub", "http://www.bedetheque.com/auteur-9851-BD-Hub.html"}},
Colorist: []Link{
Link{"Hub", "http://www.bedetheque.com/auteur-9851-BD-Hub.html"},
Link{"Pelayo, Stephan", "http://www.bedetheque.com/auteur-9852-BD-Pelayo-Stephan.html"},
},
},
}
tmpdir, err := ioutil.TempDir("", "satbdexplorer-tests-cache")
c.Assert(err, IsNil)
defer os.RemoveAll(tmpdir)
cache, err := NewAlbumDescriptionCache(tmpdir)
c.Assert(err, IsNil)
for ID, expected := range data {
desc, err := cache.GetDescription(ID)
if c.Check(err, IsNil) && c.Check(desc, NotNil) == true {
c.Check(*desc, DeepEquals, expected)
}
}
}