From 7ff92746a2511ca2ee8ffe6bbfccbfd4d9597fca Mon Sep 17 00:00:00 2001 From: Joe Topjian Date: Fri, 21 Apr 2017 11:01:46 -0600 Subject: [PATCH] provider/rabbitmq: Add test for binding properties_key (#13797) --- .../rabbitmq/acceptance_env/deploy.sh | 10 ++- .../rabbitmq/resource_binding_test.go | 63 ++++++++++++++++++- 2 files changed, 70 insertions(+), 3 deletions(-) diff --git a/builtin/providers/rabbitmq/acceptance_env/deploy.sh b/builtin/providers/rabbitmq/acceptance_env/deploy.sh index 037750866..9e8c01d0b 100644 --- a/builtin/providers/rabbitmq/acceptance_env/deploy.sh +++ b/builtin/providers/rabbitmq/acceptance_env/deploy.sh @@ -11,10 +11,10 @@ sudo rabbitmq-plugins enable rabbitmq_management sudo wget -O /usr/local/bin/gimme https://raw.githubusercontent.com/travis-ci/gimme/master/gimme sudo chmod +x /usr/local/bin/gimme -gimme 1.6 >> .bashrc +gimme 1.8 >> .bashrc mkdir ~/go -eval "$(/usr/local/bin/gimme 1.6)" +eval "$(/usr/local/bin/gimme 1.8)" echo 'export GOPATH=$HOME/go' >> .bashrc export GOPATH=$HOME/go @@ -24,3 +24,9 @@ source .bashrc go get -u github.com/kardianos/govendor go get github.com/hashicorp/terraform + +cat < ~/rabbitmqrc +export RABBITMQ_ENDPOINT="http://127.0.0.1:15672" +export RABBITMQ_USERNAME="guest" +export RABBITMQ_PASSWORD="guest" +EOF diff --git a/builtin/providers/rabbitmq/resource_binding_test.go b/builtin/providers/rabbitmq/resource_binding_test.go index 8b710f98c..ccd9d646c 100644 --- a/builtin/providers/rabbitmq/resource_binding_test.go +++ b/builtin/providers/rabbitmq/resource_binding_test.go @@ -11,7 +11,7 @@ import ( "github.com/hashicorp/terraform/terraform" ) -func TestAccBinding(t *testing.T) { +func TestAccBinding_basic(t *testing.T) { var bindingInfo rabbithole.BindingInfo resource.Test(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, @@ -28,6 +28,23 @@ func TestAccBinding(t *testing.T) { }) } +func TestAccBinding_propertiesKey(t *testing.T) { + var bindingInfo rabbithole.BindingInfo + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccBindingCheckDestroy(bindingInfo), + Steps: []resource.TestStep{ + resource.TestStep{ + Config: testAccBindingConfig_propertiesKey, + Check: testAccBindingCheck( + "rabbitmq_binding.test", &bindingInfo, + ), + }, + }, + }) +} + func testAccBindingCheck(rn string, bindingInfo *rabbithole.BindingInfo) resource.TestCheckFunc { return func(s *terraform.State) error { rs, ok := s.RootModule().Resources[rn] @@ -119,3 +136,47 @@ resource "rabbitmq_binding" "test" { routing_key = "#" properties_key = "%23" }` + +const testAccBindingConfig_propertiesKey = ` +resource "rabbitmq_vhost" "test" { + name = "test" +} + +resource "rabbitmq_permissions" "guest" { + user = "guest" + vhost = "${rabbitmq_vhost.test.name}" + permissions { + configure = ".*" + write = ".*" + read = ".*" + } +} + +resource "rabbitmq_exchange" "test" { + name = "Test" + vhost = "${rabbitmq_permissions.guest.vhost}" + settings { + type = "topic" + durable = true + auto_delete = false + } +} + +resource "rabbitmq_queue" "test" { + name = "Test.Queue" + vhost = "${rabbitmq_permissions.guest.vhost}" + settings { + durable = true + auto_delete = false + } +} + +resource "rabbitmq_binding" "test" { + source = "${rabbitmq_exchange.test.name}" + vhost = "${rabbitmq_vhost.test.name}" + destination = "${rabbitmq_queue.test.name}" + destination_type = "queue" + routing_key = "ANYTHING.#" + properties_key = "ANYTHING.%23" +} +`