@@ -13,7 +13,7 @@ import (
1313)
1414
1515var _ = Describe ("version-checker" , func () {
16- BeforeEach (func () {
16+ JustBeforeEach (func () {
1717 cmd := exec .Command ("kubectl" , "apply" , "-f" , "./manifests/prom2json.yaml" )
1818 cmd .Stdout = GinkgoWriter
1919 cmd .Stderr = GinkgoWriter
@@ -36,82 +36,83 @@ var _ = Describe("version-checker", func() {
3636 cmd .Stdout = GinkgoWriter
3737 cmd .Stderr = GinkgoWriter
3838 Expect (cmd .Run ()).NotTo (HaveOccurred ())
39+
3940 })
4041 AfterEach (func () {
4142 cmd := exec .Command ("kubectl" , "delete" , "-f" , "./manifests/image-from-reg.yaml" )
4243 cmd .Stdout = GinkgoWriter
4344 cmd .Stderr = GinkgoWriter
4445 Expect (cmd .Run ()).NotTo (HaveOccurred ())
4546 })
46- })
4747
48- It ("it should get the current version" , func () {
49- buf := new (bytes.Buffer )
50- cmd := exec .Command ("kubectl" , "logs" , "-ljob-name=prom2json" )
51- cmd .Stdout = buf
52- cmd .Stderr = GinkgoWriter
53- Expect (cmd .Run ()).NotTo (HaveOccurred ())
48+ It ("it should get the current version" , func () {
49+ buf := new (bytes.Buffer )
50+ cmd := exec .Command ("kubectl" , "logs" , "-ljob-name=prom2json" )
51+ cmd .Stdout = buf
52+ cmd .Stderr = GinkgoWriter
53+ Expect (cmd .Run ()).NotTo (HaveOccurred ())
5454
55- //k logs -ljob-name=prom2json | jq '.[]|select(.name=="version_checker_is_latest_version")| .metrics[] | select(.labels.image=="docker-registry.registry.svc.cluster.local:5000/my-app") | .labels.current_version'
56- //k logs -ljob-name=prom2json | jq '.[]|select(.name=="version_checker_is_latest_version")| .metrics[] | select(.labels.image=="docker-registry.registry.svc.cluster.local:5000/my-app") | .labels.latest_version'
57- //k logs -ljob-name=prom2json | jq '.[]|select(.name=="version_checker_is_latest_version")| .metrics[] | select(.labels.image=="docker-registry.registry.svc.cluster.local:5000/my-app") | .value'
58- query , err := gojq .Parse (".[]|select(.name==\" version_checker_is_latest_version\" )| .metrics[] | select(.labels.image==\" docker-registry.registry.svc.cluster.local:5000/my-app\" ) | .labels.current_version" )
59- if err != nil {
60- log .Fatalln (err )
61- }
62- var result []interface {}
63- err = json .Unmarshal (buf .Bytes (), & result )
64- if err != nil {
65- log .Fatalln (err )
66- }
67- iter := query .Run (result )
68- for {
69- v , ok := iter .Next ()
70- if ! ok {
71- break
55+ //k logs -ljob-name=prom2json | jq '.[]|select(.name=="version_checker_is_latest_version")| .metrics[] | select(.labels.image=="docker-registry.registry.svc.cluster.local:5000/my-app") | .labels.current_version'
56+ //k logs -ljob-name=prom2json | jq '.[]|select(.name=="version_checker_is_latest_version")| .metrics[] | select(.labels.image=="docker-registry.registry.svc.cluster.local:5000/my-app") | .labels.latest_version'
57+ //k logs -ljob-name=prom2json | jq '.[]|select(.name=="version_checker_is_latest_version")| .metrics[] | select(.labels.image=="docker-registry.registry.svc.cluster.local:5000/my-app") | .value'
58+ query , err := gojq .Parse (".[]|select(.name==\" version_checker_is_latest_version\" )| .metrics[] | select(.labels.image==\" docker-registry.registry.svc.cluster.local:5000/my-app\" ) | .labels.current_version" )
59+ if err != nil {
60+ log .Fatalln (err )
61+ }
62+ var result []interface {}
63+ err = json .Unmarshal (buf .Bytes (), & result )
64+ if err != nil {
65+ log .Fatalln (err )
7266 }
73- if err , ok := v .(error ); ok {
74- if err , ok := err .(* gojq.HaltError ); ok && err .Value () == nil {
67+ iter := query .Run (result )
68+ for {
69+ v , ok := iter .Next ()
70+ if ! ok {
7571 break
7672 }
77- log .Fatalln (err )
73+ if err , ok := v .(error ); ok {
74+ if err , ok := err .(* gojq.HaltError ); ok && err .Value () == nil {
75+ break
76+ }
77+ log .Fatalln (err )
78+ }
79+ Expect (v ).To (Equal ("0.0.1" ))
7880 }
79- Expect (v ).To (Equal ("0.0.1" ))
80- }
81- })
81+ })
8282
83- It ("it should find a newer version" , func () {
84- buf := new (bytes.Buffer )
85- cmd := exec .Command ("kubectl" , "logs" , "-ljob-name=prom2json" )
86- cmd .Stdout = buf
87- cmd .Stderr = GinkgoWriter
88- Expect (cmd .Run ()).NotTo (HaveOccurred ())
83+ It ("it should find a newer version" , func () {
84+ buf := new (bytes.Buffer )
85+ cmd := exec .Command ("kubectl" , "logs" , "-ljob-name=prom2json" )
86+ cmd .Stdout = buf
87+ cmd .Stderr = GinkgoWriter
88+ Expect (cmd .Run ()).NotTo (HaveOccurred ())
8989
90- //k logs -ljob-name=prom2json | jq '.[]|select(.name=="version_checker_is_latest_version")| .metrics[] | select(.labels.image=="docker-registry.registry.svc.cluster.local:5000/my-app") | .labels.current_version'
91- //k logs -ljob-name=prom2json | jq '.[]|select(.name=="version_checker_is_latest_version")| .metrics[] | select(.labels.image=="docker-registry.registry.svc.cluster.local:5000/my-app") | .labels.latest_version'
92- //k logs -ljob-name=prom2json | jq '.[]|select(.name=="version_checker_is_latest_version")| .metrics[] | select(.labels.image=="docker-registry.registry.svc.cluster.local:5000/my-app") | .value'
93- query , err := gojq .Parse (".[]|select(.name==\" version_checker_is_latest_version\" )| .metrics[] | select(.labels.image==\" docker-registry.registry.svc.cluster.local:5000/my-app\" ) | .labels.latest_version" )
94- if err != nil {
95- log .Fatalln (err )
96- }
97- var result []interface {}
98- err = json .Unmarshal (buf .Bytes (), & result )
99- if err != nil {
100- log .Fatalln (err )
101- }
102- iter := query .Run (result )
103- for {
104- v , ok := iter .Next ()
105- if ! ok {
106- break
90+ //k logs -ljob-name=prom2json | jq '.[]|select(.name=="version_checker_is_latest_version")| .metrics[] | select(.labels.image=="docker-registry.registry.svc.cluster.local:5000/my-app") | .labels.current_version'
91+ //k logs -ljob-name=prom2json | jq '.[]|select(.name=="version_checker_is_latest_version")| .metrics[] | select(.labels.image=="docker-registry.registry.svc.cluster.local:5000/my-app") | .labels.latest_version'
92+ //k logs -ljob-name=prom2json | jq '.[]|select(.name=="version_checker_is_latest_version")| .metrics[] | select(.labels.image=="docker-registry.registry.svc.cluster.local:5000/my-app") | .value'
93+ query , err := gojq .Parse (".[]|select(.name==\" version_checker_is_latest_version\" )| .metrics[] | select(.labels.image==\" docker-registry.registry.svc.cluster.local:5000/my-app\" ) | .labels.latest_version" )
94+ if err != nil {
95+ log .Fatalln (err )
10796 }
108- if err , ok := v .(error ); ok {
109- if err , ok := err .(* gojq.HaltError ); ok && err .Value () == nil {
97+ var result []interface {}
98+ err = json .Unmarshal (buf .Bytes (), & result )
99+ if err != nil {
100+ log .Fatalln (err )
101+ }
102+ iter := query .Run (result )
103+ for {
104+ v , ok := iter .Next ()
105+ if ! ok {
110106 break
111107 }
112- log .Fatalln (err )
108+ if err , ok := v .(error ); ok {
109+ if err , ok := err .(* gojq.HaltError ); ok && err .Value () == nil {
110+ break
111+ }
112+ log .Fatalln (err )
113+ }
114+ Expect (v ).To (Equal ("0.0.2" ))
113115 }
114- Expect (v ).To (Equal ("0.0.2" ))
115- }
116+ })
116117 })
117118})
0 commit comments