From 99621119e8c322ec9d32305241a81b3c175c373e Mon Sep 17 00:00:00 2001 From: Andrey Smirnov Date: Sun, 19 Jan 2014 12:57:04 +0400 Subject: [PATCH] NewSnapshotFromRefList method. --- debian/snapshot.go | 7 ++++++- debian/snapshot_test.go | 10 ++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/debian/snapshot.go b/debian/snapshot.go index 17f06ccd..bc3b4605 100644 --- a/debian/snapshot.go +++ b/debian/snapshot.go @@ -48,6 +48,11 @@ func NewSnapshotFromRepository(name string, repo *RemoteRepo) (*Snapshot, error) // NewSnapshotFromPackageList creates snapshot from PackageList func NewSnapshotFromPackageList(name string, sources []*Snapshot, list *PackageList, description string) *Snapshot { + return NewSnapshotFromRefList(name, sources, NewPackageRefListFromPackageList(list), description) +} + +// NewSnapshotFromRefList creates snapshot from PackageRefList +func NewSnapshotFromRefList(name string, sources []*Snapshot, list *PackageRefList, description string) *Snapshot { sourceUUIDs := make([]string, len(sources)) for i := range sources { sourceUUIDs[i] = sources[i].UUID @@ -60,7 +65,7 @@ func NewSnapshotFromPackageList(name string, sources []*Snapshot, list *PackageL SourceKind: "snapshot", SourceIDs: sourceUUIDs, Description: description, - packageRefs: NewPackageRefListFromPackageList(list), + packageRefs: list, } } diff --git a/debian/snapshot_test.go b/debian/snapshot_test.go index adbb7d0e..26ffffa7 100644 --- a/debian/snapshot_test.go +++ b/debian/snapshot_test.go @@ -42,6 +42,16 @@ func (s *SnapshotSuite) TestNewSnapshotFromPackageList(c *C) { c.Check(snapshot.SourceIDs, DeepEquals, []string{snap.UUID}) } +func (s *SnapshotSuite) TestNewSnapshotFromRefList(c *C) { + snap, _ := NewSnapshotFromRepository("snap1", s.repo) + + snapshot := NewSnapshotFromRefList("snap2", []*Snapshot{snap}, s.reflist, "Merged") + c.Check(snapshot.Name, Equals, "snap2") + c.Check(snapshot.NumPackages(), Equals, 3) + c.Check(snapshot.SourceKind, Equals, "snapshot") + c.Check(snapshot.SourceIDs, DeepEquals, []string{snap.UUID}) +} + func (s *SnapshotSuite) TestKey(c *C) { snapshot, _ := NewSnapshotFromRepository("snap1", s.repo) c.Assert(len(snapshot.Key()), Equals, 37)