package deb import ( "github.com/aptly-dev/aptly/database" "github.com/aptly-dev/aptly/database/goleveldb" "github.com/aptly-dev/aptly/utils" . "gopkg.in/check.v1" ) type ChecksumCollectionSuite struct { collection *ChecksumCollection c utils.ChecksumInfo db database.Storage } var _ = Suite(&ChecksumCollectionSuite{}) func (s *ChecksumCollectionSuite) SetUpTest(c *C) { s.c = utils.ChecksumInfo{ Size: 124, MD5: "da39a3ee5e6b4b0d3255bfef95601890afd80709", SHA1: "da39a3ee5e6b4b0d3255bfef95601890afd80709", SHA256: "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", } s.db, _ = goleveldb.NewOpenDB(c.MkDir()) s.collection = NewChecksumCollection(s.db) } func (s *ChecksumCollectionSuite) TearDownTest(c *C) { _ = s.db.Close() } func (s *ChecksumCollectionSuite) TestFlow(c *C) { // checksum not stored checksum, err := s.collection.Get("some/path") c.Assert(err, IsNil) c.Check(checksum, IsNil) // store checksum err = s.collection.Update("some/path", &s.c) c.Assert(err, IsNil) // load it back checksum, err = s.collection.Get("some/path") c.Assert(err, IsNil) c.Check(*checksum, DeepEquals, s.c) }