From b731fd52132445aaa142d95779824819c1e0d9d1 Mon Sep 17 00:00:00 2001 From: Jordan Boutin-Cooper Date: Thu, 2 Aug 2018 12:33:36 -0400 Subject: [PATCH 1/5] added PagedQueueInfo struct and GetQueueWithParameters function --- queues.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/queues.go b/queues.go index aaf0886..b3376d4 100644 --- a/queues.go +++ b/queues.go @@ -97,6 +97,16 @@ type QueueInfo struct { BackingQueueStatus BackingQueueStatus `json:"backing_queue_status"` } +type PagedQueueInfo struct { + Page int `json:"page"` + PageCount int `json:"page_count"` + PageSize int `json:"page_size"` + FilteredCount int `json:"filtered_count"` + ItemCount int `json:"item_count"` + TotalCount int `json:"total_count"` + Items []QueueInfo `json:"items"` +} + type DetailedQueueInfo QueueInfo // @@ -193,6 +203,20 @@ func (c *Client) ListQueuesWithParameters(params url.Values) (rec []QueueInfo, e return rec, nil } +func (c *Client) PagedListQueuesWithParameters(params url.Values) (rec PagedQueueInfo, err error) { + req, err := newGETRequestWithParameters(c, "queues", params) + if err != nil { + return PagedQueueInfo{}, err + } + + if err = executeAndParseRequest(c, req, &rec); err != nil { + return PagedQueueInfo{}, err + } + + return rec, nil + +} + // // GET /api/queues/{vhost} // From d6bc648138300ed0d39ee6b9721f8fc018a0fb4c Mon Sep 17 00:00:00 2001 From: Jordan Boutin-Cooper Date: Thu, 2 Aug 2018 15:36:40 -0400 Subject: [PATCH 2/5] Test for PagedListQueuesWithParameters --- .rabbithole_test.go.swp | Bin 0 -> 16384 bytes rabbithole_test.go | 16 ++++++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) create mode 100644 .rabbithole_test.go.swp diff --git a/.rabbithole_test.go.swp b/.rabbithole_test.go.swp new file mode 100644 index 0000000000000000000000000000000000000000..07ed4888fbc2fc6b772f47918d70d1c7cfb7bb61 GIT binary patch literal 16384 zcmeI2U5p!7700Jd3N|JLTXV3LOf8?FW`Uf z+_A^T4k|n##CY|yXXo6nbMCocXQooV=g2JEU)*cpbCY4baLPG(<>#A?Tecgl z4@q*>&-BdV(WUu?-ABjAZrgYF?L*UkRu@<*)>@5HbEOt>8I@{ctay8==8KB$m!i-q z)jU~`D@8{%O6NrA+Ce30M=7)`6;JN23!m$2x;!I!B#SjMwAx&dTOhZ9vcMK&&-hrG zF1MT8*avT3&h3(0Ah$qnf!qSQ1#%1I7RW7-TOhZ<|B(e`^9JK{(Dz!c^Vjt6HGRK- z*Pk!y`n*R+ge?ZG$>XTpTle?RH^Z!-LzohfO)+c{m%eQH{xUM(9zMcQ%7RW7-TOhYU zZh_naxdn0yDApL*SM7;~fU@40sGY2m){d%z_#4)(wVn1-uUa0=^F( z0Clhr+zM_6Z@$kko&b-6i{J}j1snzz*a5Z!6Kn!66%6Ay;Md@J@D1=J_&T^BM8E|$ zI17$~0=N!r1}|K17~cdJ!2O^N?gjh7KClJ+`MpR7o(2zsb6^JS0G|M_y$7}jFM{uZ z3qXP;um@ZZeudb?qo4v9cm=VHXTTb0flq@wz*cZAcn7hPH^3F}OYm**70?1PxED-< z1K^`zD|j3J^fLG@_#q(wdI((oQz#T(e98)WR9uv{^djjw(e%`uaQR4au`XiYofFcU z;&YyFjf}u}Y4V{-bQ&IpX$d{qQPn7ekWEaou(9eC=UY5%d3?Jvr0jfm{eh)2^Z0&|oD} z2A$?Um%J|@sY;a=r+L*2Jj#MgN_em;dAF-(R%6?@%z#4!v(w={*$z4@vl;)ebQTfp zhApdJ*cg`2bq|Yh%?{nWxb5;V>KGs?L549OT;nv}H}V3d=iM;RT@-QX@F7)ZghMJ#QVggs%GP&CG~iC?&AwKdk?Q$u+4s~%)Ss+X z&$NBcZuA=mPNQ7oD#J$mTsk1%mD6dz8a5)&bOxk$O~<#xUf+aYD@D7GnGDxL#yuxk z^3i^Io@y;hlR zbJxtKOS3Cwq9`e&UwfL2lEK@x$cCE0P%8;dyRq7wD3!*>_ZQ3f8!PP?ubQMSio8k! zl|s#RrsVLs&<@)wTdS^eB`^Dx=nX%*O;aDHJnFBA*}9Xm6Iyr9TUf@N*R(@;ALf#% zl&DnNXpz63FKq-6oX=*}b0PV}C_BR@*&JUxFcd)UD1`Y!t}fsc5z{Dbpyl?2uUoeN$!Vb|>^I+%k`=_ZyYQnaSLMe=Uem zGWB)#TqJ@C6ZVqkSwps)oYD0X+Oh~&awLnAA9NBjO0U6-i$3Q~Yi#VcGTX`2omtQK zy$CBv;Eov7RyJfB$6`Xokc+QlrKI*c#ba2QyNgq#Ci`qf<-zq73Z)V|fz^UlxLo5r zV2b&bCAMw!n8Yduo4kXL2hnkOgO9yA<_CpwXNY};g-lzb7JePS`W3Yg=Rn-xzw38yKg;3O{)ePlA$;5ofJ;;8l3kGRqb=(GxM`eLB}9az9#FPE_Ld~g}8!x>y`=YtQKj;hU?jW z)cv9HohE}?8&kq&8vrbJRAlGofKLMjQuIqhMy^L5C-Gv^@zpE(jbl+VlVbA*VGVgAy<0`ivRM%3q4>#+&l@Tn z=5zzV|4w%M-DSVaZt-J?*X-#8jR#cPK=ePOWctVeccbC8HSG1>NiZanb&4ai*Rmmy zOTro}mxt7wvFO1l@@fHvE0)9(qH*(8Ye98cCR}>Hrx--CM2Lt{rjXuhdr}{4HvRUJ z=p@$aA#m2K+=49;Y6|+(ojT?2>P<+e@%~iWui&Wau?!h`P;j4~LZxYj`7rW!A{#2m zj`)3Ikbyp2i6sm88nfc2i^pp22%?$f@XU)?orgF}Cr!#$mzZEC3`KZcKm6L*Ti%QD zF<&`{U<|`ELUvfhflFhi`;YF1-cgomUN+*a2U};X3ExdyhHx^TL$Uys@O1K@aPS^k_5gK5il>UkLFWY~3=)%m3QKR7S6f7ve!CMv#TCok`58dJR)X MVr53!B%NaX15NgqZU6uP literal 0 HcmV?d00001 diff --git a/rabbithole_test.go b/rabbithole_test.go index 4fb98b2..e86ce60 100644 --- a/rabbithole_test.go +++ b/rabbithole_test.go @@ -528,7 +528,7 @@ var _ = Describe("Rabbithole", func() { }) }) - Context("GET /queues with arguments", func() { + Context("GET /queues paged with arguments", func() { It("returns decoded response", func() { conn := openConnection("/") defer conn.Close() @@ -551,18 +551,22 @@ var _ = Describe("Rabbithole", func() { awaitEventPropagation() params := url.Values{} - params.Add("lengths_age", "1800") - params.Add("lengths_incr", "30") + params.Add("page", "1") - qs, err := rmqc.ListQueuesWithParameters(params) + qs, err := rmqc.PagedListQueuesWithParameters(params) Ω(err).Should(BeNil()) - q := qs[0] + q := qs.Items[0] Ω(q.Name).ShouldNot(Equal("")) Ω(q.Node).ShouldNot(BeNil()) Ω(q.Durable).ShouldNot(BeNil()) Ω(q.Status).ShouldNot(BeNil()) - Ω(q.MessagesDetails.Samples[0]).ShouldNot(BeNil()) + Ω(qs.Page).Should(Equal(1)) + Ω(qs.PageCount).Should(Equal(1)) + Ω(qs.ItemCount).ShouldNot(BeNil()) + Ω(qs.PageSize).Should(Equal(100)) + Ω(qs.TotalCount).ShouldNot(BeNil()) + Ω(qs.FilteredCount).ShouldNot(BeNil()) }) }) From cd26136d09e6e330033ff133656f2e7883325273 Mon Sep 17 00:00:00 2001 From: Jordan Boutin-Cooper Date: Thu, 2 Aug 2018 15:39:04 -0400 Subject: [PATCH 3/5] swap file... --- .rabbithole_test.go.swp | Bin 16384 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .rabbithole_test.go.swp diff --git a/.rabbithole_test.go.swp b/.rabbithole_test.go.swp deleted file mode 100644 index 07ed4888fbc2fc6b772f47918d70d1c7cfb7bb61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 zcmeI2U5p!7700Jd3N|JLTXV3LOf8?FW`Uf z+_A^T4k|n##CY|yXXo6nbMCocXQooV=g2JEU)*cpbCY4baLPG(<>#A?Tecgl z4@q*>&-BdV(WUu?-ABjAZrgYF?L*UkRu@<*)>@5HbEOt>8I@{ctay8==8KB$m!i-q z)jU~`D@8{%O6NrA+Ce30M=7)`6;JN23!m$2x;!I!B#SjMwAx&dTOhZ9vcMK&&-hrG zF1MT8*avT3&h3(0Ah$qnf!qSQ1#%1I7RW7-TOhZ<|B(e`^9JK{(Dz!c^Vjt6HGRK- z*Pk!y`n*R+ge?ZG$>XTpTle?RH^Z!-LzohfO)+c{m%eQH{xUM(9zMcQ%7RW7-TOhYU zZh_naxdn0yDApL*SM7;~fU@40sGY2m){d%z_#4)(wVn1-uUa0=^F( z0Clhr+zM_6Z@$kko&b-6i{J}j1snzz*a5Z!6Kn!66%6Ay;Md@J@D1=J_&T^BM8E|$ zI17$~0=N!r1}|K17~cdJ!2O^N?gjh7KClJ+`MpR7o(2zsb6^JS0G|M_y$7}jFM{uZ z3qXP;um@ZZeudb?qo4v9cm=VHXTTb0flq@wz*cZAcn7hPH^3F}OYm**70?1PxED-< z1K^`zD|j3J^fLG@_#q(wdI((oQz#T(e98)WR9uv{^djjw(e%`uaQR4au`XiYofFcU z;&YyFjf}u}Y4V{-bQ&IpX$d{qQPn7ekWEaou(9eC=UY5%d3?Jvr0jfm{eh)2^Z0&|oD} z2A$?Um%J|@sY;a=r+L*2Jj#MgN_em;dAF-(R%6?@%z#4!v(w={*$z4@vl;)ebQTfp zhApdJ*cg`2bq|Yh%?{nWxb5;V>KGs?L549OT;nv}H}V3d=iM;RT@-QX@F7)ZghMJ#QVggs%GP&CG~iC?&AwKdk?Q$u+4s~%)Ss+X z&$NBcZuA=mPNQ7oD#J$mTsk1%mD6dz8a5)&bOxk$O~<#xUf+aYD@D7GnGDxL#yuxk z^3i^Io@y;hlR zbJxtKOS3Cwq9`e&UwfL2lEK@x$cCE0P%8;dyRq7wD3!*>_ZQ3f8!PP?ubQMSio8k! zl|s#RrsVLs&<@)wTdS^eB`^Dx=nX%*O;aDHJnFBA*}9Xm6Iyr9TUf@N*R(@;ALf#% zl&DnNXpz63FKq-6oX=*}b0PV}C_BR@*&JUxFcd)UD1`Y!t}fsc5z{Dbpyl?2uUoeN$!Vb|>^I+%k`=_ZyYQnaSLMe=Uem zGWB)#TqJ@C6ZVqkSwps)oYD0X+Oh~&awLnAA9NBjO0U6-i$3Q~Yi#VcGTX`2omtQK zy$CBv;Eov7RyJfB$6`Xokc+QlrKI*c#ba2QyNgq#Ci`qf<-zq73Z)V|fz^UlxLo5r zV2b&bCAMw!n8Yduo4kXL2hnkOgO9yA<_CpwXNY};g-lzb7JePS`W3Yg=Rn-xzw38yKg;3O{)ePlA$;5ofJ;;8l3kGRqb=(GxM`eLB}9az9#FPE_Ld~g}8!x>y`=YtQKj;hU?jW z)cv9HohE}?8&kq&8vrbJRAlGofKLMjQuIqhMy^L5C-Gv^@zpE(jbl+VlVbA*VGVgAy<0`ivRM%3q4>#+&l@Tn z=5zzV|4w%M-DSVaZt-J?*X-#8jR#cPK=ePOWctVeccbC8HSG1>NiZanb&4ai*Rmmy zOTro}mxt7wvFO1l@@fHvE0)9(qH*(8Ye98cCR}>Hrx--CM2Lt{rjXuhdr}{4HvRUJ z=p@$aA#m2K+=49;Y6|+(ojT?2>P<+e@%~iWui&Wau?!h`P;j4~LZxYj`7rW!A{#2m zj`)3Ikbyp2i6sm88nfc2i^pp22%?$f@XU)?orgF}Cr!#$mzZEC3`KZcKm6L*Ti%QD zF<&`{U<|`ELUvfhflFhi`;YF1-cgomUN+*a2U};X3ExdyhHx^TL$Uys@O1K@aPS^k_5gK5il>UkLFWY~3=)%m3QKR7S6f7ve!CMv#TCok`58dJR)X MVr53!B%NaX15NgqZU6uP From 9c082142a22caa68c2def7bffd77cc9f43cfb0be Mon Sep 17 00:00:00 2001 From: Jordan Boutin-Cooper Date: Thu, 2 Aug 2018 15:43:47 -0400 Subject: [PATCH 4/5] Accidentally removed original /queues test, returned. --- rabbithole_test.go | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/rabbithole_test.go b/rabbithole_test.go index e86ce60..4b8b091 100644 --- a/rabbithole_test.go +++ b/rabbithole_test.go @@ -527,6 +527,43 @@ var _ = Describe("Rabbithole", func() { Ω(q.Status).ShouldNot(BeNil()) }) }) + Context("GET /queues with arguments", func() { + It("returns decoded response", func() { + conn := openConnection("/") + defer conn.Close() + + ch, err := conn.Channel() + Ω(err).Should(BeNil()) + defer ch.Close() + + _, err = ch.QueueDeclare( + "", // name + false, // durable + false, // auto delete + true, // exclusive + false, + nil) + Ω(err).Should(BeNil()) + + // give internal events a moment to be + // handled + awaitEventPropagation() + + params := url.Values{} + params.Add("lengths_age", "1800") + params.Add("lengths_incr", "30") + + qs, err := rmqc.ListQueuesWithParameters(params) + Ω(err).Should(BeNil()) + + q := qs[0] + Ω(q.Name).ShouldNot(Equal("")) + Ω(q.Node).ShouldNot(BeNil()) + Ω(q.Durable).ShouldNot(BeNil()) + Ω(q.Status).ShouldNot(BeNil()) + Ω(q.MessagesDetails.Samples[0]).ShouldNot(BeNil()) + }) + }) Context("GET /queues paged with arguments", func() { It("returns decoded response", func() { From 183531325dee2c13e7c60bec670b3a4eef8aaa7c Mon Sep 17 00:00:00 2001 From: Jordan Boutin-Cooper Date: Thu, 2 Aug 2018 15:49:24 -0400 Subject: [PATCH 5/5] Added line back in rabbitmq_test.go --- rabbithole_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/rabbithole_test.go b/rabbithole_test.go index 4b8b091..7b8f862 100644 --- a/rabbithole_test.go +++ b/rabbithole_test.go @@ -527,6 +527,7 @@ var _ = Describe("Rabbithole", func() { Ω(q.Status).ShouldNot(BeNil()) }) }) + Context("GET /queues with arguments", func() { It("returns decoded response", func() { conn := openConnection("/")