summaryrefslogtreecommitdiff
path: root/zoopb-example/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'zoopb-example/main.go')
-rw-r--r--zoopb-example/main.go71
1 files changed, 71 insertions, 0 deletions
diff --git a/zoopb-example/main.go b/zoopb-example/main.go
new file mode 100644
index 0000000..c7d6144
--- /dev/null
+++ b/zoopb-example/main.go
@@ -0,0 +1,71 @@
+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.Next()
+ 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())
+}