Skip to content

Commit 45275f6

Browse files
committed
Adjust topic-permissions related specs
topic-permissions do not exist by default for a user, so the suite has been adjusted accordingly This also resulted in the addition of a new method on client.rb for deletions
1 parent cc2c261 commit 45275f6

File tree

2 files changed

+39
-23
lines changed

2 files changed

+39
-23
lines changed

lib/rabbitmq/http/client.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,10 @@ def update_topic_permissions_of(vhost, user, attributes)
323323
nil
324324
end
325325

326+
def delete_topic_permissions_of(vhost, user)
327+
decode_resource(@connection.delete("topic-permissions/#{encode_uri_path_segment(vhost)}/#{encode_uri_path_segment(user)}"))
328+
end
329+
326330
def list_users(query = {})
327331
results = decode_resource_collection(@connection.get("users", query))
328332

spec/integration/api_endpoints_spec.rb

Lines changed: 35 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -971,37 +971,49 @@ def await_event_propagation
971971
# Topic permissions
972972
#
973973

974-
describe "GET /api/topic-permissions" do
975-
it "returns a list of topic permissions" do
976-
p, *r = subject.list_topic_permissions
977-
expect(p.read).to_not be_nil
974+
describe "topic-permissions" do
975+
before :each do
976+
subject.update_topic_permissions_of(
977+
"/",
978+
"guest",
979+
{ exchange: "amq.topic", read: ".*", write: ".*" }
980+
)
981+
end
982+
after :each do
983+
subject.delete_topic_permissions_of("/", "guest")
978984
end
979985

980-
end
986+
describe "GET /api/topic-permissions" do
987+
it "returns a list of topic permissions" do
988+
p, *r = subject.list_topic_permissions
989+
expect(p.read).to_not be_nil
990+
end
991+
end
981992

982-
describe "GET /api/topic-permissions/:vhost/:user" do
983-
it "returns a list of topic permissions of a user in a vhost" do
984-
p, *r = subject.list_topic_permissions_of("/", "guest")
993+
describe "GET /api/topic-permissions/:vhost/:user" do
994+
it "returns a list of topic permissions of a user in a vhost" do
995+
p, *r = subject.list_topic_permissions_of("/", "guest")
985996

986-
expect(p.exchange).to eq("amq.topic")
987-
expect(p.read).to eq(".*")
988-
expect(p.write).to eq(".*")
997+
expect(p.exchange).to eq("amq.topic")
998+
expect(p.read).to eq(".*")
999+
expect(p.write).to eq(".*")
1000+
end
9891001
end
990-
end
9911002

992-
describe "PUT /api/topic-permissions/:vhost/:user" do
993-
it "updates the topic permissions of a user in a vhost" do
994-
subject.update_topic_permissions_of(
995-
"/",
996-
"guest",
997-
{ exchange: "amq.topic", read: ".*", write: ".*" }
998-
)
1003+
describe "PUT /api/topic-permissions/:vhost/:user" do
1004+
it "updates the topic permissions of a user in a vhost" do
1005+
subject.update_topic_permissions_of(
1006+
"/",
1007+
"guest",
1008+
{ exchange: "amq.topic", read: ".*", write: ".foo" }
1009+
)
9991010

1000-
p = subject.list_topic_permissions_of("/", "guest").first
1011+
p = subject.list_topic_permissions_of("/", "guest").first
10011012

1002-
expect(p.exchange).to eq("amq.topic")
1003-
expect(p.read).to eq(".*")
1004-
expect(p.write).to eq(".*")
1013+
expect(p.exchange).to eq("amq.topic")
1014+
expect(p.read).to eq(".*")
1015+
expect(p.write).to eq(".foo")
1016+
end
10051017
end
10061018
end
10071019

0 commit comments

Comments
 (0)