mirror of
https://github.com/mudler/luet.git
synced 2025-08-12 04:32:11 +00:00
Drop State from package
Also tests for Clone()
This commit is contained in:
parent
9f3f715324
commit
caa7c788ec
@ -26,7 +26,7 @@ import (
|
|||||||
// FIXME: Currently some of the methods are returning DefaultPackages due to JSON serialization of the package
|
// FIXME: Currently some of the methods are returning DefaultPackages due to JSON serialization of the package
|
||||||
type Package interface {
|
type Package interface {
|
||||||
Encode() (string, error)
|
Encode() (string, error)
|
||||||
SetState(state State) Package
|
|
||||||
BuildFormula() ([]bf.Formula, error)
|
BuildFormula() ([]bf.Formula, error)
|
||||||
IsFlagged(bool) Package
|
IsFlagged(bool) Package
|
||||||
Flagged() bool
|
Flagged() bool
|
||||||
@ -95,26 +95,23 @@ func (p *DefaultPackage) Encode() (string, error) {
|
|||||||
return NewInMemoryDatabase().CreatePackage(p)
|
return NewInMemoryDatabase().CreatePackage(p)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *DefaultPackage) WithState(state State) Package {
|
|
||||||
return p.Clone().SetState(state)
|
|
||||||
}
|
|
||||||
func (p *DefaultPackage) IsFlagged(b bool) Package {
|
func (p *DefaultPackage) IsFlagged(b bool) Package {
|
||||||
p.IsSet = b
|
p.IsSet = b
|
||||||
return p
|
return p
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *DefaultPackage) Flagged() bool {
|
func (p *DefaultPackage) Flagged() bool {
|
||||||
return p.IsSet
|
return p.IsSet
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *DefaultPackage) GetName() string {
|
func (p *DefaultPackage) GetName() string {
|
||||||
return p.Name
|
return p.Name
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *DefaultPackage) GetVersion() string {
|
func (p *DefaultPackage) GetVersion() string {
|
||||||
return p.Version
|
return p.Version
|
||||||
}
|
}
|
||||||
func (p *DefaultPackage) SetState(state State) Package {
|
|
||||||
p.State = state
|
|
||||||
return p
|
|
||||||
}
|
|
||||||
func (p *DefaultPackage) GetRequires() []*DefaultPackage {
|
func (p *DefaultPackage) GetRequires() []*DefaultPackage {
|
||||||
return p.PackageRequires
|
return p.PackageRequires
|
||||||
}
|
}
|
||||||
|
@ -97,4 +97,25 @@ var _ = Describe("Package", func() {
|
|||||||
Expect(f[1].String()).To(Equal("or(not(1c6f6460), not(039f5fc3))"))
|
Expect(f[1].String()).To(Equal("or(not(1c6f6460), not(039f5fc3))"))
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Context("Clone", func() {
|
||||||
|
a1 := NewPackage("A", "1.0", []*DefaultPackage{}, []*DefaultPackage{})
|
||||||
|
a11 := NewPackage("A", "1.1", []*DefaultPackage{}, []*DefaultPackage{})
|
||||||
|
a := NewPackage("A", ">=1.0", []*DefaultPackage{a1}, []*DefaultPackage{a11})
|
||||||
|
|
||||||
|
It("Clones correctly", func() {
|
||||||
|
a2 := a.Clone()
|
||||||
|
Expect(a2.GetVersion()).To(Equal(a.GetVersion()))
|
||||||
|
Expect(a2.GetName()).To(Equal(a.GetName()))
|
||||||
|
Expect(a2.Flagged()).To(Equal(a.Flagged()))
|
||||||
|
Expect(a2.GetFingerPrint()).To(Equal(a.GetFingerPrint()))
|
||||||
|
Expect(len(a2.GetConflicts())).To(Equal(len(a.GetConflicts())))
|
||||||
|
Expect(len(a2.GetRequires())).To(Equal(len(a.GetRequires())))
|
||||||
|
Expect(len(a2.GetRequires())).To(Equal(1))
|
||||||
|
Expect(len(a2.GetConflicts())).To(Equal(1))
|
||||||
|
Expect(a2.GetConflicts()[0].GetName()).To(Equal(a11.GetName()))
|
||||||
|
Expect(a2.GetRequires()[0].GetName()).To(Equal(a1.GetName()))
|
||||||
|
})
|
||||||
|
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
Loading…
Reference in New Issue
Block a user