url-builder_test.go 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. DefaultSubscription: "default-sub",
  11. ResourceGroup: "rg",
  12. MetricDefinition: "Microsoft.Compute/virtualMachines",
  13. ResourceName: "rn",
  14. }
  15. url := ub.Build()
  16. So(url, ShouldEqual, "default-sub/resourceGroups/rg/providers/Microsoft.Compute/virtualMachines/rn/providers/microsoft.insights/metrics")
  17. })
  18. Convey("when metric definition is in the short form and a subscription is defined", func() {
  19. ub := &urlBuilder{
  20. DefaultSubscription: "default-sub",
  21. Subscription: "specified-sub",
  22. ResourceGroup: "rg",
  23. MetricDefinition: "Microsoft.Compute/virtualMachines",
  24. ResourceName: "rn",
  25. }
  26. url := ub.Build()
  27. So(url, ShouldEqual, "specified-sub/resourceGroups/rg/providers/Microsoft.Compute/virtualMachines/rn/providers/microsoft.insights/metrics")
  28. })
  29. Convey("when metric definition is Microsoft.Storage/storageAccounts/blobServices", func() {
  30. ub := &urlBuilder{
  31. DefaultSubscription: "default-sub",
  32. ResourceGroup: "rg",
  33. MetricDefinition: "Microsoft.Storage/storageAccounts/blobServices",
  34. ResourceName: "rn1/default",
  35. }
  36. url := ub.Build()
  37. So(url, ShouldEqual, "default-sub/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/rn1/blobServices/default/providers/microsoft.insights/metrics")
  38. })
  39. Convey("when metric definition is Microsoft.Storage/storageAccounts/fileServices", func() {
  40. ub := &urlBuilder{
  41. DefaultSubscription: "default-sub",
  42. ResourceGroup: "rg",
  43. MetricDefinition: "Microsoft.Storage/storageAccounts/fileServices",
  44. ResourceName: "rn1/default",
  45. }
  46. url := ub.Build()
  47. So(url, ShouldEqual, "default-sub/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/rn1/fileServices/default/providers/microsoft.insights/metrics")
  48. })
  49. })
  50. }