terraform-provider-google/google/resource_monitoring_notification_channel_test.go
The Magician 4cae2edbc5 Add custom flatten for monitoring channel labels (#2879)
Signed-off-by: Modular Magician <magic-modules@google.com>
2019-01-16 15:48:55 -08:00

71 lines
1.8 KiB
Go

package google
import (
"fmt"
"testing"
"github.com/hashicorp/terraform/helper/resource"
)
func TestMonitoringNotificationChannel_labelsObfuscated(t *testing.T) {
testCases := map[string]struct {
serverV string
expected bool
}{
"": {"", false},
"foo": {"foo", false},
"value": {"diffValue", false},
"charcnt8": {"****diff", false},
"foobar": {"***bar", true},
"SECRET": {"**CRET", true},
}
for stateV, testCase := range testCases {
result := isMonitoringNotificationChannelLabelsObfuscated(testCase.serverV, stateV)
if result != testCase.expected {
t.Errorf("expected state value %q and server value %q to return obfuscated=%t, got %t", stateV, testCase.serverV, testCase.expected, result)
}
}
}
func TestAccMonitoringNotificationChannel_update(t *testing.T) {
t.Parallel()
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: testAccProviders,
CheckDestroy: testAccCheckMonitoringNotificationChannelDestroy,
Steps: []resource.TestStep{
{
Config: testAccMonitoringNotificationChannel_update("email", `email_address = "fake_email@blahblah.com"`),
},
{
ResourceName: "google_monitoring_notification_channel.update",
ImportState: true,
ImportStateVerify: true,
},
{
Config: testAccMonitoringNotificationChannel_update("sms", `number = "+15555379009"`),
},
{
ResourceName: "google_monitoring_notification_channel.update",
ImportState: true,
ImportStateVerify: true,
},
},
})
}
func testAccMonitoringNotificationChannel_update(channel, labels string) string {
return fmt.Sprintf(`
resource "google_monitoring_notification_channel" "update" {
display_name = "IntTest Notification Channel"
type = "%s"
labels = {
%s
}
}
`, channel, labels,
)
}