url-builder_test.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package azuremonitor
  2. import (
  3. "testing"
  4. . "github.com/smartystreets/goconvey/convey"
  5. )
  6. func TestURLBuilder(t *testing.T) {
  7. Convey("AzureMonitor URL Builder", t, func() {
  8. Convey("when metric definition is in the short form", func() {
  9. ub := &urlBuilder{
  10. ResourceGroup: "rg",
  11. MetricDefinition: "Microsoft.Compute/virtualMachines",
  12. ResourceName: "rn",
  13. }
  14. url := ub.Build()
  15. So(url, ShouldEqual, "resourceGroups/rg/providers/Microsoft.Compute/virtualMachines/rn/providers/microsoft.insights/metrics")
  16. })
  17. Convey("when metric definition is Microsoft.Storage/storageAccounts/blobServices", func() {
  18. ub := &urlBuilder{
  19. ResourceGroup: "rg",
  20. MetricDefinition: "Microsoft.Storage/storageAccounts/blobServices",
  21. ResourceName: "rn1/default",
  22. }
  23. url := ub.Build()
  24. So(url, ShouldEqual, "resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/rn1/blobServices/default/providers/microsoft.insights/metrics")
  25. })
  26. Convey("when metric definition is Microsoft.Storage/storageAccounts/fileServices", func() {
  27. ub := &urlBuilder{
  28. ResourceGroup: "rg",
  29. MetricDefinition: "Microsoft.Storage/storageAccounts/fileServices",
  30. ResourceName: "rn1/default",
  31. }
  32. url := ub.Build()
  33. So(url, ShouldEqual, "resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/rn1/fileServices/default/providers/microsoft.insights/metrics")
  34. })
  35. })
  36. }