summaryrefslogtreecommitdiff
path: root/zoopb-example
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2024-12-01 19:27:30 -0600
committerJeff Carr <[email protected]>2024-12-01 19:27:30 -0600
commit9d95b189135422a720cb00f8b0ca8546e7fdc9b5 (patch)
tree34299ad83167152bf4681b4264751b5c4f9cdf50 /zoopb-example
Day 1. pull these out from protobuf librariesv0.0.2v0.0.1
Diffstat (limited to 'zoopb-example')
-rw-r--r--zoopb-example/Makefile17
-rw-r--r--zoopb-example/main.go71
2 files changed, 88 insertions, 0 deletions
diff --git a/zoopb-example/Makefile b/zoopb-example/Makefile
new file mode 100644
index 0000000..fe53a86
--- /dev/null
+++ b/zoopb-example/Makefile
@@ -0,0 +1,17 @@
+build:
+ GO111MODULE=off go build
+
+test:
+ ./zoopb-example
+
+goimports:
+ goimports -w *.go
+
+prep:
+ go get -v -t -u
+
+run:
+ go run *.go
+
+clean:
+ -rm -f zoopb-example
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())
+}