72 lines
1.4 KiB
Go
72 lines
1.4 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"go.wit.com/lib/protobuf/zoopb"
|
|
"go.wit.com/log"
|
|
)
|
|
|
|
func main() {
|
|
m := testMachine()
|
|
testPackages(m)
|
|
|
|
loop := m.Packages.SortByName()
|
|
for loop.Scan() {
|
|
p := loop.Package()
|
|
log.Info("installed package:", p.Name, p.Version, p.PkgName)
|
|
}
|
|
|
|
if m.IsInstalled("bash") {
|
|
log.Info("bash installed check worked")
|
|
} else {
|
|
log.Info("bash installed check failed")
|
|
panic("bash")
|
|
}
|
|
|
|
if m.IsInstalled("foo") {
|
|
log.Info("foo not-installed check failed")
|
|
panic("foo")
|
|
} else {
|
|
log.Info("foo not-installed check worked")
|
|
}
|
|
}
|
|
|
|
func testMachine() *zoopb.Machine {
|
|
var m *zoopb.Machine
|
|
m = new(zoopb.Machine)
|
|
m.Hostname = "zookeeper"
|
|
return m
|
|
}
|
|
|
|
func testPackages(m *zoopb.Machine) {
|
|
m.Packages = new(zoopb.Packages)
|
|
// r = zoopb.LoadJSON("go.wit.com/lib/protobuf/zoopb")
|
|
|
|
new1 := new(zoopb.Package)
|
|
new1.Name = "bash"
|
|
new1.Version = "5.2.21"
|
|
if m.Packages.Append(new1) {
|
|
log.Info("added", new1.Name, "ok")
|
|
} else {
|
|
log.Info("added", new1.Name, "failed")
|
|
}
|
|
|
|
new2 := new(zoopb.Package)
|
|
new2.Name = "go-clone"
|
|
new2.Version = "0.6.8" // good version of the macos
|
|
if m.Packages.Append(new2) {
|
|
log.Info("added", new2.Name, "ok")
|
|
} else {
|
|
log.Info("added", new2.Name, "failed")
|
|
}
|
|
|
|
if m.Packages.Append(new2) {
|
|
log.Info("added", new2.Name, "ok (this is bad)")
|
|
} else {
|
|
log.Info("added", new2.Name, "failed (but ok)")
|
|
}
|
|
|
|
fmt.Println("package count = ", m.Packages.Len())
|
|
}
|