VictoriaMetrics/lib/promscrape/discovery/ovhcloud/api_test.go
Zhu Jiekun 7bb8853a5c
feature: [vmagent] Add service discovery support for OVH Cloud VPS and dedicated server (#6160)
### Describe Your Changes
related issue:
https://github.com/VictoriaMetrics/VictoriaMetrics/issues/6071

#### Added
- Added service discovery support for OVH Cloud:
    - VPS.
    - Dedicated server.

#### Docs
- `CHANGELOG.md`, `sd_configs.md`, `vmagent.md` are updated.

#### Note
- Useful links: 
    - OVH Cloud VPS API: https://eu.api.ovh.com/console/#/vps~GET
- OVH Cloud Dedicated server API:
https://eu.api.ovh.com/console/#/dedicated/server~GET
    - OVH Cloud SDK: https://github.com/ovh/go-ovh
- Prometheus SD:
https://prometheus.io/docs/prometheus/latest/configuration/configuration/#ovhcloud_sd_config

Tested on OVH Cloud VPS and dedicated server.
<img width="1722" alt="image"
src="https://github.com/VictoriaMetrics/VictoriaMetrics/assets/30280396/d3f0adc8-b0ef-423e-9379-8a9b9b0792ee">

<img width="1724" alt="image"
src="https://github.com/VictoriaMetrics/VictoriaMetrics/assets/30280396/18b5b730-3512-4fc0-8b2c-f2450ac550fd">

---
Signed-off-by: Jiekun <jiekun@victoriametrics.com>
Co-authored-by: hagen1778 <roman@victoriametrics.com>
2024-09-30 14:42:46 +02:00

35 lines
914 B
Go

package ovhcloud
import (
"testing"
"github.com/VictoriaMetrics/VictoriaMetrics/lib/promauth"
)
func Test_newAPIConfig(t *testing.T) {
t.Run("normal case", func(t *testing.T) {
sdc := &SDConfig{
Endpoint: "ovh-ca",
ApplicationKey: "no-op",
ApplicationSecret: &promauth.Secret{S: "no-op"},
ConsumerKey: &promauth.Secret{S: "no-op"},
Service: "vps",
}
if _, err := newAPIConfig(sdc, ""); err != nil {
t.Fatalf("newAPIConfig got error: %v", err)
}
})
t.Run("incorrect endpoint", func(t *testing.T) {
sdc := &SDConfig{
Endpoint: "in-correct-endpoint",
ApplicationKey: "no-op",
ApplicationSecret: &promauth.Secret{S: "no-op"},
ConsumerKey: &promauth.Secret{S: "no-op"},
Service: "vps",
}
if _, err := newAPIConfig(sdc, ""); err == nil {
t.Fatalf("newAPIConfig want error, but error = %v", err)
}
})
}