mirror of
https://github.com/aptly-dev/aptly.git
synced 2026-06-02 04:50:49 +00:00
+8
-6
@@ -53,11 +53,7 @@ func NewSnapshotFromRepository(name string, repo *RemoteRepo) (*Snapshot, error)
|
||||
|
||||
// NewSnapshotFromLocalRepo creates snapshot from current state of local repository
|
||||
func NewSnapshotFromLocalRepo(name string, repo *LocalRepo) (*Snapshot, error) {
|
||||
if repo.packageRefs == nil {
|
||||
return nil, errors.New("local repo doesn't have packages")
|
||||
}
|
||||
|
||||
return &Snapshot{
|
||||
snap := &Snapshot{
|
||||
UUID: uuid.New(),
|
||||
Name: name,
|
||||
CreatedAt: time.Now(),
|
||||
@@ -65,7 +61,13 @@ func NewSnapshotFromLocalRepo(name string, repo *LocalRepo) (*Snapshot, error) {
|
||||
SourceIDs: []string{repo.UUID},
|
||||
Description: fmt.Sprintf("Snapshot from local repo %s", repo),
|
||||
packageRefs: repo.packageRefs,
|
||||
}, nil
|
||||
}
|
||||
|
||||
if snap.packageRefs == nil {
|
||||
snap.packageRefs = NewPackageRefList()
|
||||
}
|
||||
|
||||
return snap, nil
|
||||
}
|
||||
|
||||
// NewSnapshotFromPackageList creates snapshot from PackageList
|
||||
|
||||
@@ -37,11 +37,17 @@ func (s *SnapshotSuite) TestNewSnapshotFromRepository(c *C) {
|
||||
func (s *SnapshotSuite) TestNewSnapshotFromLocalRepo(c *C) {
|
||||
localRepo := NewLocalRepo("lala", "hoorah!")
|
||||
|
||||
_, err := NewSnapshotFromLocalRepo("snap2", localRepo)
|
||||
c.Check(err, ErrorMatches, "local repo doesn't have packages")
|
||||
snapshot, err := NewSnapshotFromLocalRepo("snap2", localRepo)
|
||||
c.Assert(err, IsNil)
|
||||
c.Check(snapshot.Name, Equals, "snap2")
|
||||
c.Check(snapshot.NumPackages(), Equals, 0)
|
||||
c.Check(snapshot.RefList().Len(), Equals, 0)
|
||||
c.Check(snapshot.SourceKind, Equals, "local")
|
||||
c.Check(snapshot.SourceIDs, DeepEquals, []string{localRepo.UUID})
|
||||
|
||||
localRepo.UpdateRefList(s.reflist)
|
||||
snapshot, _ := NewSnapshotFromLocalRepo("snap1", localRepo)
|
||||
snapshot, err = NewSnapshotFromLocalRepo("snap1", localRepo)
|
||||
c.Assert(err, IsNil)
|
||||
c.Check(snapshot.Name, Equals, "snap1")
|
||||
c.Check(snapshot.NumPackages(), Equals, 3)
|
||||
c.Check(snapshot.RefList().Len(), Equals, 3)
|
||||
|
||||
Reference in New Issue
Block a user